我现在在阅读PSoC Designer Assembly Language User Guide。 在4.16 Jump if No Carry中,说执行指令JNC后,PC的值由未执行JNC指令时的PC值加上expr:if(CF = 0){PC← PC + k},但是由下面的例子来看,应该是PC←(PC+1)+k.请问这是一个错误么?谢谢!
4.16 Jump if No Carry JNC Description: If the Carry Flag is not set, jump to the address indicated by the sum of the argument and the PC value. The JNC instruction uses a two-byte instruction format where the lower nibble of the first byte is used for the upper 4 bits of the 12-bit relative address. This causes an effective 4-bit opcode. Therefore, the following are all valid “opcode” bytes for the JNC instruction:0xE0, 0xE1, 0xE2,...,0xEF. Arguments Operation Opcode Cycles Bytes JNC expr 0xDx 5 2 CF Carry Flag unaffected. ZF Zero Flag unaffected. Example: 0000 _main: 0000 55 3C 02 [08] mov [3Ch], 2 0003 16 3C 02 [09] sub [3Ch], 2 ;2-1=0 CF=0, ZF=1 0006 D0 02 [05] jnc SubFun ; jump to SubFun 0008 30 [04] halt 0009 0009 SubFun: 0009 40 [04] nop |