实验四 无符号多字节加法 一.实验目的 掌握MCS-51汇编语言程序设计和调试方法; 掌握ME-5103在线仿真器的程序设计和调试方法; 熟悉用IBM-PC交叉汇编和调试软件MBUG机器汇编及调试。 二.实验设备 ME-5103在线仿真器1台; IBM-PC微机1台; 直流稳压电源1台。 三.实验内容 1.编写三字节无符号加法程序,加数693B68H放在52H,51H,50H,被加数3AE409H放在42H,41H,40H,“和”放在42H,41H,40H。   2.程序结构采用主程序和子程序结构 主程序用R0,R1作指针,R7作为加法字节计数值N,本实验N=3;子程序完成一个字节的加法。 3.用文本编辑软件如EDIT编写源程序,用IBM-PC交叉汇编和调试软件MBUG对程序进行汇编,产生目标代码文件,文件的类别为HEX及调试。 4.参考程序     主程序 地址  机器码    源程序 注释 ORG 0000H 0000 0130 START: AJMP MAIN ;转入程序 … … ORG 0030H 0030 7840 MAIN: MOV R0,#40H ;指向低字节 0032 7950 MOV R1,#50H 0034 7F03 MOV R7,#03H CLR C ;清进位位 LOOP: ACALL ADDSUB ;调用字节加法子程序 DJNZ R7,LOOP HERE: AJMP HERE ;程序结束 子程序 ADDSUB:MOV A,@R0 ;取被加数 ADDC A,@R1 ;A和加数相加 MOV @R0,A ;保存和 INC R0 ;指针加1 INC R1 RET ;返回 5.用IBM-PC软件MBUG和仿真机联机调试 用单步执行或断点连续执行,记下执行指令后表格中相应寄存器的数值: 执行指令 A R0 R1 R7   CLR C      第一次调用 ACALL ADDSUB       DJNZ R7,LOOP      第二次调用 ACALL ADDSUB       DJNZ R7,LOOP      第三次调用 ACALL ADDSUB       DJNZ R7,LOOP       实验报告 1.写出本程序调试过程和运行结果.   2.本程序如修改为无符号十进制数相加,增加DAA指令,在何地方?修改后用BCD码135790和246801相加,写出调试过程和运行结果.