❶ 操作码与指令的关系
MCS-51使用汇编语言指令,它共有44个操作码助记符,33种功能,其操作数有#data、direct、Rn、@Ri等。这里先介绍指令助记符及其相关符号的记忆方法。 一、助记符号的记忆方法 1�表格列举法 把44个指令助记符按功能分为五类,每类列表记忆。此处从略,请读者自己总结。 2�英文还原法 单片机的操作码助记符是该指令功能的英文缩写,将缩写还原成英语原文,再对照汉语有助于理解其助记符含义,从而加强记忆。例如:增量 INC-Incremect 减量 DNC-Decrement 短转移 SJMP-Short jump 长转移 LJMP-Long jump 比较转移 CJNE-Compare jump not equality 绝对转移 AJMP-Absolute jump 空操作 NOP-No operation 交换 XCH-Exchange 加法 ADD-Addition 乘法 MUL-Multiplication 除法 DIV-Division 左环移 RL-Rotate left 进位左环移 RLC-Rotate left carry 右环移 RR-Rotate right 进位右环移RRC-Rotate right carry 3�功能模块记忆法 单片机的44个指令助记符,按所属指令功能可分为五大类,每类又可以按功能相似原则为2~3组。这样,化整为零,各个击破,实现快速记忆。 1)数据传送组。 2)加减运算组 MOV 内部数据传送 ADD 加法 MOVC 程序存储器传送 ADDC 带进位加法 MOVX 外部数据传送 SUBB 带进位减法 3)逻辑运算组。 4)子程序调用组。 ANL 逻辑与 LCALL 长调用 ORL 逻辑或 ALALL 绝对调用 XRL 逻辑异或 RET 子程序返回 二、指令的记忆方法 1�指令操作数的有关符号 MCS-51的寻址方式共有六种:立即数寻址、直接寻址、寄存器寻址、寄存器间址、变址寻址、相对寻址。我们必须掌握其表示的方法。 1)立即数与直接地址。ata表示八位立即数,#data16表示是十六位立即数,data或 direct表示直接地址。 2)Rn(n=0-7)、A、B、CY、DPTR寄存器寻址变量。 3)@R0、@R1、@DPTR、SP表示寄存器间址变量。 4)DPTR+A、PC+A表示变址寻址的变量。 5)PC+rel(相对量)表示相对寻址变量。 记住指令的助记符,掌握不同寻址方式的指令操作数的表示方法,为我们记忆汇编指令打下了基础。MCS-51指令虽多,但按功能可分为五类,其中数据传送类28条,算术运算类24条,逻辑操作类25条,控制转移类17条,布尔位操作类17条。在每类指令里,根据其功能,抓住其源、目的操作数的不同组合,再辅之以下方法,是完全能记住的。我们约定,可能的目的操作数按(#data/direct/A/Rn/@Ri)顺序表示。 对于MOV指令,其目的操作数按A、Rn、direct、@Ri的顺序书写,则可以记住MOV的15 条指令。例如以累加器A为目的操作数,可写出如下4条指令。 MOV A,#data/direct/A/Rn/@Ri 以此类推,写出其它指令。 MOV Rn,#data/direct/A MOV direct,#data/direct/A/Rn/@Ri MOV @Ri,#data/direct/A 2�指令图示记忆法 图示记忆法是把操作功能相同或相似、但其操作数不同的指令,用图形和箭头将目的、源操作数的关系表示出来的一种记忆方法。例如:由助记符MOV、MOVX、MOVC组成的送数组指令,可以用图1、2帮助记忆。 由助记符CJNE形成的四条指令,也可以用图示法表示,如图3。 CJNE A,#data,rel CJNE A,direct,rel CJNE @Rn,#data,rel CJNE @Ri,#data,rel 另外,对于由(ANL、ORL、ARL)形成的18条逻辑操作指令,有关A的四条环移指令,也可以用图示法表示,请读者自行画出记忆。 3�相似功能归类法 在MCS-51指令中,我们发现部分指令其操作码不同,但功能相似,而操作数则完全一样。相似功能归类法就是把具有这样特点的指令放在一起记忆,只要记住其中的一条,其余的也就记住了。如加、减法的十二条指令,与、或、非的十八条指令,现列举如下。 ADD/ADDC/SUBB A,#data/direct/Rn/@Ri ANL/ORL/XRL A,#data/direct/Rn/@Ri ANL/ORL/XRL direct,#data/a 上述每一排指令,功能相似,其操作数都相同。其它的如加1(INC)、减1(DEC)指令也可照此办理。 4�口诀记忆法 对于有些指令,我们可以把相关的功能用精练的语言编成一句话来记忆。如PUSH direct和POP direct这两条指令。初学者常常分不清堆栈SP的变化情况,为此编成这样一句话:(SP的内容)加1(direct的内容)再入栈,(SP的内容)弹出(到direct单元)SP才减1。又如乘法指令中积的存放,除法指令中被除数和除数以及商的存放,都可以编成口诀记忆如下。 MUL AB 高位积(存于)B,低位积(存于)A。 DIV AB A除以B,商(存于)A余(下)B。 7 回答者: mincowski
❷ 计算机中的指令和程序有什么区别
1、原理不同
指令:控制器按指令指令指令机器。人们用指令表达他们的意图,并把它们交给控制者执行。计算机可以执行的一整套不同的指令称为计算机的指令系统。每台计算机都有自己的专用指令系统,其指令内容和格式也各不相同。
程序:计算机需要加载代码,也需要加载数据。在计算机的底层,通过高级语言例如Java,C/C++,C#等)将其翻译成机器语言,并由CPU加载。
2、所含内容不同
指令:包括两个方面:操作码和操作数,它们决定了要完成的操作。
(1)操作员是指执行操作的设备的数据和地址。
(2)在计算机中,操作要求和操作数地址用二进制数字表示,分别称为操作码和地址码。整个指令以二进制编码的形式存储在内存中。
程序:以某些程序设计语言编写,运行于某种目标结构体系上。打个比方,程序就如同以英语(程序设计语言)写作的文章,要让一个懂得英语的人(编译器)同时也会阅读这篇文章的人(结构体系)来阅读、理解、标记这篇文章。
(2)命令符与操作码的区别扩展阅读:
程序算法的特点:
1、有穷性:算法必须确保在执行有限步之后完成。
2、可行性:算法是精确可行的,即使在数学上,算法也是可行的,但如果在实际应用中,程序不能执行,那么算法是不可行的。
3、确切性:算法的每一步都必须有明确的含义。
4、输入:算法必须有0个或多个输入。
5、输出:一个算法必须有一个或多个输出。
❸ 什么是操作码和操作数
操作码:计算机程序中所规定的要执行操作的那一部分指令或字段(通常用代码表示),其实就是指令序列号,用来告诉CPU需要执行哪一条指令。
指令系统的每一条指令都有一个操作码,它表示该指令应进行什么性质的操作。不同的指令用操作码这个字段的不同编码来表示,每一种编码代表一种指令。组成操作码字段的位数一般取决于计算机指令系统的规模。
操作数:运算符作用于的实体,是表达式中的一个组成部分,它规定了指令中进行数字运算的量。
通常一条指令均包含操作符和操作数。例如:在比较指令中操作符指定计算机做比较操作,操作数则指定进行比较的两个数值。
操作数是指令执行的参与者,也就是各种操作的对象.与之有关的是操作码,所谓操作码是说明计算机要执行哪种,如传送,运算,移位,跳转等操作,它是指令中不可缺少的组成部分。
(3)命令符与操作码的区别扩展阅读:
操作数的形式:
立即操作数:指令要操作的数据以常量的形式出现在指令中,称为立即数,它只能作为源操作数。
寄存器操作数:指令要操作的数据存放在CPU中的寄存器里,指令中给出寄存器名即可。
内存操作数:指令要操作的数据存放在内存某些单元中,指令中给出内存单元物理地址(实际上指令只给出了偏移地址,段地址采用隐含方式给出,也可以使用跨段方式指出当前段地址)。
操作码:是指令操作功能的记述,而操作数描述操作的对象和操作的范围。PIC16F873共有35条指令,均是长度为14位的单字节指令。
因此权限控制在业务接口上进行,按管理功能点划分管理操作权限,将每一个管理功能点划分为一个操作,用一个全局唯一的整数表示,称为操作码。
至于其余各计数译码器因相应的按钮未被按故其输出皆为YO=“回”上述操作可按照被按按钮的编号及被接的顺序和次数简写成1328“称为操作码。
❹ 指令、操作码、机器码 的区别是什么
指令包括操作码和操作数,机器码是用机器语言描述的指令
❺ 操作码,指令,关键字的区别,,计算机,,,编程,,C语言
你好,这个操作码,指令,关键字应该是汇编语言的只是吧?
比如 LD R1 ,R2 这个就是一条指令,R1,R2是寄存器寻址的操作码,LD是关键字
❻ 汇编语言中的操作码是什么意思
汇编语言中的操作码是指令序列号,用来告诉CPU需要执行哪一条指令的意思。通俗的讲就是计算机程序中所规定的要执行操作的那一部分指令或字段。
指令系统的每一条指令都有一个操作码,表示该指令应进行什么性质的操作。不同的指令用操作码这个字段的不同编码来表示,每一种编码代表一种指令。组成操作码字段的位数一般取决于计算机指令系统的规模。
(6)命令符与操作码的区别扩展阅读
操作码就是指令码,占一个字节的长度,一个字节码可以有多少操作数.目前,Java虚拟机规范中定义了220个字节码指令。
技术性符号也是通过0和1来定义的,例如,操作码+的定义是01100001,等等.由此可以看出,B中只有两个初始符号0和1。
操作码是指令操作功能的记述,而操作数描述操作的对象和操作的范围.PIC16F873共有35条指令,均是长度为14位的单字节指令。
地址码则复杂一些,主要包括源操作数地址、目的操作数地址.在某些指令中,地址码可以部分或全部省略,比如一条空指令就只有操作码而没有地址码。
❼ 操作码和指令是什么关系
一条指令里面包含了操作码,比如说ADD r1,r2;这是一条汇编指令,r1,r2就是操作码。
❽ 什么是操作码和操作数
操作码其实就是指令序列号,用来告诉CPU需要执行哪一条指令。
指令系统的每一条指令都有一个操作码,它表示该指令应进行什么性质的操作。不同的指令用操作码这个字段的不同编码来表示,每一种编码代表一种指令。组成操作码字段的位数一般取决于计算机指令系统的规模。
操作数(operand),是计算机指令中的一个组成部分,它规定了指令中进行数字运算的量 。操作数指出指令执行的操作所需要数据的来源。操作数是汇编语言指令的一个字段。例如:Mov AX 5678H 操作数(AX 5678H)。在操作数这个字段中可以放操作数本身,也可以放操作地址,还可以放操作地址的计算方法。
通常一条指令均包含操作符和操作数。例如:在比较指令中操作符指定计算机做比较操作,操作数则指定进行比较的两个数值。
操作数是指令执行的参与者,也就是各种操作的对象.与之有关的是操作码,所谓操作码是说明计算机要执行哪种,如传送,运算,移位,跳转等操作,它是指令中不可缺少的组成部分。