|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
这个程序可以运行,但div之后并没有显示出字符串,我继续t命令,内存中显示它继续执行do0这个程序,我不知道问题出在哪,哪位大神能否指教?
assume cs:code
code segment
start: mov ax,cs
mov ds,ax
mov si,offset do0;这三步是把ds:si指向do0程序代码所在的源地址
mov ax,0
mov es,ax
mov di,200h;把es:di作为目标地址
mov cx,offset do0end-offset do0;计算出do0程序代码所占字节长度
cld
rep movsb;把do0程序代码传到内存0000:0200h处
mov ax,0
mov es,ax
mov word ptr es:[0],200h
mov word ptr es:[2],0;设置中断向量
mov ax,4c00h
int 21h
do0: jmp short s0
db "divide error!"
s0: mov ax,cs
mov ds,ax
mov si,202h
mov ax,0b800h
mov es,ax
mov di,12*160+27*2;计算字符串在显存上的地址
mov cx,13;共13个字节,循环13次
s: mov al,[si]
mov es:[di],al
inc si
add di,2
loop s
mov ax,4c00h
int 21h
do0end:nop
code ends
end start |
|