《单片微型计算机与接口技术》思考题与习题解答01

2.9 对下列程序中各条指令作出注释,并分析程序运行的最后结果。 MUV 20H,#0A4H MOV A,#017)6H MOV R0,#20H MOV R2,#57H ANL A,R2 0RL A,@R0 SWAP A CPL A ORL 20H,A SJMP $

2.9 程序运行后内部RAM(20H)=B4H,A=90H

2.10 将下列程序译为机器码。 机器码 源程序

LA: MOV A,#01H LB: MOV P1,A RL A

CJNE A,#10,LB SJMP LA

2.10 机器码 源程序

7401 LA:M()V A,#01H F590 LB:M()V P1,A 23 RL A

B40AFA CJNE A,#10,LB 80F6 SJMP LA

2.11 将累加器A的低4位数据送P。口的高4位,P。口的低4位保持不变。 2.11 ANL A,#0FH SWAP A

ANL P1.#OFH ORL P1,A SJMP $

2.12 编程将R0(R2)的内容和R1(R3)的内容相交换。 2.12 MOV A,RO XCH A,R1 MOV R0,A SJMP $ 2.12 MOV A,R2 XCH A,R3 MOV R2,A SJMP $

2.13 试用3种方法将A累加器中的无符号数乘4,积存放于B和A寄存器中。 2.13

(1)利用乘法指令 MOV B,#04H

5

MUL AB SJMP $ (2) 利用位移指令 RL A RL A

MOV 20H。A ANL A,#03H MOV B,A MOV A,20H ANL A,#OFCH SJMP $

(3) 用加法指令完成 ADD A,ACC

MOV RO,A :RO=2A MOV A,#0 ADDC A。#0

MOV B,A ;B存2A的进位 MOV A,RO ADD A,ACC

MOV R1,A ;R1=4A MOV A,B

ADDC A,B ;进位x 2 MOV B,A ;存积高位 MOV A,R1 ;存积低位 SJMP $

2.14 编程将内部RAM 40H单元的中间4位变反,其余位不变放回原单元。 2.14 方法1:XRL 40H,#3CH SJMP $

方法2:MOV A,40H CPL A

ANL A,#3CH ANL 40H,#OC3H ORL 40H,A

SJMP $

2.15 有两个BCD码数存放在(20H)和(21H)单元,完成(21H)+(20H)=>(23H)(22H)。

(24H)+(25H)=>(23H)(22H)

2.15 MOV A,20H ADD A,21H DA A

MOV 22H,A ;存和低字节 MOV A,#O ADDC A,#0

MOV 23H,A ;存进位 SJMP $

6

2.15 MOV A,24H ADD A,25H DA A

MOV 22H,A ;存和低字节 MOV A,#O ADDC A,#0

MOV 23H,A

>>展开全文<<
12@gma联系客服:779662525#qq.com(#替换为@)