4bit mcu的扩展指令你可以参考IDE66的帮助文件,里面有详细的描述。下面我也列出里面的部分说明:
bit arithmetic instruction:
SETB Mx, bit /* Set Mx:bit ,if Mx>0x7f, one additional RAM is used as temporary RAM*/
CLRB Mx, bit /* Clear Mx:bit ,if Mx>0x7f, one additional RAM is used as temporary RAM*/
JB Mx, bit, addr /* Test and jump, if Mx:bit is 1, then jump to addr*/
JNB Mx, bit, addr /* Test and jump, if Mx:bit is 0, then jump to addr*/
arithmetic instruction:
INC Mx /*Increase Mx by 1,if Mx>0x7f, one additional RAM is used as temporary RAM*/
DEC Mx /*Decrease Mx by 1,if Mx>0x7f, one additional RAM is used as temporary RAM*/
RL Mx, shift /*Left shift Mx */
RR Mx, shift /*Right shift Mx */
RLC Mx, shift /*Left shift with carry */
INV(CPL) Mx /* Invert Mx, if Mx>0x7f, one additional RAM is used as temporary RAM*/
compare/jump instruction:
CJNE Mx1, Mx2, addr /*Compare, and if Mx1 is not equal to Mx2, jump to addr*/
CJE Mx1, Mx2, addr /*Compare, and if Mx1 is equal to Mx2, jump to addr*/
CJLE Mx1, Mx2, addr /*Compare, and if Mx1 is less than or equal to Mx2, jump to addr*/
CJGE Mx1, Mx2, addr /*Compare, and if Mx1 is greater than or equal to Mx2, jump to addr*/
CJL Mx1, Mx2, addr /*Compare, and if Mx1 is less than Mx2, jump to addr*/
CJG Mx1, Mx2, addr /*Compare, and if Mx1 is greater than Mx2, jump addr*/
DJNZ Mx, addr /*Decrease Mx by 1, and jump to addr if Mx is not equal to 0,if Mx>0x7f, one additional RAM is used as temporary RAM*/
DJZ Mx, addr /*Decrease Mx by 1, and jump to addr if Mx is equal to 0,if Mx>0x7f, one additional RAM is used as temporary RAM*/
other instruction:
LDR Mx, addr /*load the address into the RAM, Mx <- addr[15:12], Mx-1 <- addr[11:8],Mx-2 <- addr[7:4], Mx-3 <- addr[3:0], addr is 16-bit width, if Mx > 0x7F, one additional RAM is used as temporary RAM*/ |