20145305 《信息安全系统设计基础》第6周学习总结
實驗樓學習內容總結
運行make指令后
查看目錄下內容,可以看到只有.ys文件
用make all命令編譯后
編譯后查看目錄下內容,可以看到已經有編譯后的.yo文件,用vim進入后可以查看
課本第239頁圖4-7上的代碼,在系統(tǒng)中叫做asum.yo,把它的內容打印在屏幕上:
其余代碼測試結果相同
學習中的問題和解決過程
1.不支持第二變址寄存器和任何寄存器值的伸縮
伸縮是沒有像IA32,如%eax32位,可以劃分出%ax16位,還可以劃分出%al,%ah
變址寄存器是指這是和IA32的比較,P113頁有Imm(Eb,Es,s)的通用尋址方式,Y86不支持
2.如何將匯編碼轉換成字節(jié)編碼
以練習題1為例.如irmovl $15,%ebx
irmovl:i表示立即數(shù),r表示寄存器;即是將一立即數(shù)付給寄存器。
由ir可知:第一個字節(jié):30
由$15可知:不訪問任何寄存器,指示符字節(jié)F。
由%ebx可知:指示符字節(jié)3。
根據(jù)小端法,將15的十六進制反向寫開為0f 00 00 00
因此,該句的字節(jié)編碼是30f30f000000
3.字節(jié)編碼中,左邊一列的地址偏移量如何確定
以練習題2為例.如0x100:30f3fcffffff/406300080000/00 分三塊
第一塊30f3fcffffff
30:irmovl(6字節(jié),下一個地址偏移量是6,所以下一個地址是0x106;6字節(jié),所以劃分到4前面)
f:立即數(shù)
3:%ebx
fcffffff:(小端法)反向寫為fffffffc,即是-4
第二塊406300080000(分析方法同第一塊)
第三塊00,即是halt停止
本條指令前的地址偏移量是依據(jù)上一條指令所占字節(jié)確定的
關于Y86指令,可以通過練習題4.1和4.2,學會看書上的圖4-2,4-3,4-4
4.順序實現(xiàn)時,執(zhí)行的目的不同時,只是簡單地加0,將一個輸入傳遞到輸出
課本圖4-18第二列:rrmovl rA,rB
valE<——0+vlaA
不需要取第二個寄存器操作數(shù),將第二個輸入設為0,把它和第一個操作數(shù)相加,得到valE=0+valA=valA
練習題4.11:irmovl $128,%esp
valE<——0+128=128
和rrmovl處理方式類似
5.圖4-18,valP=PC值+已取指令長度
已取指令長度:指令所占字節(jié)編碼,即是字節(jié)數(shù)。
如rrmovl rA,rB
valP<——PC+2(rrmovl指令長度2字節(jié),所以+2)
6.不是每個階段都會進行,一些指令會跳過中間的某些階段
譯碼:從寄存器文件讀入
如irmovl指令,立即數(shù)尋址,用不到寄存器,所以不用譯碼階段
訪存:寫入或讀出數(shù)據(jù)從存儲器
如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 |
參考資料
- 《深入理解計算機系統(tǒng)V2》學習指導
- ...
轉載于:https://www.cnblogs.com/summerharper/p/5978029.html
總結
以上是生活随笔為你收集整理的20145305 《信息安全系统设计基础》第6周学习总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 文件互传
- 下一篇: java信息管理系统总结_java实现科