MOV R1,#33H MOV R2,#03H CLR C
LOOP:MOV A,@R0 ADDC A,@R1 MOV @R0,A INC R0
INC R1
DJNZ R2,LOOP
END
9、 编写一程序段,其功能为:内部RAM的30H(高)~32H(低)和33H(高)~35H(低)两个三字节无符号数相减,结果存入30H(高)~32H(低)单元,设三字节相减时无进位。
MOV R0,#32H
MOV R1,#35H MOV R2,#03H CLR C
LOOP:MOV A,@R0 SUBB A,@R1 MOV @R0,A DEC R0
DEC R1
DJNZ R2,LOOP
END
10、 编写一程序段,其功能为:内部RAM的43H(高)~40H(低)和33H(高)~30H(低)两个四字节无符号数相减,结果存入43H(高)~40H(低)单元,设四字节相减时无进位。(10分)
MOV R0,#40H
MOV R1,#30H MOV R2,#04H CLR C
LOOP:MOV A,@R0 SUBB A,@R1 MOV @R0,A INC R0
INC R1
DJNZ R2,LOOP
11、 中。
END 编写一程序段,将内部RAM30H~3FH的内容传送到外部RAM的8000H~800FHMOV R0,#30H
MOV DPTR,#8000H MOV R2,#10H
LOOP:MOV A,@R0 MOVX @DPTR,A
11
INC R0
INC DPTR
DJNZ R2,LOOP
12、 编写程序,求出内部RAM 20H单元中的数据含“1”的个数,并将结果存入21H单元。
解:MOV R1,#08H
MOV R0,#20H CLR C
CLR 21H
LOOP:MOV A,@R0 RLC A
JNC LOOP
13、设片内RAM 20H~4FH单元中有若干个无符号数,试编程求出其中的最大值及最大 值所在单元地址,将最大值存入片内RAM 50H单元,最大值所在单元地址存入片内RAM 51H单元。
10、设片外RAM从1000H单元开始存放100个无符号8位二进制数。试编程将它们从大到 小依次存入片内RAM从10H开始的单元中。
11、设有两个四字节BCD数:X=24350809,Y=12450379。X从片内RAM 25H单元开始存放,Y从片内RAM 35H开始存放,求两数的和并存放X所在的单元中。设数据在内存中按照低字节在前,高字节在后的顺序存放。
12、试编一采用查表法求1~20的平方数子程序。要求:X在累加器A中,1≤X≤20,平方数高位存放在R6中,低位存放在R7中。
12