| 
 | 
 
 
 楼主 |
发表于 12-11-2007 08:29 PM
|
显示全部楼层
 
 
 
关于part1, 我的方法是。。。。   
 
.Macro ReverseNibbles 
 sbrc @0,0 
 sbr   @1,7 
 sbrc @0,1 
 sbr   @1,6 
 sbrc @0,2 
 sbr   @1,5 
 sbrc @0,3 
 sbr   @1,4 
 sbrc @0,4 
 sbr   @1,3 
 sbrc @0,5 
 sbr   @1,2 
 sbrc @0,6 
 sbr   @1,1 
 sbrc @0,7 
 sbr   @1,0 
 mov @0,@1 
.EndMacro 
 
*sbrc   = skip if bit in register is clear 
*sbr     = set bit in register 
*@0/1 = parameter for macro 
 
我还没见过那么长的macro.....   
如果是做工肯定给老板骂死...  
 
part 2 
Armega 16 的确没有divide function,这是lecturer特地刁难我们。。。  
他给的hint是 substract    |   
 
 
 
 |