51單片機(jī)C和匯編指令對(duì)比
字節(jié)操作
本文引用地址:http://www.ex-cimer.com/article/201611/315618.htm加法指令
減法指令
乘法指令
除法指令
取模指令
位測(cè)試指令
_testbit_ (bit);
左移指令
Variable = Variable << 1;
右移指令
Variable = Variable >> 1;
位取反指令
與運(yùn)算指令
或運(yùn)算指令
異或運(yùn)算指令
子程序調(diào)用
RESULT=BYTESUB(ARG1, ARG2);
CALL BYTESUB
判斷指令
CJNE R1,#0F0H,LABEL1
DJNZ R1,LABEL1
查表指令
RESULT = NUM[index];
MOVC A,@A+DPTR
指針操作指令
POINT = & NUM;
RESULT = *POINT
二、偽指令
起始指令
中斷入口向量
void timer0(void)interrupt 1 using 1
變量定義
寄存器定義
unsigned char code tab[]={0x01,0x02,0x03,0x04};
三、程序調(diào)用上的不同
Unsigned char BYTESUB(ARG1,ARG2) //input ARG1,ARG2;output the result
{
}
……
RESULT=BYTESUB(ARG1,ARG2);
……
CALL BYTESUB
……
;INPUT: A,B
;OUTPUT: A
四、中斷處理上的不同:
void timer0(void)interrupt 1 using 1 // 開(kāi)啟TC0中斷,中斷號(hào)1,使用寄存器組1.
{
}
ORG 0BH
LJMP TC0ISR
TC0ISR:
評(píng)論