零件号P89LPC933935的装配代码
我正在将汇编代码翻译成“C”,我遇到了一条我觉得很难理解的指令,下面是代码零件号P89LPC933935的装配代码,c,assembly,embedded,8051,C,Assembly,Embedded,8051,我正在将汇编代码翻译成“C”,我遇到了一条我觉得很难理解的指令,下面是代码 add a,#0-3 jc c_fail 我不明白adda,#0-3adda,#0-3这行与adda,#-3相同,它将a与-3一起添加-3将被视为0xFD。因此,如果A值等于或大于3(A>=3),由于进位标志,程序将转到c_fail地址 此外,如果在其下一行中使用jnc而不是jc,则可以将其替换为subb a、#3。添加一个几乎为UINT_MAX的数字将产生一个3或更大的随身携带输入;我想这就是为什么。我假设这是
add a,#0-3
jc c_fail
我不明白adda,#0-3
adda,#0-3
这行与adda,#-3
相同,它将a
与-3
一起添加<在8051单片机中,代码>-3将被视为0xFD
。因此,如果A
值等于或大于3
(A>=3),由于进位标志,程序将转到c_fail
地址
此外,如果在其下一行中使用jnc而不是jc,则可以将其替换为subb a、#3
。添加一个几乎为UINT_MAX的数字将产生一个3或更大的随身携带输入;我想这就是为什么。我假设这是一个add immediate到一个名为a
的寄存器中,值为0-3
,但我不知道具体是8051。。。和