微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 51单片机C和汇编指令对比

51单片机C和汇编指令对比

时间:11-18 来源:互联网 点击:
一、单一指令比较:

字节操作

加法指令

减法指令

乘法指令

除法指令

取模指令

位测试指令

_testbit_ (bit);

左移指令

Variable = Variable < 1;

右移指令

Variable = Variable >> 1;

位取反指令

与运算指令

或运算指令

异或运算指令

子程序调用

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};

三、程序调用上的不同

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 // 开启TC0中断,中断号1,使用寄存器组1.

{

}

ORG 0BH

LJMP TC0ISR

TC0ISR:

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top