如何 不使用第三个寄存器,交换已知的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数据指针
用户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