实验二数传指令和算数运算指令编程设计
一、实验目的1.掌握数据块的传送操作和算术运算指令的应用。2.进一步掌握汇编语言设计和调试方法。3.掌握观察窗口的使用方法。4.学会给存储单元赋初值的方法。二、实验内容实验内容1.数据区传送(1)把内部RAM40H~4FH置初值0A0H~0AFH;(2)而后把40H~4FH内容传送到外部RAM9800H~980FH中;(3)再把9800H~980FH内容传送到50H~5FH中。2.多字节十进制加法加数放在30H开始的单元中(最低位放在30H,按从小到大的顺序存放),被加数和结果存放在20H开始的单元(最低位在20H中),字节数放在2FH中,最高进位位放在位地址7FH单元中。三、实验步骤1.分别用单步和连续运行方式,调试上述两个程序;2.在执行第二个程序之前,给被加数和加数单元赋初值;3.在观察窗口中观察结果。四、实验程序清单数据块传送程序ORG0000HMAIN:MOVR0,40HR040H2字节MOVR2,10HR210H2字节MOVA,0A0HA0A0H2字节A1循环序号R2R0APSWPA1MOVR0A010H40H0A0H00H00H1字节INCR010FH41H0A1H01H01H1字节INCA20EH42H0A2H01H01H1字节DJNZR2A130DH43H0A3H00H00H2字节40CH44H0A4H01H01H50BH45H0A5H00H00H60AH46H0A6H00H00H709H47H0A7H01H01H808H48H0A8H01H01H907H49H0A9H00H00H1006H4AH0AAH00H00H1105H4BH0ABH01H01H1204H4CH0ACH00H00H1303H4DH0ADH01H01H1402H4EH0AEH01H01H1501H4FH0AFH00H00H
第1页共4页
fMOVMOVMOV
A2
MOVMOVXINCINCDJNZ
MOVMOVMOV
A3
MOVXMOVINCINCDJNZ
1800H50H0B0H01H01HR040HR040H2字节DPTR9800HDPTR9800H3字节R210HR210H2字节A2循环序号R2DPTRR0AAR0010H9800H40H0A0H1字节DPTRA1字节10FH9801H41H0A1HR020EH9802H42H0A2H1字节DPTR30DH9803H43H0A3H1字节R2A240CH9804H44H0A4H2字节50BH9805H45H0A5H60AH9806H46H0A6H709H9807H47H0A7H808H9808H48H0A8H907H9809H49H0A9H1006H980AH4AH0AAH1105H980BH4BH0ABH1204H980CH4CH0ACH1303H980DH4DH0ADH1402H980EH4EH0AEH1501H980FH4FH0AFH1600H9810H50H0B0HR050HR050H2字节DPTR9800HDPTR9800H3字节R210HR210H2字节A3循环序号R2DPTRR0AADPTR1字节010H9800H50H0A0HR0A1字节10FH9801H51H0A1H20EH9802H52H0A2HDPTR1字节R030DH9803H53H0A3H1字节R2A32字节40CH9804H54H0A4H50BH9805H55H0A5H60AH9806H56H0A6H709H9807H57H0A7H808H9808H58H0A8H907H9809H59H0A9H1006H980AH5AH0AAH1105H980BH5BH0ABH1204H980CH5CH0ACH1303H980DH5DH0ADH1402H980EH5EH0AEH1501H980FH5FH0AFH
第2页共4页
PSW00H01H01H00H01H00H00H01H01H00H00H01H00H01H01H00H00H
P00H01H01H00H01H0r