INC DPTR DJNZ R3,LOP
7. 已知A=83H,R0=17H,(17H)=34H,写出下列程序段执行完后的A中的内容。
ORL A, #17H ANL 17H, A XRL A, @R0 CPL A
(A)=11001011B=0CBH
8. 已知单片机的fosc=6MHz,分别设计延时0.1s、1s、1min的子程序。
这里取单片机常用的晶振频率为12MHz,一个机器周期为1μs。 (若fosc=6MHz,读者可参考下列程序修改)
延时1ms的子程序:
DELAY: MOV R7, #0FFH LOOP: NOP NOP DJNZ R7, LOOP RET
执行时间(机器周期) 1 1 1 2 2
该程序段的总的执行时间为:
(1+4×255+2)?s=1023μs≈1ms
延时时间为100ms的子程序:
DELAY: LOP1: LOOP:
MOV R5,#64H 对延时1ms的子程序循环100次。
MOV R7, #0FFH NOP NOP DJNZ R7, LOOP DJNZ R5,LOP1 RET
延时时间为1s的子程序:
DELAY1: MOV R3, #0AH 对延时100ms的子程序循环10次 DELAY:
LOP1: LOOP:
MOV R5,#64H 。
MOV R7, #0FFH NOP NOP DJNZ R7, LOOP DJNZ R5,LOP1
DJNZ R3, DELAY RET
延时时间为60s的子程序: 对延时1s的子程序循环60次 9. MCS-51汇编语言中有哪些常用的伪指令?各起什么作用? BIT(地址符号命令)
END(结束汇编) EQU(等值) DB(定义字节)
DW(定义字)
DS(定义存储单元) ORG(汇编起始地址)
10. 比较下列各题中的两条指令是否相同,若不同,请指出其区别?
① MOV A, R1; ② MOV A, P0;
LOOP; ③ LOOP: SJMP
MOV ACC, R1 指令功能相同,寻址方式表示不同
MOV A, 80H 指令功能相同,寻址方式表示不同 SJMP $ 指令功能相同
11. 下列程序段汇编后,从3000H开始各有关存储单元的内容是什么?
ORG 3000H
TAB1 EQU 1234H TAB2 EQU 5678H DB 65,13,\ DW TAB1,TAB2,9ABCH ORG TAB1: TAB2:
3000H
EQU EQU DB DW
1234H 5678H
65,13,\
TAB1,TAB2,9ABCH
3000H: 65 3001H: 13 3002H: ?A? 3003H: 34H 3004H: 12H 3005H: 78H 3