|
Вопрос # 6 217/ вопрос закрыт / |
|
Приветствую, уважаемые эксперты!
Возникла проблема при написании 64-битной программы в FASM. Дело в том что семестр мы программировали на TASM'е, а тут преподаватель попросил написать программу под 64-разрядную ОС. Я написал код на тасме и перевел его под фасм, но что-то пошло не так... В общем компилятор меня не ругает, но и программа не работает. Может кто подскажет в чем проблема? Прерывания там эти не работает, загружать что-то дополнительно надо, или вообще все с нуля писать? Помогите, кто чем может)))
Приложение: Переключить в обычный режим- format PE64 console
- entry start
-
- section '.data' data readable writeable
- buf db 50
- len db ?
- string rb 50
- i db 0
- kol dw 0
-
- ms1 db 0Dh,0Ah,'Enter directory or press "Enter" to continue: ','$'
- ms2 db 0Dh,0Ah,'File not found','$'
- ms3 db 0Dh,0Ah,'Number of files found - ','$'
- ms4 db 0Dh,0Ah,'Enter mask of file: ','$'
-
- section '.code' code readable executable
- start:
- xor ax,ax
- mov ah,09h
- lea dx,[ms1]
- int 21h
- xor dx,dx
-
- call GetName
-
-
- mov bx,0
- lea dx,[string]
- int 21h
-
-
- int 21h
-
- mov cx,50
-
-
- mov byte [string+i],0
- inc [i]
- loop clear
- xor bx,bx
-
- mov ah,09h
- lea dx,[ms4]
- int 21h
- xor dx,dx
-
-
- call GetName
-
- mov cx,0
- lea dx,[string] ; FileName
- int 21h
- jc Not_Found
- inc [kol]
-
-
- mov ah,4fh
- lea dx,[string] ;FileName
- int 21h
- jc Exit
- inc [kol]
- jmp FindNext
-
-
-
- Not_Found:
- mov ah,09h
- lea dx,[ms2]
- int 21h
- Exit:
-
- mov ah,09h
- lea dx,[ms3]
- int 21h
- call OutPut
-
-
- GetName:
-
-
- mov ah, 0ah
- int 21h
-
-
-
-
-
- ret
-
- OutPut: xor ax,ax
-
- push -1
- mov cx,10
- l: mov dx,0
- div cx
- push dx
- cmp ax,0
- jne l
- mov ah,2h
- l2: pop dx
- cmp dx,-1
- je ex
- add dl,'0'
- int 21h
- jmp l2
- ex:
- ret
-
- mov ax,4c00h
- int 21h
 |
Вопрос задал: NeStor (статус: Посетитель)
Вопрос отправлен: 29 июня 2012, 19:29
Состояние вопроса: закрыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 0.
30 июня 2012, 10:59: Вопрос закрыт (решение принял автор вопроса — NeStor): спасибо за помощь))
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|