zoukankan      html  css  js  c++  java
  • 20145305 《信息安全系统设计基础》第6周学习总结

    实验楼学习内容总结

    运行make指令后

    查看目录下内容,可以看到只有.ys文件

    用make all命令编译后

    编译后查看目录下内容,可以看到已经有编译后的.yo文件,用vim进入后可以查看

    课本第239页图4-7上的代码,在系统中叫做asum.yo,把它的内容打印在屏幕上:

    其余代码测试结果相同

    学习中的问题和解决过程

    1.不支持第二变址寄存器和任何寄存器值的伸缩

    伸缩是没有像IA32,如%eax32位,可以划分出%ax16位,还可以划分出%al,%ah
    变址寄存器是指这是和IA32的比较,P113页有Imm(Eb,Es,s)的通用寻址方式,Y86不支持

    2.如何将汇编码转换成字节编码

    以练习题1为例.如irmovl $15,%ebx
    irmovl:i表示立即数,r表示寄存器;即是将一立即数付给寄存器。
    由ir可知:第一个字节:30
    由$15可知:不访问任何寄存器,指示符字节F。
    由%ebx可知:指示符字节3。
    根据小端法,将15的十六进制反向写开为0f 00 00 00
    因此,该句的字节编码是30f30f000000

    3.字节编码中,左边一列的地址偏移量如何确定

    以练习题2为例.如0x100:30f3fcffffff/406300080000/00 分三块
    第一块30f3fcffffff
    30:irmovl(6字节,下一个地址偏移量是6,所以下一个地址是0x106;6字节,所以划分到4前面)
    f:立即数
    3:%ebx
    fcffffff:(小端法)反向写为fffffffc,即是-4
    第二块406300080000(分析方法同第一块)
    第三块00,即是halt停止
    本条指令前的地址偏移量是依据上一条指令所占字节确定的
    关于Y86指令,可以通过练习题4.1和4.2,学会看书上的图4-2,4-3,4-4

    4.顺序实现时,执行的目的不同时,只是简单地加0,将一个输入传递到输出

    课本图4-18第二列:rrmovl rA,rB
    valE<——0+vlaA
    不需要取第二个寄存器操作数,将第二个输入设为0,把它和第一个操作数相加,得到valE=0+valA=valA

    练习题4.11:irmovl $128,%esp
    valE<——0+128=128
    和rrmovl处理方式类似

    5.图4-18,valP=PC值+已取指令长度

    已取指令长度:指令所占字节编码,即是字节数。
    如rrmovl rA,rB
    valP<——PC+2(rrmovl指令长度2字节,所以+2)

    6.不是每个阶段都会进行,一些指令会跳过中间的某些阶段

    译码:从寄存器文件读入
    如irmovl指令,立即数寻址,用不到寄存器,所以不用译码阶段
    访存:写入或读出数据从存储器
    如rmmovl指令,需要将寄存器值valA写到存储器,或从存储器中读出valM,所以经历访存阶段

    代码托管

    代码托管连接

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 200/200 2/2 30/30
    第二周 300/500 1/3 20/50
    第三周 100/600 1/4 20/70
    第五周 300/900 1/5 30/100
    第六周 136/1036 1/6 20/120

    参考资料

  • 相关阅读:
    NiosII软处理器快速入门- 10分钟学会NiosII(2)
    FFT算法的一种FPGA实现
    32个最热CPLDFPGA论坛
    NiosII软处理器快速入门- 10分钟学会NiosII(3)
    基于FPGA/CPLD设计与实现UART
    NiosII软处理器快速入门- 10分钟学会NiosII(1)
    LCD 的分类和显示原理
    iis6.0重写成html设置
    p标签之间的行距问题
    ie6 png图片透明方法
  • 原文地址:https://www.cnblogs.com/summerharper/p/5978029.html
Copyright © 2011-2022 走看看