李忠組合語言 初學 第三天

2021-10-10 00:16:36 字數 3816 閱讀 5975

書籍第四章、第五章

[40分鐘] 14:50-15:30 anki卡片學習、複習

[10分鐘] 15:30-15:40 anki卡片所學內容補充、新增、修改

[10分鐘] 15:40-15:50 xmind思維導圖補充、新增、修改

【60分鐘】 回顧/複習

【50分鐘】 預習/預備

[40分鐘] 16:40-17:20 第一次學習

學習內容 書籍 第四章

[10分鐘] 17:20-17:30 休息

[40分鐘] 17:30-18:10 第二次學習

學習內容 思維導圖整理,筆記新增整理

[50分鐘] 18:10-19:00 休息

[40分鐘] 19:00-19:40 第三次學習

學習內容 anki卡片新增、檢測點4.1

[10分鐘] 19:40-19:50 休息

[40分鐘] 19:50-20:30 第四次學習

[10分鐘] 20:30-20:40 休息

[40分鐘] 20:40-21:20 第五次學習

學習內容 書籍 預習第五章

[60分鐘] 21:20-22:20休息

[40分鐘] 22:20-23:00 第六次學習

學習內容 書籍 第五章5.1-5.4.5

[40分鐘] 23:00-23:40 第七次學習

學習內容 書籍 第五章5.4.5-5.5.4

[40分鐘] 23:40-00:20 第八次學習

學習內容 書籍 第五章5.5.4-5.9.2

[40分鐘] 00:20-01:00 第九次學習

學習內容 書籍 檢測點5.1-第五章習題

[60分鐘] 01:00-02:00第十次學習

學習內容 筆記整理以及卡片新增

【420分鐘】 學習

第四章

檢測點4.1

1.硬碟的磁頭(盤面)是從數字0開始編號的;每個盤面磁軌是從數字0開始編號的;每磁軌/柱面上的扇區是從數字1開始編號的,主引導扇區的位置是0面0道1扇區。

a.jmp 0xc000:0x5030 b.jmp 0xc500:0x0030

c.jmp 0xc503:0x000 d.jmp 0xbboo:0xao30

答案:abcd

** 第五章**

檢測點5.1

1 .  在 我 們 日 常 使 用 的 個 人 計 算 機 上 , 文 本 模 式 下 的 顯 示 緩 衝 區 被 映 射 到 物 理 內

存 地 址 空 間 , 起 始 地 址 為 ( ) , 它 對 應 的 段 地 址 為 ( ) 。 在 標 準 的 8 0x2 5 文

本 模 式 下 , 要 想 在 屏 幕 右 下 角 顯 示 一 個 綠 底 白 字 的 字 符 「h" , 那 麼 , 應 當 在 該 段

內 偏 移 量 為 ( ) 的 地 方 開 始 , 連 續 寫 入 兩 個 字 節 ( )和 ( ) 。

0xb8000 0xb800

0xf9e 0x48(01001000) 0x27(00100111)

2 . 以 下 指 令 中 , 哪 些 是 正 確 的 ,不 正 確 的 原 因 是 什 麼 ?

a.mov al, 0x5 5aa b.mov ds, 0x6000 c.mov ds,al

d.mov [0x06] , 0x55aa e.mov ds,bx f.mov ax, 0x02

g.mov word [0x0a],ax h.mov es,cx i.mov ax,bl

j.mov byte [0x00] ,'c』 k.mov [0x02],[0xf000] l.mov ds,[0x03]

答案:efghjl

a錯誤的原因是企圖向8位暫存器傳送16位字;

b錯誤的原因是向段暫存器傳送立即數;

c錯誤的原因是通過8位暫存器al向段暫存器傳送;

d錯誤的原因是未指示記憶體運算元的長度;

i錯誤的原因是兩個暫存器不匹配;

k錯誤的原因是在兩個記憶體單元之間傳送。

檢測點5.2

1.找出下面**片斷中的錯誤。用 nasmide程式實際編譯一下,看看結果如何。

datal db 0x55, 0xf000, 0x0f

data2 dw 0x38, 0x20, 0x55aa

db一行不該出現0xf000

檢測點5.3

1.intel x86處理器訪問記憶體時,是按低端位元組序進行的。那麼,以下程式片段執行後暫存器ax中的內容是多少?

mov word [data],0x2008 =

>ax=0x0 [data]

=0x2008

xor byte [data].0x05 =

>ax=0x0 [data]

=0x200d

add word [data],0x0101 =

>ax=0x0 [data]

=0x210e

mov ax,[data]

=>ax=0x210e [data]

=0x210e

2.對於以上程式片斷,如果標號data在編譯時的彙編位址是0x0030,那麼,當該程式載入到記憶體後,

該程式片斷所在段的段位址為0x9020時,該標號處的段內偏移位址和物理記憶體位址各是多

少?偏移位址 0030 物理記憶體位址90230

3.對於以下指令的寫法,說出哪些是正確的,哪些是錯誤的,錯誤的原因是什麼。

正確的:a、c、d、e

錯誤的:b、f、g、h、i、j

檢測點5.4

(e90200)(ea05000020)
第五章習題

1. 試找出以下程式片斷中隱藏的問題並逬行修正:

mov ax,21015

mov bl,10

div bl

and cl,0xf0

2. 本章的程式在記憶體中的載入位址是0x0000:0x7c00,此時,指令jmp near infi在段內的偏移地

址是多少?試修改本章的源程式以顯示該值。

3. 組合語言編譯器採用助記符來方便指令的書寫和閱讀。比如,mov是傳送指令,div是除法指令。假

如intel公司新推出一款處理器,該處理器新增了一條指令,其機器碼為cd 88。因為是新指令,你的

nasm編譯器肯定沒有乙個助記符與之相對應。在這種情況下,如何在你的程式中使用該指令?

答:使用偽指令db cd, 88

李忠組合語言 初學 第五天

書籍第七章 之前游刃有餘,現在呵呵,看完了第八章,也只是大概總結了下,明天逮著原始碼死薅。主要是身體不舒服,難受的很。不知道還能抗多少天。學習內容 型別 組合語言 進度 初學 天數 第五天 日期 2020年9月19日 書籍 李忠組合語言 內容 書籍 第七章 第八章 25分鐘 14 10 14 35 ...

李忠組合語言 初學 第八天

第十章 還是不夠紮實,繼續碼吧!型別 組合語言 進度 初學 天數 第八天 日期 2020年09月22日 書籍 李忠組合語言 內容 書籍 第十章 複習第八章 第九章 30分鐘 16 30 17 00 anki卡片學習 複習 05分鐘 17 00 17 05 anki卡片所學內容補充 新增 修改 05分...

李忠組合語言 初學 第十三天

第十四章 未完成 型別 組合語言 進度 初學 天數 第十三天 日期 2020年09月27日 書籍 李忠組合語言 相關 無 內容 李忠組合語言 第十四章 90分鐘 12 30 15 00 anki卡片學習 複習 00分鐘 00 00 00 00 anki卡片所學內容補充 新增 修改 10分鐘 15 0...