debug使用技巧
在windows系統下,可以在執行中鍵入cmd,然後輸入debug就可以進入了。
r 檢視改變cpu暫存器的內容
d 檢視記憶體中的內容
e 改寫記憶體中的內容
u 將記憶體中的機器指令翻譯成彙編指令
t 執行一條機器指令
a 以彙編指令的格式在記憶體中寫入一條機器指令
簡單的例項:
檢視暫存器總的內容,並修改
用a命令用組合語言的形式來修改記憶體中的指令
用彙編的形式來檢視記憶體中的內容
由於之前修改過cs ip中的內容,此時要想執行程式,要修改回cs ip內容
使用t命令一步一步的執行彙編命令。
編寫2的多少次方,可以通過如下**
mov ax,1
add ax,ax
jmp 2000:3
電腦生產日期檢視。
組合語言 手記4
簡單的彙編指令 cpu執行後,暫存器中的資料改變為如下 cpu訪問記憶體單元時要給出記憶體單元的位址。所有的記憶體單元構成的儲存空間是乙個一維的線性空間。這個唯一的位址就是實體地址。16位結構描述了乙個cpu具有一下幾個方面特徵 1 運算器一次最多可以處理16位的資料。2 暫存器的最大寬度為16位。...
組合語言 手記7
cpu要讀取乙個記憶體單元的時候,必須先給出這個記憶體單元的位址 在8086pc中,記憶體位址由段位址和偏移位址組成。8086cpu中有乙個ds暫存器,通常用來存放要訪問的資料的段位址。mov al,0 mov已知的功能 1 將資料直接送入暫存器 2 將乙個暫存器中的內容送入另乙個暫存器中。3 將乙...
組合語言 手記8
棧有兩個基本的操作 入棧和出棧 入棧 將乙個新的元素放到棧頂 出棧 從棧頂取出乙個元素 棧頂的元素總是最 棧,需要出棧時,又最先被從棧中取出。棧的操作規則 lifo 8086cpu提供相關的指令來以棧的方式訪問記憶體空間。入棧出棧指令 push 入棧 pop 出棧 push ax 將暫存器ax中的資...