4.1 请解释下列名词:
机器码 助记符 操作码 操作数 源程序目标程序 汇编程序 汇编语言 汇编语言程序汇编指令 汇编 机器汇编 人工汇编
4.2 经过汇编后,下列各条语句舶标号将是什么数值?
ORG 2000H
TABLE: DS 10 WORD:
DS 15,20,25,30
FANG: EQU 1000H
BEGIN: MOV A,R0
4.3 下列程序段经汇编后,从2000H开始的各有关存储单元的内容将是什么?
ORG 2000H
TAB:DS 5
DB 10H,10
DW 2100H
ORG 2050H
DW TAB
DB "WORK”
4.4 下列程序段经汇编后,从1000H开始的各有关存储单元的内容将是什么?
ORG 1000H
TABl:EQU 1234H
TAB2:EClU 3000H
DB “START”
DW TABl,TAB2
4.5 综述汇编语言程序的书写格式。
4.6 要将片内RAM 0FH单元的内容传送去专用寄存器B,对0FH单元的寻址可有三种办法;
(1)寄存器寻址 (2)寄存器间址 (3)直接寻址
请分别编出相应程序,比较其字节数、机器周期数和优缺点。
4.7 试编程:引用“与”运算,判断某8位二进制数是奇数还是偶数.
4.8 试编程:引用‘或”运算,使任意8位二进制数的符号位必为“1’。
4.9 设ROM、片内RAM,片外RAM各有关单元的内容示如下图,问执行下列程序段后(A)=?
0000 AJMP 030H
ORG 0030H
0030 MOV R0,#32H
MOV A,@R0
MOV R1,A
MOVX A,@R1
MOVC A,@A+DPTR
4.10 若在片内RAM 30H单元中有2位压缩的BCD码95H,问执行下列程序后,片内RAM 30H单元的内容是什么?31H、32H的内容又是什么?并写出BCD码十进制调整的过程。
MOV R0,#30H
MOV A,@R0
ANL A,#OFH
MOV R3,A
MOV A,@R0
SWAP A
ANL A,#0FH
ADD A,R3
DA A
MOV @R0,A
MOV R3,A
INC R0
ANL A,#0FH
MOV @R0,A
INC R0
MOV A,R3
ANL A, #0FOH
SWAP A
MOV @R0,A
RET
4.11 试编程;将两个4位二进制数并存于一个字节。
4.12 试编程:将存于片内RAM 40H、41H单元中的16位数求补,结果放回原单元(低字节放40H单元)。
4.13 试编程:有两双字节压缩的BCD码数相加,设该两待加数分别按先低后高原则存放在30H、31H和40H、4lH单元,和要求放回30H、3lH单元。
4.14 试编程:将累加器A内容低4位送片外RAM 7AH单元,高4位送片外RAM 7BH单元,?AH、7BH单元的高4位均清零。
4.15 试编程:将片内RAM 50H、5lH单元两个无符号数中较小的数存于60H单元。
4.16 试编程:将片内RAM 60H~69H单元中的10个数相加,和的低8位存人7EH,高8位存人7FH。
4.17 试编程:统计从片内RAM 60H单元起所存60个数中“0”的个数,并存人工作寄存器R7。
4.18 试绪程:将ROM中自2000H单元起的100个数,按序移至片外RAM自2080H单元起的内存区间去.
4.19 试编程:将ROM中以TAB为初址的32个单元的内容依次传送到片外RAM以00H为初址的区域去(规定用查表指令)。
4.20 试编写一段于程序,将片外RAM 20H单元中压缩的BCD码转换成共阴的七段笔划信息码,存于片内RAM 20H、21H单元,以待显示(七段笔划信息码的最高位为o)。
4.21 请编一将A中内容乘10的程序,要求:
(1)不可用MUL指令
1) 乘积≤255 2) 乘积>255
(2)可用MUL指令
1) 乘积≤255 2) 乘积>255
规定乘积放在片内RAM的30H单元或30H、3lH单元。
4.22 设晶振为12MHx,请详细剖析(包括计算)下列程序段的性质和用途:
0B0 79 63 DELAY: MOV R1,#63H
0B2 00 DLl: NOP
0B3 00 NOP
0B4 D9 FC DJNZ R1,DLl
0B6 22 RET
4.23 请编写一个能延时1.5ms的子程序,要列出计算。Tcy=1us。
4.24 阅读下列程序,
(1)说明该程序的功能。
(2)填出所缺的机器码。
(3)试修改程序,使片内RAM的内容达到右下图所示的结果.
MOV R2,#0AH
MOV R0,#50H
CLR A
LOOP: MOV @R0,A
INC RO
DJNZ R2,LOOP
DONE;
4.25 阅读下列程序,并要求:
(1)说明程序的功能。
(2)写出涉及的寄存器及片内RAM单元的最后结果。
MOV R0,#40H
MOV A,@R0
INC R0
ADD A,@R0
INC R0
MOV @R0,A
CLR A
ADDC A,#0
INC R0
MOV @R0,A
4.26 阅读下列程序,写出程序执行后片外RAM 8000H和8002H单元以及R1、R3、R4的内容.
ORG 0200H
MOV DPTR,#DAT
MOV R0,#0
MOV R1,#1
MOV R2,#2
MOVX A,@DPTR
MOV R3,A
INC DPTR
MOVX A,@DPTR
ORL A,R3
JZ HERE
MOV DPTR,#DAT
LOOPl:MOV R3, #8
LOOP2:MOVX A,@DPTR
ANL A,R1
MOV R4,A
JZ NEXT
INC R0
NEXT: MOV A,R1
RL A
MOV R1,A
DJNZ R3,LOOP2
INC DPTR
DJNZ R2,LOOPl
MOV A,R0
MOVX @DPTR,A
HERE:SJMP HERE
ORG 8000H
DAT: DW 4B9FH
DB 0
END