Fork me on GitHub

CSAPP-11

Y86指令体系结构

Y86的程序猿可见状态:寄存器,储存器,条件码,PC,程序状态

Y86指令集

halt:终止指令的执行

nop:占位指令,不做任何事

**movl:一系列数据传送指令。r代表寄存器,m代表储存器,i代表立即数。

opl:操作指令

jxx:条件跳转指令,根据后面的条件进行跳转

cmovxx:条件传送指令。xx是条件,只发生在两个寄存器之间

call与ret:方法的调用和返回指令。一个将返回地址入栈,并跳到目标地址。一个将返回地址入PC,并跳到返回地址。

push与pop:入栈和出栈操作

指令编码

一般两个寄存器占用一个字节,储存器占四个字节,指令的编码和功能占一个字节。

寄存器的表示:4个二进制位

Y86异常

Y86的四种不同状态码:AOK(正常)、HLT(执行halt指令)、ADR(非法地址)、INS(非法指令)

Y86程序

和x86相似,但有时候Y86需要两条指令来达到X86只要一条即可

eg:addl $4,%ecx

Powered By Valine
v1.5.2
0%