第五章-汇编语言程序设计.doc
文本预览下载声明
第五章 汇编语言程序设计
5·1 编程将片内40H一60H单元中内容送到以3000H为首的存特区中。
答 :按题 目 要求编程如下 :
MOV Rl,#40H
MOV R0,#20H
MOV DPTR,#3000H
LI: MOV A,@Rl
MOVX @DPTR,A
INC R1
INC DPTR
DJNZ R0,Ll
5.2 编写计算下列算式的程序。
①23H+45H+ABH+03H=
②CDH十l5H-38H-46H=
③1234H+8347H=
④ABl23H-43ADCH=
答:按题目要求编程如下:
①MOV A,#23H
ADD A,#45H
ADD A,#0ABH
XCH A,B ;相加后有溢出处理
ADDC A,#00H
XCH A ,B
ADD A,#3H ;结果A中是低位,B中是高位
② MOV A,#0CDH
ADD A,#15H
SUBB A,#t38H
SUBB A,#46H
③ MOV A,#34H
ADD A,#047H
MOV 40H,A
MOV A,#12H
ADDC A ,# 83H
MOV 4lH ,A ;结果40H中是低位,41H中是高位
④ CLR C
MOV A,#23H
SUBB A,#0DCH
MOV 40H,A
MOV A,#0B1H
SUBB A,03AH
MOV 41H,A
MOV A,#0AH
SUBB A,#04H
MOV 42H,A ;结果40中是低位,42H中是高位
5·3 编程计算片由RAM区5OH~57H八个单元中数的算术平均值,结果存放在5AH中。
答:在本题计算中要求8个单元的和小于255。按题目要求编程如下:
MOV R0,#50H
MOV R1,#8
MOV A,#0
LI: ADD A,@R0
INC R0
DJNZ R1,L1
MOV B,#8
DIV AB
MOV 5AH,A
5·4 编写计算下列的程序,设乘积和平方结果均小于255。a,b值分别存在300H和3002H单元中,结果存于片外3000H单元中。
25 ,a=b
① Y= a*b , ab
a/b , ab
(a+b) 2+10 , (a+b)210
② Y= (a+b)2 , (a+b)2=10
(a+b) 2-10 , (a+b)210
答:按题目要求编程
① MOV DPTR,#3001H
MOVX A,@DPTR ;取a值
MOV 30H,A ;a值暂存储在30H
JNC DPL
MOVX A,@DPTR ;取 b值
CJNE A,30H,L1 ; a=b?
MOV A,#25
SJMP EE
L1:JNC L2
MOV B,30H
MUL AB
SJMP EE
L2:MOV B,A
MOV A,30H
DIV AB
EE:MOV DPTR,#3001H
MOVX @DPTR,A
② MOV DPTR,#3001H
MOVX A,@DPTR
MOV 30H
INC DPL
MOVX A,@DPTR
ADD A,30H
MOV B,A
MUL AB
MOV 31H,A
CJNE A,#10,L1
SJMP EE
L1:JC L2
CLR C
SUBB A,#10
SJMP EE
L2:ADD A,#10
MOV DPTR,#3000H
MOVX @DPTR,A
5.5 设有两个长度均为15的教组,分别存放在以2000H和2100H为首的存储区中,试编程求其对应项之和,结果存放列以2200H为首的存储区中。
答:在本题中假设两数之和
显示全部