单片机微型计算机原理及接口技术陈,单片机微型计算机原理及接口技术课后习题答案第4章(5页)-原创力文档...

单片机微型计算机原理及接口技术课后习题答案第4章

4-1 分别指出下列指令中的源操作数和目的操作数的寻址方式

源操作数寻址方式

目的操作数寻址方式

(1)MOV P1,20H

直接寻址

直接寻址

(2)MOV A,#30H

立即数寻址

寄存器寻址

(3)ADD A,@R1

寄存器间接寻址

寄存器寻址

(4)ANL A,B

寄存器寻址

寄存器寻址

(5)MOV 33H,A

寄存器寻址

直接寻址

(6)SETB C

位寻址

位寻址

(7)CLR C

位寻址

位寻址

4-2 试述指令 MOV A,R0和MOV A,@R0的区别

两条指令的目的操作数相同,两条指令的区别在于源操作数来源不同:MOV A,R0 指令的源操作数就是R0寄存器的内容;而MOV A,@R0 指令的源操作数是位于存储器单元内,且存储器单元的地址是R0寄存器的内容。

4-3 试述指令MOV A,20H和MOV A,#20H的区别

MOV A,20H 源操作数是直接寻址,20H表示源操作数所在存储器单元的地址。

MOV A,#20H 源操作数是立即数寻址,#20H是立即数,也就是源操作数。

4-4 说明一下指令中源操作数所在的存储器类型。

(1)MOV A,#30H; 立即数#30H,就是源操作数,存在于指令中,所以位于程序存储器。

(2)MOV A,30H; 30H是源操作数所在数据存储单元的地址,所以源操作数位于数据存储器。

(3)MOVC A,@A+DPTR;源操作数是变址寻址, 助记符MOVC表示源操作数位于程序存储器。

(4)MOVX A,@DPTR; 源操作数是寄存器间接寻址, 助记符MOVX表示源操作数位于外部数据存储器。

4-5 判断下列指令书写是否正确:

(1)MOV A,B; ?

(2)MOV A,#3000H ; ?,因为A是8位寄存器,而#3000H是16位数值,没法全部存到A里

(3)INC,#20H ; ? 只能INC A/direct/Rn/@Ri/DPTR

(4)MOV 5,A ; ?,注意目的操作数是直接寻址方式,不是立即寻址

(5)MOV 30H,40H; ?

(6)MOV B,@DPTR ; ?,@DPTR寻址用于MOVX指令,不能用于MOV指R

(7)CJNE 30H,#80H,NEXT ; ?, CJNE指令格式只能是CJNE A/Rn/@Ri,#data,rel或CJNE A,direct,rel

(8)POP A ; ? 只能是直接寻址方式POP direct,正确的是POP ACC

(9)PUSH ACC; ?

(10)SJMP 2000H ; ? rel的范围是-128~127(用补码表示其值)共256B范围

4-6 设ACC=12H,B=64H,SP=60H,30H中存放的是78H,试分析下列程序执行后,ACC、B、30H、SP中的内容分别为多少,并画出堆栈示意图。

程序:PUSH ACC

PUSH B

PUSH 30H

POP ACC

POP B

POP 30H

62H 62H

61H SP 61H

SP 60H 12H 60H

SP

SP 62H 78H 62H

64H 61H 64H 61H

12H 60H 12H 60H

SP 62H 62H 62H

64H 61H SP 61H 61H

12H 60H 12H 60H SP 60H

ACC=78H; B=64H; (30H)=12H; SP=60H

4-7 下面是一个压缩BCD码相加的程序,参考其设计1个2字节压缩BCD码加法程序。

BCDAD: CLR C

MOV A,30H ;A中为加数

ADDC A,40H ;实现8位相加

DA A ;十进制调整

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值