2509H MOV 10H,#0FH 250CH MOV 11H,#0BH
?SP?1?SP,PC7~0?SP?250FH ACALL XHD ;PC+2?PC , ??
SP?1?SP,PC?SP??15~8?addr?PC?10~0??MOV 20H,11H
2514H M5A:SJMP M5A XHD:PUSH 10H PUSH 11H POP 10H POP 11H RET 问:(1)执行POP 10H后堆栈内容? (2)执行M5A:SJMP M5A后,(SP)= (20H)= 2.A程序存储空间表格如下: 地址 内容 2000H 3FH 2001H 06H 2002H 5BH 2003H 4FH 。。。。。 。。。。。 已知:片内RAM的20H中为01H,执行下列程序后(30H)= MOV A,20H INC A
MOV DPTR,#2000H MOVC A,@A+DPTR CPL A
MOV 30H,A SJMP $
3.(R0)=4BH,(A)=84H,片内RAM(4BH)=7FH,(40)=20H
MOV A,@R0 MOV @R0,40H MOV 40H,A MOV R0,#35H
问执行程序后,R0= A= 4BH= 40H= 4.若PSW=00, 执行下列程序后,PSW的各位状态如何?
MOV A,#0FBH MOV PSW,#10H ADD A,#7FH CY AC OV P OF RS1 五.程序填空(10分) 1.数据块传送,将RAM从30H开始的连续32个单元的内容传递给片内RAM从60H开始的连续32个单元。
ORG 1000H
MOV R7,_____
MOV R0, #30H MOV R1,#60H
LOOP:MOV A,@R0 MOV _____,A INC R0 INC R1
DJNZ R7, _____ SJMP $ END
2. 将4个单字节数放片内30H~~33H,它们求和结果放在片内40H,41H单元。
ORG 1000H
MOV R7,#04H MOV R0,30H CLR A
MOV 41H,A
LOOP: ADD A,@R0 JNC NEXT
INC _____
NEXT:INC _____
DJNZ R7,LOOP MOV 40H,A SJMP $ END
3. RAM中40H单元内存有一个十六进制数,把这个数转换为BCD码的十进制数,BCD
码的十位和个位放在累加器A中,百位放在R2中。 ORG 2200H MOV A,_____ MOV B,#64H DIV AB
MOV R2,A MOV A,_____ XCH A,B DIV AB SWAP _____ ORL A,B SJMP $ END
4. 编程序将片内40H-46H单元内容的高4位清零,保持低4位不变。 ORG 1000H MOV R7,#07H
MOV R0,_____
LOOP:MOV A,@R0 ANL A,_____ MOV @R0,A INC R0
DJNZ R7,LOOP SJMP $
END 机模拟试卷008参考答案 一:单选题:(30分) 题号 答案 题号 答案 题号 答案 题号 答案 1 D 11 D 21 D 1 √ 2 A 12 B 22 A 2 × 3 B 13 A 23 A 3 √ 4 C 14 B 24 D 4 × 5 A 15 B 25 D 5 √ 6 C 16 C 26 C 6 × 7 D 17 A 27 C 7 × 8 D 18 B 28 C 8 × 9 C 19 A 29 B 9 × 10 A 20 C 30 B 10 × 二.判断题:(10分)
三.计算题:(22分) (1)(A)=1AH (CY)=不受影响 (2)REL=40H (3)(A)= 6DH (CY)= 1 (OV)=1 (AC)=0 (4)(A)=00H (B)=32H (CY)= 总为0 (OV)=1 (5)目标地址=EFF9H
四:阅读并分析程序(28分)
(1)1)执行POP 10H后堆栈内容?(SP)=5AH 2)执行M5A:SJMP M5A后,(SP)=58H (20H)=0FH (2)(30H)=5BH
(3)R0=35H A=7FH 4BH=20H 40H=7FH (4) CY 1 AC 1 OV 0 P 1 OF 0 RS1 1 五、程序填空(10分)
1._#20H_ __R1___ _LOOP____ 2.__41H___ __R0___
3.__40H___ _#0AH____ __A___ 4._#40H____ __#0FH___