南华大学汇编语言实验二:实现两个32位数相加。
实验步骤:
1.利用实验一原有的demo.asm文件进行修改来完成实验二;
2.定义数据段,用dw伪指令定义a,b,x,y的值分别为:1234H,1234H,0ababH,0ababH,另外再定义一个z来保存ax中低十六位的值(bx中存放高十六位的值);
3.先将字符‘0’显示到屏幕上;
4.赋值相加操作:将a,b,x,y分别赋值到ax,bx,cx,dx中,低十六位相加(ax与cx相加)并把结果保存到ax中,高十六位相加(bx与dx相加),并把结果保存到bx中;
5.设置循环体:设置dh为2,目的是把高十六位和低十六位的内容都显示出来,设置ch为4,是高十六位或者低十六位循环左移的次数,以便显示出来;
6.首先将高十六位中的值(bx的内容)显示出来,将bx左移一个数位,把最右边的数位转换为ASCII码,把4位二进制数加上30H,如果字符为A~F则还要加上7才能显示正确的十六进制数;