|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Дек 25, 2002 15:05:16 Всем привет, почему данная програмулина не выходит по ret model small .stack 256h .data i db 1 .code .startup push ds mov ax,0 push ax mov ax,@data mov ds,ax ret end |
|
|
Дата: Дек 25, 2002 16:25:53 Аноним А что должна? Это же exe а не com!!!! |
|
|
Дата: Дек 25, 2002 16:35:26 retf вместо ret |
|
|
Дата: Дек 25, 2002 16:57:09 Зачем retf мне не нужен выход по ret |
|
|
Дата: Дек 25, 2002 17:01:01 Аноним У вас программа *.exe ret не может работать в программах вида exe (ну официально по крайней мере) для выхода из exe используйте mov ax,4c00h int 21h (Если я не ошибаюсь с 4с00 :)...) |
|
|
Дата: Дек 25, 2002 17:16:19 В случае, если код оформлен как в учебниках по программированию, как far процедура, типа, ...... myproga proc far push ds ; в стек заталкивается FAR адрес возврата mov ax,0 ; .... push ax ; .... mov ax,@data mov ds,ax ret myproga endp end myproga будет работать и простой ret. Все равно вместо него компилятор подставит RETF (0CBh) В данном случае будет сгенерирован retn (0C3h) и ты не попадешь на PSP:0, куда так хочешь попасть. Или оформи как far-процедуру, или пиши retf вместо ret. Хотя так конечно лучше: mov ax,4c00h int 21h |
|
|
Дата: Дек 25, 2002 17:55:14 Пример если можно что - то по правилам формирую, но ничего не получается |
|
|
Дата: Дек 25, 2002 18:05:34 mov ax,4c00h int 21h |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.068 |