Y86-64指令如图
- 4个整数操作指令:addq,subq,andq,xorq。只对寄存器数据进行操作。
- 7个跳转指令:jmp、jle、jl、je、jne、jge、jg。
- 6个条件传送指令:cmovle、cmovl、cmove、cmovne、cmoveg、cmovg。
- call指令将返回地址入栈,然后跳到目的地址。ret指令从这样的调用中返回。
- pushq和popq实现入栈出栈。
halt指令停止指令执行。
指令编码
每条指令的第一个字节表明类型,分为两部分,高四位为代码部分,低四位为功能部分,15个寄存器每个都有一个相对应的寄存器标识符,有的指令只有一个字长,有的需要操作数的指令编码更长。
逻辑设计和硬件控制语言HCL
逻辑门种类:
- 与:AND用“&&”表示
- 或:OR用“||”表示
- 非:NOT用“!”表示
- 与非和与的组合可以概括大部分计算