2018-2019-1 20165221 《信息安全系统设计》第四周学习总结
课本知识回顾:
4.1 Y86-64指令系统结构
程序员:
- (1)可以使用汇编代码写程序的人
- (2)产生机器及代码的编译器
程序员的可见状态
-
15个程序寄存器(RF)
-
3个条件码(CC):
ZF(零标志),SF(符号位),OF(溢出位)- 结果为0,ZF为1,结果不为0,ZF为0
- 符号位看最高位,对于无符号数无意义
- 有进位溢出则值为1
-
状态码
表示 | 意义 ---|--- AOK |正常 HLT |```halt``` 指令 ADR |遇到非法地址 INS |遇到非法指令 -
程序计数器
-
内存(DENM)
-

Y86-64指令

| 指令类型 | 具体指令 |
|---|---|
| 整数操作指令 | addq,subq,andq,xorq |
| 跳转指令 | jmp,jle,jl,je,jne,jge,jg |
| 条件传送指令 | cmov+le/l/e/ne/ge/g |
| 返回地址入栈 | call |
| 从调用中返回 | ret |
| 实现入栈和出栈 | pushq,popq |
| 停止指令 | halt |
-
各类寄存器的编码

-
指令编码

-
指令的第一个字节表示指令类型,字节高四位为代码,低四位为功能部分。只有在相关指令公用一段代码是方才有效
4.2 逻辑设计和硬件控制语言HCL
基本的逻辑门
-
与,或,非

-
处理一条指令的操作
-
取指,译码,执行,访存,写回,更新PC
-
SEQ的硬件结构

实际操作
