Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 6 217

Раздел: Ассемблер
/ вопрос закрыт /

Приветствую, уважаемые эксперты!
Возникла проблема при написании 64-битной программы в FASM. Дело в том что семестр мы программировали на TASM'е, а тут преподаватель попросил написать программу под 64-разрядную ОС. Я написал код на тасме и перевел его под фасм, но что-то пошло не так... В общем компилятор меня не ругает, но и программа не работает. Может кто подскажет в чем проблема? Прерывания там эти не работает, загружать что-то дополнительно надо, или вообще все с нуля писать? Помогите, кто чем может)))

Приложение:
  1. format PE64 console
  2. entry start
  3.  
  4. section '.data' data readable writeable
  5. buf db 50
  6. len db ?
  7. string rb 50
  8. i db 0
  9. kol dw 0
  10.  
  11. ms1 db 0Dh,0Ah,'Enter directory or press "Enter" to continue: ','$'
  12. ms2 db 0Dh,0Ah,'File not found','$'
  13. ms3 db 0Dh,0Ah,'Number of files found - ','$'
  14. ms4 db 0Dh,0Ah,'Enter mask of file: ','$'
  15.  
  16. section '.code' code readable executable
  17. start:
  18. xor ax,ax
  19. mov ah,09h
  20. lea dx,[ms1]
  21. int 21h
  22. xor dx,dx
  23.  
  24. call GetName
  25.  
  26.  
  27. mov bx,0
  28. lea dx,[string]
  29. int 21h
  30.  
  31.  
  32. int 21h
  33.  
  34. mov cx,50
  35.  
  36.  
  37. mov byte [string+i],0
  38. inc [i]
  39. loop clear
  40. xor bx,bx
  41.  
  42. mov ah,09h
  43. lea dx,[ms4]
  44. int 21h
  45. xor dx,dx
  46.  
  47.  
  48. call GetName
  49.  
  50. mov cx,0
  51. lea dx,[string] ; FileName
  52. int 21h
  53. jc Not_Found
  54. inc [kol]
  55.  
  56.  
  57. mov ah,4fh
  58. lea dx,[string] ;FileName
  59. int 21h
  60. jc Exit
  61. inc [kol]
  62. jmp FindNext
  63.  
  64.  
  65.  
  66. Not_Found:
  67. mov ah,09h
  68. lea dx,[ms2]
  69. int 21h
  70. Exit:
  71.  
  72. mov ah,09h
  73. lea dx,[ms3]
  74. int 21h
  75. call OutPut
  76.  
  77.  
  78. GetName:
  79.  
  80.  
  81. mov ah, 0ah
  82. int 21h
  83.  
  84.  
  85.  
  86.  
  87.  
  88. ret
  89.  
  90. OutPut: xor ax,ax
  91.  
  92. push -1
  93. mov cx,10
  94. l: mov dx,0
  95. div cx
  96. push dx
  97. cmp ax,0
  98. jne l
  99. mov ah,2h
  100. l2: pop dx
  101. cmp dx,-1
  102. je ex
  103. add dl,'0'
  104. int 21h
  105. jmp l2
  106. ex:
  107. ret
  108.  
  109. mov ax,4c00h
  110. int 21h


NeStor Вопрос закрыт (ответы не принимаются, мини-форум закрыт)

Вопрос задал: NeStor (статус: Посетитель)
Вопрос отправлен: 29 июня 2012, 19:29
Состояние вопроса: закрыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 0.

30 июня 2012, 10:59: Вопрос закрыт (решение принял автор вопроса — NeStor): спасибо за помощь))

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:38
Выполнено за 0.02 сек.