| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Asm для начинающих > Процедура в ассемблере |
| Автор: hecz 2.12.2007, 22:48 |
| нужно само тело программы оформить в виде процедуры вызываемой из главной программы. У меня небольшие проблеммы но думаю чтодляспециалиста это на 30 секунд где-то.... mydata segment tabl db '0123456789ABCDEF' st1 db ' ' mydata ends my_stack segment stack dw 32 dup (?) my_stack ends oursg segment assume cs:oursg, ds:mydata ; Код begin: mov ax, mydata mov ds, ax xor ax,ax ;myproc proc mov ax,0a5h not ax add ax,1 push ax push ax mov cl,7 shr ax,cl cmp ax,0 je plus jne minus plus: mov dl,'+' mov ah,2h int 21h jmp contin minus: mov dl,'-' mov ah,2h int 21h contin: pop ax mov cl,4 shr ax,cl and ax,15 lea bx, tabl xlat mov dx,ax mov ah,2h int 21h ;--------------------------- pop ax and ax,15 lea bx, tabl xlat mov dl,al mov ah,2h int 21h ;------------------------------------------- ;ret ;myproc endp ;call myproc exit: mov ax, 4C00h int 21h oursg ends end begin[*] |
| Автор: MAKCim 2.12.2007, 23:40 | ||
hecz
|
| Автор: dumb 3.12.2007, 02:33 | ||
|