第五章实验4
assume cs:codecode segment
mov ax,0
mov ds,ax
mov bx,0
mov cx,3fh
s:mov ,bx
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end
代码如上用debug执行出现问题到bx=3是执行不下去 第一:你的目标地址写错了 不是 0:0 ,应该是 0:200,0:0 的位置是写中断的跳转地址的。
第二:为什么到bx等于3就执行不下去了呢,那是因为你的目标地址越界了,目标地址是有4个字节构成,你前两个字节填写的是0 1,这是目标地址的偏移地址,等你在写第三个字节,那是短地址的高位,你在那里边写了 2 那么你的 总地址最低就是 200:01 也就是 20001 ,中断机制 的目标地址 没有这么大 所以 就会出错喽 !!!!
1366627538 发表于 2016-7-28 10:46
第一:你的目标地址写错了 不是 0:0 ,应该是 0:200,0:0 的位置是写中断的跳转地址的。
...
嗯,地址是写错了
改过来也可以了
assume cs:code
code segment
mov ax,20
mov ds,ax
mov bx,0
mov cx,3fh
s:mov ,bx
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end
但是第二点不是很懂,
但是bx等于3时执行不下去还不是很明白
还没有学到中断机制,
目前在第八章!!
谢谢大神啦!!!!{:9_228:}
页:
[1]