一、指令和指令系统
指令(Instruction )是要求计算机执行特定操作的命令,通常一条指令对应一条特定的
操作。
指令系统(Instruction Set)是指计算机所能执行的全部命令的集合。8086的指令系统中包含有Intel系列中8位微处理器 8080和8085的常用指令或与之相当的指令。除此之外,还具有如下一些重要的新操作:带符号和不带符号的二进制数和非压缩的十进制数乘/除法;长度可达64K字节的字符串传送、比较和扫描操作;非破坏性的位测试操作;将一个字节从一种代码转换成另一种代码;由软件产生的中断以及一组能协调多处理器系统工作的指令。
8086的指令能同样方便地处理字节数据和字数据。大多数指令中可互换地规定寄存器操作数、存储器操作数和立即数操作数(注意:立即数只能作为“源”操作数而不能作为“目的”操作数)。特别值得一提的是:存储器变量能在原处实现加数、减数、移位和比较操作,而不必将其移入和移出寄存器。这样就节省了汇编语言程序的指令、寄存器和执行时间。
二、机器指令和汇编码指令
8086的指令系统有两种级别:汇编级和机器级。对汇编语言程序员而言.在8086的指令系统中包括100多条汇编级指令,而机器级指令有300余条。例如.一条传送指令MOV能将一个字节或一个字从一个寄存器或存储单元传送到另一个寄存器或存储单元中去,或者将一个立即数传送到寄存器或存储单元中去。而MOV指令的机器指令有28条。
指令一般包括两个部分:操作码(Operation Code,Opcode)和操作数(Operand),操作码注明该指令应由计算机完成何种操作;而操作数指出参加操作的对象本身或其所在的地址。
(一)机器指令
计算机只能识别二进制代码,因此计算机能执行的指令必须以二进制代码的形式表
示,这种以二进制代码形式表示的指令称为指令的机器码(Machine Code)。
8086采用变字节长指令,一条8086指令由1—6个字节组成,其典型格式如图3-1所
示。
(1)第1字节为操作码字节,高6位为操作码,指出指令的操作类型。
图3-1 8086机器指令的典型格式
(2)第2字节为寻址方式字节,指出该指令中所用操作数存放在何处(存储器还是寄存器),以及存储器操作数有效地址EA的计算方法。
(3)第3~6字节根据指令的不同而决定取舍,一般由其指出存储器操作数地址的位移量与/或立即数o
(二)汇编码指令
早期的计算机只能执行用机器码编制的用户源程序,称为机器语言程序,机器语言编
程难记、难懂、易出错。汇编码指令是用助记符表示相应机器指令的操作码和操作数,操作码的助记符通常是表示指令功能的英文名词的缩写,例如用ADD表示加法,用JMP表示跳转等等;操作数的助记符如寄存器名AX、BX等等。用汇编语言编制的程序易记、易懂、不易出错。当然汇编码指令必须经过称为“汇编程序” (Assembler ,Assembly program)的翻译程序,翻译成机器指令后才能为计算机的CPU所接受。
热点关注:
广东自考成绩查询【小程序查分】图文流程方式
广东省2020年1月自考成绩于3月31日公布