code segment
assume cs:code
start: mov al,61h
mov dl,al
add dl,1
mov ah,02h
int 21h
mov dl,al
mov ah,02h
int 21h
mov ah,4ch
int 21h
code ends
end start
为什么两次输出都是一样的呢?al的值有变化吗?
------解决方案--------------------------------------------------------
经debug,在第一次mov ah,02h int 21h后al增加了1变成62,奇怪,2号功能应该不会改变al值才对啊。抢了沙发观望。
------解决方案--------------------------------------------------------
int21h 的 02h 显示字符功能, 是会将显示的字符返回在 AL 中的, 这个虽然没有正规的文档有说明
------解决方案--------------------------------------------------------
如果大家调用中断,建议参考《DOS程序员参考手册》,下载地址:
http://download.csdn.net/source/161361