C语言指令汇总

合集下载

c语言自定义-指令

c语言自定义-指令
xchg a,b 把a和b的数据交换 a,b的数据类型要相同
jmp a b或者jmp a a说明是段间/段内转移/进转移 b=标号 jmp转移地址可以在j/n中
jcxz 标号 如果cx=0 转到标号处执行,否则忽略掉
call a a=标号/目的地址 把call下面的指令地址入栈,然后转到a去执行
Hale Waihona Puke inc a 把a加上1 DEC a 把a减1
xchg a,b 把a和b的数据交换,a b可以是寄存器和存储器,两存储器=假 段寄存器=假
AND a,b a逻辑与b 只要a和b=1 就=1 否则=0
lea a,b 把原操作数b有效地址给a a=16位寄存器 b=变量/标号/地址 指令可以=lea a a,[b][c]
ret 功能 sp=sp+2把栈的的数据到ip中 ,相等于pop ip
retf 功能 sp=sp+2把把栈到ip然后在sp=sp+2到cs 相等于pop ip,pop cs 高地址到段地址,低地址到ip
cmp a,b 功能如果a-b=0 就把zf置0
功能:
ADD a,b (加法指令)a=a+b
sub a,b (减法指令) a减去b 放到a中
mov a,b (赋值)b赋值到a中
push a (入栈)把a入栈 地址是从ss:sb中得到
pop a (出栈) 把栈数据 出栈到a里面
loop a 循环标识符是a的指令那里 次数在cx里面

C语言指令集

C语言指令集

main【主涵数】auto【{加在涵数名前}自动储存类变量】------------------短register【{加在涵数名前}寄存器储存类变量】|extern【{加在涵数名前}外部储存类{可以不加}】|static【{加在涵数名前}静态储存类变量】----------------长void【没反回值】for【{3个条件语句}循环】while【{循环】do while【{前do循环体语句,后while条件语句}循环】if【{else补充语句,该短语只可有一个}{else if短语可有N个}条件】switch()【{case条件:程序段}{default条件不满足程序段}{break结束语}开关】goto【没条件转向】break【{适合于各种方式的循环}结果语】continue【判断结束语】return【反回语句】bool【布尔型变量】int【整型】-----------------------------低unsigned【没符号字符型】|long【长整型】|double【双精度浮点型】------------------高short【短整型】unsigned【没符号整型】unsigned short【没符号短整型】unsigned long【没符号长整型】char【字符型】float【单精度浮点型】()【括号】-----------------------优[]【下标】先,【合成表达式】级------结合性:左到右→,.【成员】:return【返回】-------------------0!【{真为假,假为真}非】-------------------------优~【位非】先++【{前缀表达式增1.后缀表达式不增1}增1】级--【{前缀表达式减1.后缀表达式不减1}减1】:-【求反】1------结合性:右到左(())【强制类型】|*【{指针运算符}取内容】|&【{指针运算符}取地址】|sizeof【字节数】--------------------------------|*【乘】--------------优---------------------------------------|/【除】先:3 |%【求余】------------级|+【加】----------优先|-【减】----------级:4 |<<【{只改表达式的值}左移】---------优先|>>【{只改表达式的值}右移】---------级:5 |>【大于】---------------优|<【小于】先6 |---结合性:左到右>=【大于等于】级|<=【小于等于】----------:|==【等于】----------优先级|!=【不等于】-------:7 |&【位与】--------优先级:8 |^【位异或】--------优先级:9 ||【位或】-------优先级:10 |&&【{都为真即真}与】-------优先级:11 |||【{都为假即假}或】-------优先级:12------------------------|表达式1?表达式2:表达式3【{真为第一个表达式,假为第二个表达式}条件求值】-----------------------------------------------------------------优先级:13------------------| =【简单赋值】----------------------------优|---结合性:右到左+=,-=,*=,/=,%=【复合算术赋值】先:14 | &=,|=,^=,>>=,<<=【复合位运算赋值】--------级-------------------------|,【句号】-------优先级:15-------结合性:左到右malloc【申请动态内存】struct【结构定义】*/【注释符】\n【换行符】\t【水平制表】\b【退格】\a【鸣铃】\'【单引号】\r【回车】\v【垂直制表】\f【走纸换页】\\【反斜线】\0【ASCII码为0的字符】<<=【{改变变量值}左移】>>=【{改变变量值}右移】*【{指针运算符}取内容】&【{指针运算符}取地址】sizeof【计算数据类型所占的字节数】getchar()【接收字符型输入{带缓冲区和回显}】gets()【接收字符串型输入】scanf()【标准格式输入】%d{十进制整数}%x{十六进制整数}%o{八进制整数}%u{没符号十进制整数}%f{小数表示的浮数点数}%e{指数表示的浮数点数}%c{单个字符}%s{字符串}【标准格式输入的格式说明符】putchar()【字符型输出】puts()【字符串型输出】printf()【标准格式输出】%d{十进制整数}%x{十六进制整数}%o{八进制整数}%u{没符号整数}%f{小数表示的浮数点数}%e{指数表示的浮数点数}%c{单个字符}%s{字符串}g{e和f中较短的一种}【标准格式输出的格式说明符】#define【宏定义】undef【终止宏定义】。

C语言指令表与符号表

C语言指令表与符号表
编译指令 #include #define #undef #asm 和 #endasm #ifdef、 #ifndef、 #else、 #endif
注解:/ / — 单 行 注 解 ; / * 多 行 注 解 * /
C 语言符号控制命令表
C 语言指令表与符号表
编译指令
基本数据类型 ( int,float,double,char,void)
2.社会主义本质理论对探索怎样建设3.社19会57主年义2月具,有毛重在要《的关实于践正意确义处。理社人会民主内义2.社部本科会矛质学主盾理的义的论1本本问的.邓质质题提小是的》出平创科讲,提新学话为出,内中我“创涵提们社邓新。出寻始会小的邓(找终主平关小1一代义)坚键平种表的我2持在对能.1中本国把科人社9够国质社5发学才会从4先,会展社年,主更进是主作会,人义深生解义为主毛才本层产放制执义在的质次1力生度政理《成所.认社1的产还兴论论长作.识会 发发力刚国和十靠的社主 展展,刚的实大教概会义 才要发建第践关坚育括主本 是求展立一的系2持。,义质 硬、,生,要基》以人一,理 道发大产还务本重发才方从论 理展力力没是成要展资面而把 ,才促,有由果讲社的源强为我 把是进消完中,话会办是调中四们 发(硬先灭全国抓中主法第必国、对 展2道进剥建共住提三义解一)须的科社 生理生削立产“出、经决资采解社学会 产,产,党什(代济前源取放会技主 力是力消还的么1表基进。从和主术义 作)对的除不执是中础科低发义是1的 为吧社3发两完政社9国基的学级展.建第发认 社二国5会展极全地会先本问技到6生设一展识 会、内主,年分巩位主进建题术高产在生才提 主发外义是底化固所义生立,实级力改产是高 义1展一时中我,的决邓产的是力9,革力硬到 建是切间5国最思定怎小力同实和国另3开道了 设党积经共对终想年的样平的时行国家一放理一 的执极验产农

C语言常用语句总结

C语言常用语句总结

C语言常用语句总结一:常用函数1、putchar函数:putchar函数(字符输出函数):向终端输出一个字符。

一般形式为:putchar(c)// 输出字符变量c的值。

== printf(“%c”,c)2、getchar函数getchar函数(字符输入函数):从终端输入一个字符。

getchar函数没有参数,一般形式为:c=getchar() //将输入的字符赋值给c3、printf函数printf函数(格式输入函数):向终端输出若干个任意类型的数据。

printf的一般格式为:printf(“格式控制”,对应变量名)// 例如:printf(”%d,%c\n”,i,c)4、scanf函数scanf(格式输入函数):从终端输入若干个任意类型的数据。

一般形式为:scanf(“格式控制”,&变量名)二:基本语句(除if语句外,switch和三种循环语句都需要{大括号}的支持)(1)条件语句if和switch1、if语句:*********************if(表达式)语句1;语句2;// if下的各独立语句用分号分隔。

*********************if(表达式)语句1;else语句2;*********************if(表达式1)语句1;else if(表达式2) // 每一个if与他最近的一个else对应。

语句2;....else if(表达式n)语句n;else语句n+1;*********************If语句的嵌套if(表达式)if(表达式)语句1else语句2elseif(表达式)语句3else语句42、switch语句switch (表达式){case 常量表达式1:语句1case常量表达式2:语句2 // 每一个case表达式后都需要加上break跳出,否则case常量表达式n: 将依次执行下去。

语句ndefault :// 大括号划分switch内语句语句n+1}(2)三种循环语句1、 while语句while语句用来实现“当型”循环结构。

C语言符指令表

C语言符指令表

编译指令注解:变量前面加上*号就是取得指针所指向位置的内容。

例:i n t x[5]={1,2,3,4,5};i n t*p;p=x;量前面加上&符号,可以取得一个变量的位置。

例:i n t x,y;i n t*p;p=&x;符号也可以加在数组的前面例:i n t x[5];i n t*p;p=&x[2]; .d e l a y();结构体成员运算符2级优先级右结合! 逻辑非运算符~ 按位取反运算符++ 自增运算符-- 自减运算符- 负号运算符(类型) 类型转换运算符* 指针运算符& 地址与运算符sizeof 长度运算符3级优先级左结合* 乘法运算符/ 除法运算符% 取余运算符4级优先级左结合+ 加法运算符- 减法运算符5级优先级左结合<< 左移运算符>> 右移运算符6级优先级左结合<、<=、>、>= 关系运算符7级优先级左结合== 等于运算符!= 不等于运算符8级优先级左结合& 按位与运算符9级优先级左结合^ 按位异或运算符10级优先级左结合| 按位或运算符11级优先级左结合&& 逻辑与运算符12级优先级左结合|| 逻辑或运算符13级优先级右结合? : 条件运算符14级优先级右结合=+ =- =*=/ =% =>= < <=&= ^= |= 全为赋值运算符15级优先级左结合,逗号运算符。

c语言 mips指令

c语言 mips指令

c语言 mips指令MIPS指令集是一种32位精简指令集(RISC)体系结构,它在计算机体系结构领域具有非常广泛的应用。

在编写C语言程序时,通常需要将高级语言的代码转化为MIPS指令集的汇编代码。

以下是一些关于C语言和MIPS指令集的相关参考内容,其中不包含链接的详细解释:1. C语言的数据类型映射到MIPS指令集的寄存器:- int类型通常映射到整数寄存器($t0-$t9)- float类型通常映射到浮点寄存器($f0-$f31)- char类型通常也映射到整数寄存器,但需要使用指令来执行字节操作2. C语言的条件语句(if-else语句)在MIPS指令集中的实现: - 使用比较指令(比如"slt", "sltu")将两个操作数进行比较- 根据比较的结果,使用分支指令(比如"beq", "bne", "j")跳转到不同的代码块- 可以使用标签(label)来标记不同的代码块,以便跳转3. C语言的循环语句(for循环、while循环)在MIPS指令集中的实现:- 使用比较指令判断循环条件,如果条件满足,则执行循环体内的指令- 在循环体内执行相应的操作,包括更新循环变量的值- 使用分支指令(比如"beq", "bne", "j")跳转到循环开头或循环结束的位置4. C语言的函数调用和参数传递在MIPS指令集中的实现:- 使用特殊的寄存器(比如$ra、$fp、$sp)来保存函数的返回地址、帧指针和栈指针- 将函数参数保存在寄存器或者栈中,并在函数内部使用它们- 使用分支指令跳转到函数的入口,执行函数体内的指令- 使用jr指令返回到调用函数的位置5. C语言中的数组和指针在MIPS指令集中的实现:- 使用基址寄存器(比如$gp)和偏移量来访问数组的元素- 使用la指令加载数组的地址到寄存器,使用lw和sw指令进行读取和存储操作- 使用指针变量保存地址,进行间接寻址操作6. C语言中的结构体和联合体在MIPS指令集中的实现:- 结构体和联合体的成员通常按照顺序在内存中排列- 使用指令来访问结构体和联合体的成员,比如使用lb和sb指令加载和存储字节型成员这些参考内容可以帮助程序员理解在C语言程序中,各种语法和语义对应着MIPS指令集的实现方式。

C语言符号、指令表

C语言符号、指令表

编译指令注解://—单行注解;/*多行注解*/根本数据类型(i n t,f l o a t,d o u b l e,c h a r,v o i d)用户自界说数据类型格局t y p e d e f s t r u c t{数据类型变量序列1;数据类型变量序列1;...}自界说数据类型的名称;保存字_a t_,a l i e n,b d a t a,b r e a k,b i t,c a s e,c h a r,c o d e,c o m p a c t,c o n s t,c o n t i n u e,d a t a,d e f a u l t,d o,d o u b l e,f a r,e l s e,e n u m,e x t e r n,f l o a t,f o r,g o t o,i f,f u n c u s e d,i d a t a,i n t,i n l i n e,i n t e r r u p t,l a r g e,l o n g,p d a t a,_p r i o r i t y_,r e e n t r a n t,r e t u r n,s b i t,s f r,s f r16,s h o r t,s i g e n d,s i z e o f,s m a l l,s t a t i c,s t r u c t,s w i t c h c_t a s k_,t y p e d e f,u s i n g,u n i o n,u n s i g n e d,v o i d,v o l a t i l e,w h i l e,x d a t a常量暗示法-----------------------------------------------------运算符-----------------------------------------------------算术运算※假设a等于8,b等于2比较运算※比较运算成果是个布尔值既T R U E(真值)或F A L S E(假值).假设a等于8逻辑运算※逻辑运算成果是个布尔值既T R U E(真值)或F A L S E(假值).假设a等于8位逻辑运算※假设a等于5----------------------------------------------------掌握敕令---------------------------------------------------i f语句i f(前提)语句1;e l s e语句2;例:i f(d==4)d=0;//假如d等于4就设置d等于0e l s e d++;//不然就将d加1i f(t i c k s==0){//假如t i c k s等于0t i c k s=1000;//t i c k s设置成1000c o u n t e r[0]++;//c o u n t e r[0]加1}嵌套i f语句例:i f(c o u n t e r[0]==10){c o u n t e r[1]++;c o u n t e r[0]=0;i f(c o u n t e r[1]==10){c o u n t e r[2]++;c o u n t e r[1]=0;}}s w i t c h语句s w i t c h(变量){c a s e常量1:语句1;b r e a k;c a s e常量2:语句2;b r e a k;c a s e常量3:语句3;b r e a k;......d e f a u l t;语句n;}f o r轮回f o r(初值,前提,变更值)语句;例:f o r(i=0;i<10;i++)x=x+i;f o r(i=1;i<10,i++)f o r(j=1;j<10,j++)p r i n t f(“%d%d”,i,j);无限轮回:f o r(;;);w h i l e轮回w h i l e(前提)语句;例:w h i l e(c h!=!’A’)c h=g e t c h e();无限轮回:w h i l e(1);d o/w h i l e轮回d o{语句;...}w h i l e(前提);例:d o{c h=g e t c h e();}w h i l e(c h!=”A”);g o t o语句l o o p1:x++;i f(x<100)g o t o l o o p1;----------------------------------------------------指针和函数------------------------------------------------指针的界说数据类型 *指针变量的名字;例: c h a r*p;i n t*x;指针与数组例: c h a r f i l e n a m e[80];c h a r*p;p=f i l e n a m e; //指针p存放f i l e n a m e的开端地址i n t x[5]={1,2,3,4,5};i n t*p,s u m,i;p=x; //指针p存放数组x的开端地址f o r(i=0;i<5;i++)s u m=s u m+p[i]; //p[i]相当于x[i]指针的运算1.针变量前面加上*号就是取得指针所指向地位的内容.例:i n t x[5]={1,2,3,4,5};i n t*p;p=x;//指针p存放数组x的开端地址*p=10; //相当于设置x[0]等于102.变量前面加上&符号,可以取得一个变量的地位.例:i n t x,y;i n t*p;p=&x; //指针p存放x的地址,相当于p是指向x 的指针*p=1; //相当于设置x等于13.&符号也可以加在数组的前面例:i n t x[5];i n t*p;p=&x[2]; //指针p存放x[2]的地址,相当于p是指向x[2]的指针*p=50; //相当于设置x[2]等于50函数函数类型函数名称(参数序列);参数解释{函数的主体}例:v o i d d e l a y(v o i d){//不返回任何数据的函数u n s i g n e d c h a r i,j;//没有任何参数的函数f o r(i=0,i<255,i++)f o r(j=0,j<255,j++);}m a i n(){...d e l a y();//挪用函数}例:u n s i g n e d c h a r s u m(u n s i g n e d c h a t a,u n s i g n e d c h a t b) {u n s i g n e d c h a t x;c h e c k_G L C D_b u s y f l a g(); //函数中可以挪用另一个函数x=a+b;r e t u r n x; //r e t u r n会返回x的数据}中止办事函数v o i d中止办事程序的名称(v o i d)i n t e r r u p t中止号码u s i n g存放器组号码{中止办事子程序主体}中止号码#d e f i n e I E0_V E C T O R0//0x03#d e f i n e T F0_V E C T O R1//0x0B#d e f i n e I E1_V E C T O R2//0x13#d e f i n e T F1_V E C T O R3//0x1B#d e f i n e S I O_V E C T O R4//0x23对于S51有准时器2#d e f i n e T F2_V E C T O R5//0x2B例:s t a t i c v o i d x i n t0_i s r(v o i d)i n t e r r u p t I E0_V E C T O R(或0)u s i n g1{u n s i g n e d c h a r i,j=0x F F;f o r(i=0,i<16,i++){j++;P1=j;//将数值输出到P1口d e l a y_4i s r();}}-----------------------------------------------------汇编说话--------------------------------------------------在C中参加汇编说话例:v o i d d e l a y100u s(){#p r a g m a a s mm o v r7,#1m o r e:m o v r3,#48d j n z r3,$d j n z r7,m o r e#p r a g m a e n d a s m}----------------------------------------------------宏(macro)----------------------------------------------宏的界说%*d e f i n e(m a c r o名称)(m a c r o的指令)例:%*d e f i n e(w r i t e_1)(s e t b D Is e r b S Kc l r S K)#d e f i n e宏的名称宏的指令例:#d e f i n e u c h a r u n s i g n e d c h a r1级优先级左联合() 圆括号[] 下标运算符-> 指向构造体成员运算符. 构造体成员运算符2级优先级右联合! 逻辑非运算符~ 按位取反运算符++ 自增运算符-- 自减运算符- 负号运算符(类型) 类型转换运算符* 指针运算符& 地址与运算符sizeof 长度运算符3级优先级左联合* 乘法运算符/ 除法运算符% 取余运算符4级优先级左联合+ 加法运算符- 减法运算符5级优先级左联合<< 左移运算符>> 右移运算符6级优先级左联合<.<=.>.>= 关系运算符7级优先级左联合== 等于运算符!= 不等于运算符8级优先级左联合& 按位与运算符9级优先级左联合^ 按位异或运算符10级优先级左联合| 按位或运算符11级优先级左联合&& 逻辑与运算符12级优先级左联合|| 逻辑或运算符13级优先级右联合? : 前提运算符14级优先级右联合=+ =- =*=/ =% =>= < <=&= ^= |= 全为赋值运算符15级优先级左联合, 逗号运算符。

C语言符号 指令表

C语言符号 指令表

编译指令注解://—单行注解;/*多行注解*/基本数据类型(i n t,f l o a t,d o u b l e,c h a r,v o i d)用户自定义数据类型格式t y p e d e f s t r u c t{数据类型变量序列1;数据类型变量序列1;...}自定义数据类型的名称;保留字_a t_,a l i e n,b d a t a,b r e a k,b i t,c a s e,c h a r,c o d e,c o m p a c t,c o n s t,c o n t i n u e,d a t a,d e f a u l t,d o,d o u b l e,f a r,e l s e,e n u m,e x t e r n,f l o a t,f o r,g o t o,i f,f u n c u se d,i d a t a,i n t,i n l i n e,i n t e r r u p t,l a r g e,l o n g,p d a t a,_p r i o r i t y_,r e e n t r a n t,r e t u r n,s b i t,s f r,s f r16,s h o r t,s i g e n d,s i z e o f,s m a l l,s t a t i c,s t r u c t,s w i t c h c_t a s k_,t y p e d e f,u s i n g,u n i o n,u n s i g n e d,v o i d,v o l a t i l e,w h i l e,x d a t a常量表示法-----------------------------------------------------运算符-----------------------------------------------------算术运算比较运算※比较运算结果是个布尔值既T R U E(真值)或F A L S E(假值)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

●一、数据传送类指令
指令格式功能简述字节数周期
MOV A,Rn 寄存器送累加器1 1
MOV Rn,A 累加器送寄存器1 1
MOV A ,@Ri 内部RAM单元送累加器1 1
MOV @Ri ,A 累加器送内部RAM单元1 1
MOV A ,#data 立即数送累加器2 1
MOV A ,direct 直接寻址单元送累加器2 1
MOV direct ,A 累加器送直接寻址单元2 1
MOV Rn,#data 立即数送寄存器2 1
MOV direct ,#data 立即数送直接寻址单元3 2
MOV @Ri ,#data 立即数送内部RAM单元2 1
MOVX A ,@DPTR 外部RAM单元送累加器(16位地址) 1 2 MOVX @DPTR ,A 累加器送外部RAM单元(16位地址) 1 2 MOVC A ,@A+DPTR 查表数据送累加器(DPTR为基址) 1 2 MOVC A ,@A+PC 查表数据送累加器(PC为基址) 1 2
XCH A ,Rn 累加器与寄存器交换1 1
XCH A ,@Ri 累加器与内部RAM单元交换1 1
XCHD A ,direct 累加器与直接寻址单元交换2 1
XCHD A ,@Ri 累加器与内部RAM单元低4位交换1 1
SWAP A 累加器高4位与低4位交换1 1
POP direct 栈顶弹出指令直接寻址单元2 2
PUSH direct 直接寻址单元压入栈顶2 2
●算术运算类指令
ADD A,Rn 累加器加寄存器1 1
ADD A,@Ri 累加器加内部RAM单元1 1
ADD A,direct 累加器加直接寻址单元2 1
ADD A,#data 累加器加立即数2 1
ADDC A,Rn 累加器加寄存器和进位标志1 1
ADDC A,@Ri 累加器加内部RAM单元和进位标志1 1
ADDC A,#data 累加器加立即数和进位标志2 1
ADDC A,direct 累加器加直接寻址单元和进位标志2 1
INC A 累加器加1 1 1 INC Rn 寄存器加1 1 1
INC direct 直接寻址单元加1 2 1
INC @Ri 内部RAM单元加1 1 1
INC DPTR 数据指针加1 1 2
DA A 十进制调整1 1
SUBB A,Rn 累加器减寄存器和进位标志1 1
SUBB A,@Ri 累加器减内部RAM单元和进位标志1 1
SUBB A,#data 累加器减立即数和进位标志2 1
SUBB A,direct 累加器减直接寻址单元和进位标志2 1 DEC A 累加器减1 1 1
DEC Rn 寄存器减1 1 1
DEC @Ri 内部RAM单元减1 1 1
DEC direct 直接寻址单元减1 2 1
MUL AB 累加器乘寄存器B 1 4
DIV AB 累加器除以寄存器B 1 4
●逻辑运算类指令
ANLA,Rn 累加器与寄存器1 1
ANL A,@Ri 累加器与内部RAM单元1 1
ANL A,#data 累加器与立即数2 1
ANL A,direct 累加器与直接寻址单元2 1
ANL direct,A 直接寻址单元与累加器2 1
ANL direct,#data 直接寻址单元与立即数3 1
ORL A,Rn 累加器或寄存器1 1
ORL A,@Ri 累加器或内部RAM单元1 1
ORL A,#data 累加器或立即数2 1
ORL A,direct 累加器或直接寻址单元2 1
ORL direct,A 直接寻址单元或累加器2 1
ORL direct,#data 直接寻址单元或立即数3 1
XRL A,Rn 累加器异或寄存器1 1
XRL A,@Ri 累加器异或内部RAM单元1 1
XRL A,#data 累加器异或立即数2 1
XRL A,direct 累加器异或直接寻址单元2 1
XRL direct,A 直接寻址单元异或累加器2 1
XRL direct,#data 直接寻址单元异或立即数3 2
RL A 累加器左循环移位1 1
RLC A 累加器连进位标志左循环移位1 1
RR A 累加器右循环移位1 1
RRC A 累加器连进位标志右循环移位1 1
CPL A 累加器取反1 1 CLR A 累加器清零1 1
●控制转移类指令类
ACCALL addr11 2KB范围内绝对调用2 2
AJMP addr11 2KB范围内绝对转移2 2
LCALL addr16 2KB范围内长调用3 2
LJMP addr16 2KB范围内长转移3 2
SJMP rel 相对短转移2 2
JMP @A+DPTR 相对长转移1 2
RET 子程序返回1 2
RET1 中断返回1 2
JZ rel 累加器为零转移2 2
JNZ rel 累加器非零转移2 2
CJNE A ,#data ,rel 累加器与立即数不等转移3 2
CJNE A ,direct ,rel 累加器与直接寻址单元不等转移3 2 CJNE Rn,#data ,rel 寄存器与立即数不等转移3 2
CJNE @Ri ,#data,rel RAM单元与立即数不等转移3 2
DJNZ Rn ,rel 寄存器减1不为零转移2 2
DJNZ direct ,rel 直接寻址单元减1不为零转移3 2
NOP 空操作1 1
布尔操作类指令
MOV C,bit 直接寻址位送C 2 1
MOV bit,C C送直接寻址位2 1 CLR C C清零1 1
CLR bit 直接寻址位清零2 1
CPL C C取反1 1
CPL bit 直接寻址位取反2 1
SETB C C置位1 1
SETB bit 直接寻址位置位2 1
ANL C,bit C逻辑与直接寻址位2 2
ANL C,/bit C逻辑与直接寻址位的反2 2
ORL C,bit C逻辑或直接寻址位2 2
ORL C,/bit C逻辑或直接寻址位的反2 2
JC rel C为1转移2 2 JNC rel C为零转移2 2
JB bit,rel 直接寻址位为1转移3 2
JNB bit,rel 直接寻址为0转移。

相关文档
最新文档