标签:
Y86,包括定义各种状态元素、指令集和他们的编码、一组编程规范和异常事件处理。
Y86程序中每条指令都会读取或修改处理器状态的某些部分,这称为程序员可见状态。
8个寄存器和IA32的一模一样,但是Y86每个寄存器是一个字,16位。
三个一位的条件码:ZF、SF、OF。
存储器相当于一个很大的字节数组,保存着程序的数据。用虚拟地址来引用存储器,硬件和操作系统联合起来把虚拟地址翻译成物理地址(实际地址)。
程序状态的最后一个部分是状态码start,它表明程序执行的总体状态。它会指示是正常运行,还是出现某种异常。
指令编码长度从一个字节到留个字节不等。
i:立即数 r:寄存器 m:存储器 与movl配合使用第一个字母指明源操作数,第二个字母指明目的操作数。
不允许一个存储器直接与另一个存储器进行数据操作。也不允许直接让立即数传送到存储器。
OPL:addl、subl、andl、xorl。他们只对寄存器数据进行操作。还会对设置条件码。
跳转指令
条件传送指令:cmovXX
call:将返回地址入栈,然后跳到目的地址。ret指令从这样的过程调用中返回。
halt:停止指令
第一个字节表明指令的类型。高4位是代码部分,低4位是功能部分。
程序存储器在CPU中的一个寄存器文件中,这个寄存器文件就是一个小的、以寄存器ID作为地址的随机访问存储器。
当需要指明不应该访问任何寄存器时,就用ID值0xF来表示。
有些指令需要一个附加的四字节常数字
分支指令的调用指令的目的地址是一个绝对地址,而不是相对地址。
前两天擦了上周留的屁股,然而并没有全部看完第三章的所有内容,把老师指定的内容都看了。今天才开始这周的学习,今天看的内容理解起来很容易,习题也很简单。感觉老师的进度好快啊,上周学的还没好好消化就开始了第四章。。。。。。。。。
20145235 《信息安全系统设计基础》第06周学习总结 _01
标签:
原文地址:http://www.cnblogs.com/20145235litao/p/5979334.html