注:在看代码时与8086cpu的图中寄存器的位置对应着看能更好的理清思路!
注:在看代码时与8086cpu的图中寄存器的位置对应着看能更好的理清思路!
注:在看代码时与8086cpu的图中寄存器的位置对应着看能更好的理清思路!
源代码如下:
code segment
assume cs:code
start:
mov ah,1
int 21h ;等待一个字符输入
mov bh,al ;将输入的数存放到BH中
add al,1h ;将输入的数加1
mov bl,al ;将相加后的数复制到BL中
mov dl,0dh ;将回车符的ASCII码存入DL中
mov ah,2
int 21h ;这两行代码实现输出,将DL进行输出,既回车
mov dl,0ah ;将换行符的ASCII码存入DL中,并将之前的值进行覆盖
mov ah,2
int 21h ;输出DL,即执行换行
mov dl,bh ;将BH中的值存入DL中
mov ah,2
int 21h ;对DL进行输出
mov dl,2bh ;2BH为加号的ASCII码,将加号存入DL中
mov ah,2
int 21h ;对DL进行输出,即输出加号
mov dl,'1' ;将1以字符型存入DL中,并将DL原先的值覆盖掉
mov ah,2
int 21h ;输出DL,即输出1
mov dl,"="
mov ah,2
int 21h ;着三段代码与前面三段代码同理
mov dl,bl ;将BL的值复制给DL
mov ah,2
int 21h ;输出DL
mov ah,4ch
int 21h ;最后两句,退出程序
code ends
end start
8086图如下: