原创 如何不使用第三个寄存器,交换已知的2个寄存器的数据。

2007-2-8 15:25 5590 12 13 分类: MCU/ 嵌入式

如何   不使用第三个寄存器,交换已知的2个寄存器的数据。


已知:tmp1:0x55   


            tmp2:0x05


需要交换2个寄存器的数据:


   mov a,tmp1      ;A:55 2个字节交换
   xor tmp2,a       ;B:50   
   mov a,tmp2      ;=50
   xor tmp1,a       ;A:05 ;
   mov a,tmp1   
   xor tmp2,a


用emc的单片机写的。


我用的实际是交换的CIDRAM的,因为收到的数据需要交换,处理如下:


   mov a,Rciddata   ;A:55 2个字节交换
   dec Rcidaddr      ;B:05
   xor rciddata,a     ;B:50   
   mov a,rciddata   ;=50
   inc Rcidaddr
   xor rciddata,a    ;A:05 ;
   mov a,rciddata
   dec rcidaddr
   xor rciddata,a
   inc rcidaddr        ;恢复cid数据指针


 


 

文章评论1条评论)

登录后参与讨论

用户61885 2008-2-18 12:44

恩!绝对有同感!现在我也在增值呢

12864_944456583 2007-2-9 11:40

这种情况在中断中处理数据时可以用到。中断时,占用1个RAM有时比较困难。

 

用户1232771 2006-11-24 09:20

恩,确实是这样,只是只有很少一部分学生意识到这个问题,或者很少一些学生能知道这些并进而去改进。

尤其是在做学生的时候,也比较难找到相关的实习或兼职,很多因为需要自己补贴生活费的学生,找的兼职多没有什么营养和技术含量,如家教和促销等,包括我自己在内;而一些比较知道挑战自己的学生,也多实习的是销售类,当然这对于希望以后从事这方面工作的同学还是很不错的;再就是计算机类学生找的编程实习和文科系同学找的编辑及实习记者等,算是很不错的实习了。

用户1053025 2006-11-23 15:57

其实大学生能在学校里面意识到这个问题,积极地实习或者兼职,是很好的补充办法
相关推荐阅读
12864_944456583 2010-04-28 09:10
关于VMware虚拟机下串口配置使用技巧
 USB转串口使用设置:   在Windows下可以使用超级终端来连接交换机和路由器等工业设备,而且在Windows下使用usb转串口的线也有相应的驱动,但是如何在Linux下使用呢?   首先要有一...
12864_944456583 2008-11-21 14:51
用单片机实现的感应触摸电路的原理图
家电中最常用的感应触摸电路,通过单片机检测电压的变化来识别是否有手指按下 ...
12864_944456583 2008-11-21 14:48
AVR单片机捕获中断实现红外线解码
1 红外线编码红外线编码是数据传输和家用电器遥控常用的一种通讯方法,其实质是一种脉宽调制的串行通讯。家电遥控中常用的红外线编码电路有μPD6121G型HT622型和7461型等。本文就以这些电路的编码...
12864_944456583 2008-11-21 14:45
用三极管实现RS232的转换电路图
用三极管实现RS232的转换电路图: ...
12864_944456583 2008-11-21 14:42
诺基亚3310液晶屏驱动程序
#include "global.h"#include "nokia3310.h"#include "font.h"#include "bmp.h"void LCDClear(void)//LCD清屏...
12864_944456583 2008-11-21 14:41
最详细电磁炉原理讲解
                                       最详细电磁炉原理讲解           日期: 2008-03-22             发表人: 稻田守望者   ...
我要评论
1
12
关闭 站长推荐上一条 /2 下一条