Assembly 解读PIC指令词

Assembly 解读PIC指令词,assembly,pic,word,Assembly,Pic,Word,我是UWI电气与计算机工程专业的二年级学生。 我目前正在学习PIC16F877微控制器及其主要以ASM(带少量C)编程,对其指令集中的符号感到困惑。现在我明白了指令可能遵循不同的格式(取决于操作数的数量、指令的字大小),但是我似乎无法弄清楚(突出显示的)符号指的是什么(是的,我理解它是字的MSB和LSB,只是我不知道它们为什么以这样的方式标记,或者它们的含义) 第5节-表5-1:中频MCU指令集,PIC微型中频参考手册: 这是二进制的操作码结构,每条指令14位 也就是说,f=127和d=1的AD

我是UWI电气与计算机工程专业的二年级学生。 我目前正在学习PIC16F877微控制器及其主要以ASM(带少量C)编程,对其指令集中的符号感到困惑。现在我明白了指令可能遵循不同的格式(取决于操作数的数量、指令的字大小),但是我似乎无法弄清楚(突出显示的)符号指的是什么(是的,我理解它是字的MSB和LSB,只是我不知道它们为什么以这样的方式标记,或者它们的含义)

第5节-表5-1:中频MCU指令集,PIC微型中频参考手册:


这是二进制的操作码结构,每条指令14位

也就是说,f=127和d=1的
ADDWF f,d
将被编码为
00 01111 1111 1111
07FF
十六进制操作码),“f”和“d”符号是指令的参数(对于f=48和d=0,ADDWF操作码将是
00 0111 0011 0000
=
0730
十六进制)

CLRW
中的“x”可能表示“任何”,已定义的位决定性地标识
CLRW
指令,其余的“x”位被忽略


我不知道PIC汇编,所以我可能对“x”错了,但我会非常惊讶。是不是这种CPU具有非8/16/32字内存结构,通过14位字寻址内存?如果您习惯于使用8位字节并根据这些字节计算数据/内存,则快速评估内存量会有点困难。

我不熟悉该特定文档,但我已将等效文档用于其他PIC设备系列。如果您在突出显示的表格上方查看,您应该会发现一个部分/表格,描述用于描述指令集(d、f等)的各种速记代码的含义

===============

编辑-有人对这个答案投了反对票,所以我查看了有问题的文档。我错了:问题的答案不是在上面,而是在下面

在OP引用的第5.2节后面的页面上,我们发现图5.1“说明的一般格式”解释了d、f、k等的含义


仅仅因为指令字是14位的,并不意味着内存的组织方式是相同的(特别是哈佛体系结构)将程序和数据内存分开,因此没有理由要求它们具有统一的位大小。可能它被否决了,因为你基本上说的是rtfm,显然它们已经被否决了。¯_(ツ)_/“‘rtfm’和特定部分引用是一种很好的答案(我投了赞成票,但你可以通过在这里引用它所说的内容来改进答案——即使手册受版权保护,这可能也是合理使用的),更重要的是OP没有正确阅读手册的问题(再说一次,有时一个人就是不明白,即使他尝试了多次,然后问别人总比保持困惑好)。