第四章--汇编语言程序设计

第四章--汇编语言程序设计
第四章--汇编语言程序设计

第四章汇编语言程序设计

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 为首地址的存储区中,试编程统计正数、负

相关主题
相关文档
最新文档