組合語言學習四

2021-04-21 14:58:09 字數 1297 閱讀 7904

本人比較懶,可能懶得對前面的文章進行整理,也不怎麼喜歡寫很多,呵呵。今天往後的系列可能會更懶一些,基本翻譯jones[1].and.bartlett.publishers.introduction.to.80x86.assembly.language.and.computer.architecture的內容,因為我覺得這些內容比較基礎,同時自己也是乙個複習。

第1章 資料在計算機中的表示方法

單位元組 ascii 碼微軟系列

雙位元組 unicode 雙位元組 一般使用時在標頭檔案中會存在 #define unicode 或 #define _unicode(檢查這兩個是否存在就可以判定是否是unicode)

還有一些不常見得,也是通過檢查某個define來判定

至於一些2,8,10,16進製制的運算方法這裡就不說了,隨便一本教材就有。

第2章 計算機系統的各個部分

8086/8088的cpu能執行200以上不同的指令。80386和後面的系列更是用各種擴充套件的指令集。cpu的內部儲存器--暫存器,超過外部ram的速度很多,同時儲存還有cach(快取記憶體)。registers > cash > ram

這裡說一下,按照我看過的資料,cpu為了提高速度,採取了多條管道並行執行n條指令段的技術,同時會預先判斷下面最可能執行的片段,將其裝入cash.

然後 eax,ebx,ecx,edx

al,ah,ax等等就不用說了,l-low,h-high,e-extend

ebx,ecx,edx同理  

附加暫存器esi,edi,esp,ebp

si source index(源位址索引暫存器) di destination index (目的位址索引暫存器)

常用來做字串位址內容copy的暫存器

esp 系統堆暫存器,一般不會被外部程式所改變.ebp 為堆指標,用來選擇需要的位置.

16位段暫存器   cs, ds, es, fs, gs, and ss.如果看過exe檔案結構和彙編源**,這個比較容易理解.

eflag 標誌位暫存器 常用的位有

bit     mnemonic       usage

0       cf             carry flag

2       pf             parity flag

6       zf             zero  flag

7       sf             sign flag

10      df             direction flag

11      of             overflow flag    

組合語言學習筆記 四

存放資料,最大容量ffffh 16bit暫存器 可以分割成高八 ah 低八 al 兩個暫存器 為什麼能分割?cpu最低讀取單位為位元組 8bit,且 8086 的暫存器為 16 位暫存器,8086 cpu 可以處理 兩種尺寸的資料 字 1byte 8bit,8 位暫存器 位元組 2byte 16bi...

組合語言學習筆記 四

十三 過程 組合語言的過程可以被理解為方法,過程呼叫採取如下形式 call pname pname為過程名,call為呼叫指令 pname過程的格式為 pname proc 過程體 retpname endp proc 告知編譯程式過程pname的開始,endp告訴編譯程式過程pname的結束。re...

組合語言學習

參考書籍 組合語言 王爽 著 清華大學出版社 選單導航 一 彙編基礎知識 二 暫存器和常見彙編指令演示 一 基礎知識 1 彙編指令是機器指令的助記符,同機器指令一一對應 2 每一種cpu都有自己的彙編指令集 3 cpu可以直接使用的資訊在儲存器中存放 4 在儲存器中指令和資料沒有任何區別,都是二進位...