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的硬件结构