变量_Y地址YVARDATA
第3页共11页
f38HP10BITP10位定义P10定义为P10ORG0000H伪指令定义PC开始位置LJMPMAIN长跳转到主程序位置ORG0100H伪指令主程序开始位置MAINMOVSP9FH设置堆栈地址MOVA55HA55HMOV_VARA_VAR30H)55HMOVR0_VARR030HMOVR001H30H01H
第4页共11页
fINCR0R031HMOVR002H31H02HMOVR1YVARR138HMOVAR0A02HMOVR1A38H02HPUSHAcc压栈操作A0,A1存储acc和pswPUSHPSWMOVA0AAHAAAHSETBRS001选用第一区寄存器CLRRS1MOVR05AHR05AHMOVR10A5H
第5页共11页
fR1A5HPOPPSW出栈操作释放acc和pswPOPACCINCR1R139HDECR0R030HMOVAR0A01HMOVR1A39H01HCLRP10SETBP10置位P10MOV90H00H90H00HMOV90H55H90H55HMOV90H0FFH90HFFHMOVP100H
第6页共11页
fP100HMOVP155HP155HMOVP10FFHP1FFHSJMPEND1找出每条指令的机器码,并与第3章指令码表对照,指出每一指令的功能、寻址方式、操作数书写形式。地址机器码指令目的操作数源操作数MOVSP9FH目的操作数:直接寻址;源操作数:立即寻址MOVA55H目的操作数:寄存器寻址;源操作数:立即寻址;MOV_VARA目的操作数:直接寻址;源操作数:寄存器寻址;MOVR0_VAR目的操作数:寄存器寻址;源操作数:立即寻址;MOVR001H目的操作数:寄存器间接寻址;源操作数:立即寻址;INCR0
第7页共11页
f寄存器寻址MOVR002H目的操作数:寄存器间接寻址;源操作数:立即寻址;MOVR1YVAR目的操作数:寄存器寻址;源操作数:立即寻址;MOVAR0目的操作数:寄存器寻址;源操作数:寄存器间接寻址;MOVR1A目的操作数:寄存器间接寻址;源操作数:寄存器寻址;PUSHAcc将Acc中的内容压入堆栈;直接寻址PUSHPSW将PSW压入堆栈;直接寻址MOVA0AAH目的操作数:寄存器寻址;源操作数:立即寻址;SETBRS0位寻址CLRRS1位寻址MOVR05AH目的操作数:寄存器寻址;源操作数:立即寻址;MOVR10A5H目的操作数:寄存器寻址;源操作数:立即寻址;POPPSW按压栈顺序放入PSW;直接寻址POPACC按压栈顺序放入Acc;直接寻址INCR1寄存器寻址DECR0寄存器寻址MOVAR0
第8页共11页
f目的操作数:寄存器寻址;源操作数:寄存器间接寻址;MOVR1A
机器码:F7;R1A;目的操作数:寄存器间接寻址;源操作数:立即寻址;CLRP10
将p10口清零SETBP10将P10口置一;位寻址MOV90H00H机器码:759000;90H00H;目的操作数:直接寻址;源操作数:立即寻址;MOV90H55H目的操作数:直接寻址;源操作数:立即寻址;MOV90Hr