作为PIC编程的初学者,我试着理解现有的和正在运行的代码。在我发现的密码里。
movf c10m,w ;Read 10th of min count
movwf bcd_in ;Set counter code here
在哪里可以找到目标标志d?
我知道c10m的数据是用movf输入w的。movf的行为取决于目标标志d,但我无法找到标记的位置和如何操作。
发布于 2016-10-26 20:10:16
方向位通常由第二个操作数决定。这是描述,但不是很清楚,在微芯片手册(它使用的FSR,一个缩进寄存器)。指令意味着移动文件,文件寄存器的内容。如果是d=0,目标是W;如果是d=1,则是寄存器本身。
命令的格式为
MOVF file,d
其中d=0或1,但大多数汇编程序将接受W代替d。注意,它没有检查W的内容,这并不复杂。不管W中的是什么,它都会被覆盖。
; d Before After
; W TMR0 Z W TMR0 Z
MOVF TMR0,W ; 0 ?? 25 ? 25 25 0
MOVF TMR0,W ; 0 ?? 00 ? 00 00 1
MOVF TMR0,0 ; 0 ?? 25 ? 25 25 0 same as MOVF TMR0,W
MOVF TMR0,1 ; 1 ?? 25 ? ?? 25 0
MOVF TMR0,1 ; 1 ?? 00 ? ?? 00 1
将文件寄存器移动到自身将导致在值为零的情况下设置零标志。
https://stackoverflow.com/questions/40253812
复制相似问题