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