20145306张文锦

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

20145306《信息安全系统设计基础》第6周学习总结

教材学习内容总结

Y86异常

Y86状态码(在我们的设计中,任何AOK以外的代码都会使处理器停止)

1 AOK 正常操作
2 HLT 处理器执行halt指令
3 ADR 遇到非法地址
4 INS 遇到非法指令

出现异常时Y86处理器停止运行指令,可以调用一个异常处理程序使其更完整。

y86 程序

Y86代码与IA32代码的主要区别:
    Y86可能需要多条指令来执行一条IA32指令所完成的功能。
    Y86没有伸缩寻址模式。
命令指明应该将代码或数据放在什么位置,以及如何对齐。这个程序详细说明了栈的放置、数据初始化、程序初始化和程序结束等问题。
以“.”开头的词是汇编命令,他们告诉汇编器调整地址,以便在那儿产生代码或插入一些数据。
创建Y86代码的唯一工具是汇编器。
指令集模拟器YIS:
    目的:模拟Y86机器代码程序的执行,而不用试图去模拟任何具体处理器实现的行为。
    有助于在实际硬件可用之前调试程序,也有助于检查模拟硬件或者在硬件上运行程序的结果。

指令集模拟器YIS

目的:模拟Y86机器代码程序的执行,而不用试图去模拟任何具体处理器实现的行为。
有助于在实际硬件可用之前调试程序,也有助于检查模拟硬件或者在硬件上运行程序的结果。
(7)一些Y86指令的详情
大多数Y86指令是以一种直接的方式修改程序状态的。
执行pushl和popl指令时,处理器的行为是不确定的,因为要入栈的寄存器会被同一条指令修改。通常有两种约定:
压入/弹出%esp的原始值
压入/弹出%esp-/+4后的值

教材学习中的问题和解决过程

安装bison和flex词法分析工具

sudo apt-get install bison flex

安装Tcl/Tk 支持图形界面

sudo apt-get install tcl8.5-dev tk8.5-dev tcl8.5 tk8.5

下载sim并减压

修改 Makefile

 

成功make

 http://blog.sina.com.cn/s/blog_79b01f66010163q3.html

 

posted on 2016-10-23 21:50  20145306张文锦  阅读(152)  评论(2编辑  收藏  举报