close

Ch2 80x86暫存器用途及codeview介紹

16bit暫存器

 ch2 
 

 

暫存器用途:

}  一般通用暫存器

}  AX 用於存放算數的結果(Accumulator)

}  BX 基底暫存器,儲存記憶體位址,常使用BX做基底定址法

}  CX 圈的計數器(Counter)

}  DX 資料暫存器,被使用於乘法與除法或是I/O操作

}  暫存器可以分開成8位元使用,AX可以分成AH暫存器AL暫存器

}  四個暫存器都有特定的名稱,代表一個特定的功能如果沒有做此特定的功能,則四個都可以通用

 

再來就是區段暫存器:

}  區段暫存器

}  CS 存放程式的區段位址

}  DS 存放資料段的起始位址

}  SS 存放堆疊段的起始位址

}  ES 用於輔助DS的不足

 

}  指標索引暫存器

}  SP 記錄堆疊(stack)Top用的(Stack Pointer)

}  BP 另一個給stack記錄用的暫存器(stack)

}  SI 來源索引暫存器,可做為字串搬移的來源位址

}  DI -目的索引暫存器,可做為字串搬移的目的位址

}  IP 指令指標暫存器,IP值必須與CS程式段合起來使用

 

大致上看一下就行了

 

還有一個旗標暫存器FL,大家可以藉由暫存器的變化來判斷狀態

image003

 

Example:

零值旗號(Zero Flag, ZF)

 指令運算結果為0     ZF=1

 指令運算結果不為0 ZF=0

 image007

 

 

程式起手式:

 image009

 

 

CodeView

 image011    

 

 

test是你可以隨便設的檔名

 image013

 

 

執行完可按fileexit離開codeview 視窗

●按F10做單步執行,去觀察每一行程式記憶體及暫存器目前狀態。

ALT+R→Restart:重新執行程式。

●按F4可觀看目前程式的螢幕顯像控制。

 

 

arrow
arrow
    全站熱搜

    店小二-小張 發表在 痞客邦 留言(0) 人氣()