编程:内部RAM 30H和外部RAM 2200H开始的单元分别存放着两个8字节十六进制数(低位字节存放在前),请将二者相加(不考虑溢出情况),并将和存入内部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的31H单元开始存放一组8位带符号数,字节个数存放在30H单元中,编写程序统计其中正数、零和负数的数目,并把统计结果分别存入20H、21H和22H单元中
- {[br][/br]设内部RAM的40H,41H单元中分别存放着8位二进制数,要求取出两个单元中的低半字节合并成一个字节,并存入42H单元中,试编程。[br][/br]}[br][/br]{
- 将内部RAM 30H单元存放的2字节二进制数转换为十进制数存于21H为首的单元中,长度存放于20H单元中。
- 设内部RAM的50H,51H单元中分别存放着8位二进制数,要求取出两个单元中的高半字节合并成一个字节,并存入52H单元中,试编写程序。