第四章--汇编语言程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章汇编语言程序设计
1编程将片内40H〜60H单元中的内容送到以3000H为首的存储区内。答:MOV R1,#40H
MOV R2,#21H
MOV
DPTR,#3000H
L1:
MOV
A,@R1
MOVX@DPT,R A
INC
R1
INC DPTR
DJNZ R2,L1
2、编程计算下列算式的程序
1) 23H+45H+ABH+03H=
MOV A
,
#23H
ADD
A
,
#45H
ADD
A
,
#0ABH
XCH A
,B
;溢出处理
ADDC
A
,
#00H
XCH A
,B
ADD
A
,#03H;A中为结果低位,B中为高位
2) CDH+15H-38H-46H=
MOV A,#0CDH
ADD A,#15H
SUBB A,#38H
SUBB A,#46H 3) 1234H+8347H=
MOV A , #34H
ADD A , #47H
MOV 30H , A
MOV A , #12H
ADDC A , #83H
MOV 31, A ;30H 存结果低位, 31H 存结果高位
4)AB123H-43ADCH=
CLR C
MOV A , #23H
SUBB A , DCH
MOV 30H , A
MOV A , #0B1H
SUBB A , #3AH
MOV 31H , A
MOV A , #0AH
SUBB A ,, #04H
MOV 32H , A ;30H 为低位, 32H 为高位
3、设有两个4位BCD 码,分别存放在 23H 22H 单元和33H 、32H 单元中,求他们的和,并 送入43H 、42H 单元中(低位在低字节,高位在高字节) 。
答: MOV A ,
22H
ADD A ,
32H
MOV 42H ,
A
MOV A ,
23H
ADDC A ,
33H
MOV 43H ,
A
4、略
答: MOV R0, #8
MOV R1, #50H
MOV A , #00H
L1: ADD A , @R1
INC R1
DJNZ R0, L1
MOV B , #8
DIV AB
MOV 5AH , A
6、编写计算下式的程序。设乘积和平方结果均小于 255。 a 、b 值分别存在片外
3002H 单元中,结果存于片外 3000H 单元中。 25 ,a b
1)Y a b ,a b
a b ,a b
MOV DPTR , #3001H
MOVX A , @DPTR
MOV 30H , A ;a 暂存30H 单元
INC DPL
MOVX A , @DPTR
CJNE A , 30H , L1 ;是否 a=b
MOV A , #25
SJMP SAVE
L1: JNC L2
MOV B , 30H
5、编程计算片内 RAM 区 50H H 59H 单元中数的平均值,结果存放在 5AH 中。
3001H 和
MUL AB
SJMP SAVE
L2:MOV B,A
MOV A,30H
DIV AB
SAVE:MOV DPTR,#3000H
MOVX@DPR,T A
(a b) 2 10,(a b)210(2)Y(a b)2,(a b)210 (a2
b) 2 10,(a b)210
MOV DPTR,#3001H
MOVX A,@DPTR
MOV30H,A
INC DPTR
MOVX A,@DPTR
A,30H
ADD
MOV B,A
(a +b)2
MUL AB;
MOV31H,A
CJNE A,#10,L1
SJMP SAVE
L1:JC L2
CLR C
SUBB A,#10
SJMP SAVE
7、设有两个长度均为 15的数组,分别存放在以 200H 和210H 为首地址的存储区中,试编 程求其对应项之和,结果存放到以 220H 为首地址的存储区中。
答: MOV DPH , #02H
MOV R1, #15
MOV R2, #00H ; 数组 1 首地址低位
MOV R3, #10H ; 数组 2 首地址低位
MOV R4, #20H ; 和首地址低位
L1: MOV DPL , R2
MOVX A , @DPTR
MOV R1, A
MOV DPL , R3
MOVX A , @DPTR
ADD A , R1
MOV DPL , R4
MOVX @DTP ,R A
INC R2
INC R3
INC R4
DJNZ R1, L1
SJMP $
数和零的个数。
SAVE: MOV DPTR ,
#3000H
MOVC @DPT ,R A
L2: ADD A ,#10
答: MOV 30H , #00H ;正数计数器
8、设有 100 个无符号数,连续存放在以 2000H 为首地址的存储区中,试编程统计正数、负