9.设16个数据连续存放在20H单元为首地址的内部RAM中,编程实现对数据进行由大到小的顺序排列后放在50H开始的单元里。
举一反三
- 试编程将存放在8032单片机内部RAM中首址为20H、长度为50H的数据快传送到片外RAM以20H为首址的连续单元中。
- 设有一长度为20H的字符串,它存放在片外RAM1000H为首地址的连续单元中。试编制将其中数字与字母分开并将它们送到片内RAM以30H和50H为首地址的连续单元中的程序。
- 设一个字符串存放在8032单片机内部RAM以20H为首址的连续单元中,字符串以回车结束。要求统计该字符串中字符C(C'=43H)的个数,并将其存入外部RAM的40H单元。试编写实现上述要求的程序。
- 设两个十进制数分别在内部RAM 40H单元和50H单元开始存放(低位在前),其字节长度存放在内部30H单元中。编程实现两个十进制数求和,并把求和结果存放在40H开始的单元中。 答案:MOV R0,#40H MOV R1,#50H MOV R2,#30H ——————[br][/br] LOOP:MOV A,@R0 ADDC A,@R1 —————— MOV @R0,A INC R0 INC R1 DJNZ R2,LOOP RET
- 设片外RAM从1000H单元开始存放100个无符号8位二进制数。试编程将它们从大到小依次入片内RAM从10H开始的单元中。