您好,欢迎访问三七文档
第章习题参考答案第3章习题参考答案3-1设内部RAM中59H单元的内容为50H,写出当执行下列程序段后寄存器A,R0和内部RAM中50H,51H单元的内容为何值?MOVA,59H;A=50HMOVR0,A;R0=50HMOVA,#00H;A=00HMOV@R0,A;50H=00HMOVA,#25H;A=25HMOV51H,A;51H=25HMOV52H,#70H;52H=70HA=25HR0=50H50H=00H51H=25H3-2访问外部数据存储器和程序存储器可以用哪些指令来实现?举例说明。答:访问外部数据存储器指令有:MOVX@DPTR,AMOVDPTR,#0100HMOV@DPTR,AMOVXA,@DPTRMOVDPTR,#0200HMOVA,@DPTRMOVXA,@RiMOVXA,@R0MOVX@Ri,AMOVX@R1,A访问程序存储器指令有:MOVCA,@A+PCMOVCA,@A+DPTR3-3设堆栈指针SP中的内容为60H,内部RAM中30H和31H单元的内容分别为24H和10H,执行下列程序段后,61H,62H,30H,31H,DPTR及SP中的内容将有何变化?PUSH30H;61H=24HPUSH31H;62H=10HSP=62HPOPDPL;DPL=10HPOPDPH;DPH=24HSP=60HMOV30H,#00H;30H=00HMOV31H,#0FFH;31H=0FFH3-4设(A)=40H,(R1)=23H,(40H)=05H。执行下列两条指令后,累加器A和R1以及内部RAM中40H单元的内容各为何值?XCHA,R1;A=23HR1=40HXCHDA,@R1;A=25H40H=03H3-5两个四位BCD码数相加,被加数和加数分别存于50H,51H和52H,53H单元中(千位、百位在低地址中,十位、个位在高地址中),和存放在54H,55H和56H中(56H用来存放最高位的进位),试编写加法程序。ORG0000HLJMPSTARTORG0100HSTART:MOVA,53HADDA,51HDAAMOV55H,AMOVA,52HADDCA,50HDAAMOV56H,CSJMP$END3-6设(A)=01010101B,(R5)=10101010B,分别写出执行下列指令后结果。ANLA,R5;00000000BORLA,R5;11111111BXRLA,R5;11111111B3-7指令SJMPrel中,设rel=60H,并假设该指令存放在2114H和2115H单元中。当该条指令执行后,程序将跳转到何地址?答:2116H+60H=2176H3-8简述转移指令AJMPaddr11、SJMPrel、LJMPaddr16及JMP@A+DPTR的应用场合。答:AJMPaddr11为2K字节范围内的无条件转跳指令,把程序的执行转移到指定的地址。SJMPrel是无条件转跳指令,执行时在PC加2后,把指令中补码形式的偏移量值加到PC上,并计算出转向目标地址。转向的目标地址可以在这条指令前128字节到后127字节之间。LJMPaddr16执行这条指令时把指令的第二和第三字节分别装入PC的高位和低位字节中,无条件地转向指定地址。转移的目标地址可以在64K程序存储器地址空间的任何地方,不影响任何标志。JMP@A+DPTR指令的功能是把累加器中8位无符号数与数据指针DPTR中的16位数相加,将结果作为下条指令地址送入PC,利用这条指令能实现程序的散转。3-9试分析下列程序段,当程序执行后,位地址00H,01H中的内容将为何值?P1口的8条I/O线为何状态?CLRC;CY=0MOVA,#66H;A=66HJCLOOP1CPLC;CY=1SETB01H;20H.1=1LOOP1:ORLC,ACC.0;CY=1JBACC.2,LOOP2;CLR00HLOOP2:MOVP1,A;P1=01100110BSJMP$20H.0=020H.1=1P1=66H3-10查指令表,写出下列两条指令的机器码,并比较一下机器码中操作数排列次序的特点。MOV58H,80H85(80)(58)直接寻址字节送直接寻址字节:汇编时源操作数在目标操作数之前。MOV58H,#80H75(58)(80)立即数送直接寻址字节:汇编时目标操作数在原操作数之前。
本文标题:第章习题参考答案
链接地址:https://www.777doc.com/doc-5194687 .html