关于AVR汇编指令机器码的解读
今天看到一个帖子,关于汇编指令和机器码的,原帖地址:http://www.amobbs.com/thread-4328464-1-1.html比如说:“0001 11rd dddd rrrr ADCRd, Rr”中的: “11rd”的“rd”是什么? “dddd”又是什么? “rrrr”又是什么?
请教了,谢谢!! 不懂,帮顶 不如找本书看看AVR汇编 本帖最后由 david1234 于 2014-8-8 22:48 编辑
“0001 11rd dddd rrrr ADCRd, Rr” 中,ddddd表示Rd寄存器号(0~31),比如R1为00001。同理,
rrrrr表示Rr号,在该指令中,rrrrr的位置不连续。
例: ADC R1,R31=> “0001 1110 0001 1111”
熟悉一种单片机指令系统,基本上可以用FPGA实现这个单片机的CPU部分。 david1234 发表于 2014-8-8 22:35
“0001 11rd dddd rrrr ADCRd, Rr” 中,ddddd表示Rd寄存器号(0~31),比如R1为00001。同理,
rrrrr ...
谢谢!非常感谢!那个rd为什么是10呢? wujin715 发表于 2014-8-8 21:31
不如找本书看看AVR汇编
仁兄可有推荐的书籍?我看的是马潮老师的avr书籍···· 就在今天 发表于 2014-8-8 21:20
不懂,帮顶
谢谢,你也可以学习一下,很有意思 本帖最后由 zhangchaoying 于 2014-8-9 12:13 编辑
r是源寄存器,d是目的寄存器。rrrrr源寄存器号码0~31,ddddd是目的寄存器号码0~31.add Rd,Rr指将“源”寄存器中操作数+“目的”寄存器数=结果放入目的寄存器。 zhangchaoying 发表于 2014-8-9 10:08
r是源寄存器,d是目的寄存器。rrrr源寄存器号码0~31
谢谢,请看看四楼,“11rd”中那个rd为什么是10呢? hungrywolf1987 发表于 2014-8-9 10:12
谢谢,请看看四楼,“11rd”中那个rd为什么是10呢?
中间那5个ddddd是连在一块的0000 1(二进制),代表“目的”寄存器R1;两边5个rrrrr是被di割开了吧,连起来看就是1111 1代表“源”寄存器31。
R=Register寄存器;r=resource源;d=destination目的,我是这么记忆的。 zhangchaoying 发表于 2014-8-9 12:27
中间那5个ddddd是连在一块的0000 1(二进制),代表“目的”寄存器R1;两边5个rrrrr是被di割开了吧,连起 ...
原来如此!谢谢!! mark,备忘
页:
[1]