机器指令是用机器(计算机)的机器代码编写的命令或程序,可以识别和执行。
- 机器指令由内存中的几个字节组成,这些字节告诉处理器执行一个机器操作。
- 处理器逐个查看主存中的机器指令,并对每条机器指令执行一次机器操作。
- 主存储器中的机器指令集合称为 机器语言程序。
机器代码或机器语言是由计算机中央处理器(CPU)直接执行的一组指令。每一条指令都执行一项非常特定的任务,例如加载、跳转或对CPU寄存器或内存中的数据单元执行ALU操作。CPU直接执行的每个程序都由一系列这样的指令组成。
文件的一般格式 机器指令 是
[标签:]助记符[操作数,操作数][;注释] |
- 括号表示字段是可选的
- 标签中出现的第一个字节是指令的标识符。必须紧跟其后 “:”
- 包含空格是任意的,但至少必须插入一个空格;没有空间会导致歧义。
- 注释字段以分号开头 “ ; ”
例子:
这里是:MOV R5,#25H;在R5中加载25小时 |
8086微处理器中使用的机器指令
1.数据传输指令 –移动、负载交换、输入、输出。
- MOV:将字节或字移动到寄存器或内存。
- 输入,输出:从端口输入字节或字,输出字到端口。
- 加载有效地址
- LDS,LES使用数据段加载指针,额外段。
- 推,弹出:将单词推到堆栈上,将单词从堆栈中弹出。
- 交换字节或字。
- XLAT:使用查找表翻译字节。
2.算术指令 –加、减、增、减、转换字节/字并进行比较。
- 加,减:加,减字节或字
- ADC,SBB:加、减字节或字并进位(借用)。
- INC,DEC:递增、递减字节或字。
- 否定:否定字节或单词(二的补码)。
- CMP:比较字节或字(减去而不存储)。
- MUL,DIV:乘、除字节或字(无符号)。
- IMUL、IDIV:整数乘、除字节或字(带符号)
- CBW,CWD:将字节转换为字,将字转换为双字
- AAA,AAS,AAM,AAD:ASCII调整为add,sub,mul,div。
- DAA,DAS:十进制调整为加法,减法(BCD数字)
3.逻辑指令 –和、或、异或、移位/旋转和测试
- 非:逻辑非字节或字(补码)
- AND:字节或字的逻辑AND
- 或:字节或字的逻辑或。
- 异或:字节或字的逻辑异或
- 测试:测试字节或字(不存储)。
- SHL,SHR:逻辑移位旋转指令左移位、右移位字节或字?通过1或CL
- SAL,SAR:算术左移,右移字节还是字?按1或CL
- ROL,ROR:向左、向右旋转字节或单词?通过1或CL。
- RCL,RCR:通过进位字节或字向左、向右旋转?通过1或CL。
- 字符串操作指令 –加载、存储、移动、比较和扫描字节/字
- MOVS:移动字节或字串
- MOVSB,MOVSW:移动字节,字字符串。
- CMPS:比较字节或字串。
- SCAS:can字节或字串(与A或AX相比)
- LODS、STOS:将字节或字串加载、存储到AL。
5.控制转移指令 –有条件的、无条件的、调用子例程并从子例程返回。
- JMP:无条件跳转。它包括循环传输、子程序和中断指令。
- JNZ:跳到计数器值减为零。它运行循环,直到存储在CX中的值变为零
6.回路控制指令-
- 循环:无条件循环,以CX计数,短跳转到目标地址。
- Loop(LOOPZ):如果相等,则循环(零),在CX中计数,短跳转到目标地址。
- LOOPNE(LOOPNZ):如果不相等(非零),则循环,在CX中计数,短跳转到目标地址。
- JCXZ:如果CX等于零,则跳转(用于跳过循环中的代码)。
- 子程序和中断指令-
- 调用,RET:调用,从过程返回(在当前段内部或外部)。
- INT,INTO:软件中断,溢出时中断。从中断返回。
7.处理器控制指令-
旗帜操纵:
- STC、CLC、CMC:设置、清除、补码进位标志。
- 标准,CLD:设置,清除方向标志。STI,CLI:设置,清除中断启用标志。
- PUSHF,POPF:将标志推入堆栈,将标志弹出堆栈。
示例门问题
考虑下面给出的机器指令序列:
MUL R5, R0, R1 DIV R6, R2, R3 ADD R7, R5, R6 SUB R8, R7, R4
在上述序列中,R0到R8是通用寄存器。在所示的指令中,第一寄存器存储对第二和第三寄存器执行的操作的结果。该指令序列将在流水线指令处理器中执行,包括以下4个阶段:(1)指令提取和解码(IF),(2)操作数提取(of),(3)执行操作(PO)和(4)写回结果(WB)。对于任何指令,IF、OF和WB阶段各占用1个时钟周期。PO级ADD或SUB指令需要1个时钟周期,MUL指令需要3个时钟周期,DIV指令需要5个时钟周期。流水线处理器使用从PO级到OF级的操作数转发。执行上述指令序列所需的时钟周期数为___________ (A) 11 (B) 12 (C) 13 (D) 14
答复:(C)
说明:
1 2 3 4 5 6 7 8 9 10 11 12 13 IF OF PO PO PO WB IF OF PO PO PO PO PO WB IF OF PO WB IF OF PO WB
文章由Pooja Taneja提供。如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。