hungrywolf1987 发表于 2014-8-8 20:57:20

关于AVR汇编指令机器码的解读

今天看到一个帖子,关于汇编指令和机器码的,原帖地址:http://www.amobbs.com/thread-4328464-1-1.html
比如说:“0001 11rd dddd rrrr    ADCRd, Rr”中的: “11rd”的“rd”是什么? “dddd”又是什么? “rrrr”又是什么?
请教了,谢谢!!

就在今天 发表于 2014-8-8 21:20:24

不懂,帮顶

wujin715 发表于 2014-8-8 21:31:10

不如找本书看看AVR汇编

david1234 发表于 2014-8-8 22:35:45

本帖最后由 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部分。

hungrywolf1987 发表于 2014-8-9 09:57:37

david1234 发表于 2014-8-8 22:35
“0001 11rd dddd rrrr    ADCRd, Rr” 中,ddddd表示Rd寄存器号(0~31),比如R1为00001。同理,
rrrrr ...

谢谢!非常感谢!那个rd为什么是10呢?

hungrywolf1987 发表于 2014-8-9 09:59:56

wujin715 发表于 2014-8-8 21:31
不如找本书看看AVR汇编

仁兄可有推荐的书籍?我看的是马潮老师的avr书籍····

hungrywolf1987 发表于 2014-8-9 10:01:08

就在今天 发表于 2014-8-8 21:20
不懂,帮顶

谢谢,你也可以学习一下,很有意思

zhangchaoying 发表于 2014-8-9 10:08:05

本帖最后由 zhangchaoying 于 2014-8-9 12:13 编辑

r是源寄存器,d是目的寄存器。rrrrr源寄存器号码0~31,ddddd是目的寄存器号码0~31.add Rd,Rr指将“源”寄存器中操作数+“目的”寄存器数=结果放入目的寄存器。

hungrywolf1987 发表于 2014-8-9 10:12:18

zhangchaoying 发表于 2014-8-9 10:08
r是源寄存器,d是目的寄存器。rrrr源寄存器号码0~31

谢谢,请看看四楼,“11rd”中那个rd为什么是10呢?

zhangchaoying 发表于 2014-8-9 12:27: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目的,我是这么记忆的。

hungrywolf1987 发表于 2014-8-9 12:52:23

zhangchaoying 发表于 2014-8-9 12:27
中间那5个ddddd是连在一块的0000 1(二进制),代表“目的”寄存器R1;两边5个rrrrr是被di割开了吧,连起 ...

原来如此!谢谢!!

brother_yan 发表于 2014-8-9 13:05:06

mark,备忘
页: [1]
查看完整版本: 关于AVR汇编指令机器码的解读