組合語言 暫存器(記憶體訪問)

2021-10-02 15:34:03 字數 1050 閱讀 3947

暫存器(記憶體訪問)

字的儲存,乙個字占用兩個位元組,在記憶體單元中儲存要用兩個位址連續的記憶體單元來存放

低位位元組放在低位址單元中,

字單元,即兩個位址連續的記憶體單元

ds和【address】

ds暫存器通常用來存放要訪問資料的段位址

mov al,[0] = mov al,ds:0

資料訪問的段位址預設ds暫存器

mov add sub指令

mov指令

mov 暫存器,資料

mov 暫存器,暫存器

mov 暫存器,記憶體單元

mov 記憶體單元,暫存器

mov 段暫存器,暫存器

add指令/sub指令

add 暫存器 資料

add 暫存器,暫存器

add 暫存器,記憶體單元

add 記憶體單元,暫存器

sub 暫存器,資料

sub 暫存器,暫存器

sub 暫存器,記憶體單元

sub 記憶體單元,暫存器

資料段將一段記憶體當作資料段是我們程式設計時的一種安排,用ds存放資料段的段位址,用[ ]訪問

堆疊

特點,後進先出

以字為單位

入棧push ax /暫存器/段暫存器/記憶體單元 sp=sp-2 //將ax的內容送至棧頂

出棧pop ax/暫存器/段暫存器/記憶體單元 sp=sp+2 //將棧頂的資料送入ax暫存器當中

堆疊位址

段暫存器ss 暫存器sp

棧頂的段位址存放在ss,偏移位址存放在sp中。

任意時刻ss:sp指向棧頂元素

入棧時從高位址向低位址增長sp-2

棧空 ss:sp指向棧空間最高位址的下乙個位址

執行push ax 後ss:sp指向棧中的 第乙個元素

例如:棧空間為16位元組時,當棧為空時 sp=16+2

棧頂超界會覆蓋棧空間以外的資料

組合語言 暫存器 記憶體訪問

記憶體中字的儲存 cpu中,用16位暫存器來儲存乙個字,乙個字要用兩個連續的記憶體單元來存放,這個字的低位位元組存放到低位址單元中,高位位元組存放在高位址單元中。假如用0 1兩個記憶體單元存放乙個字,這兩個單元看作乙個起始位址為0的字單元。ds和 address 8086cpu中有乙個ds暫存器,通...

組合語言 暫存器(記憶體訪問)

在cpu中,用16位來儲存乙個字,高8位存放高位元組,低8位存放低位位元組。在記憶體中時,由於記憶體單元是位元組單元,剛乙個字要用2個位址連續的記憶體單元來存放,字的低位位元組存在低位址單元.字單元 存放乙個字型資料 16位 的記憶體單元,由兩個位址連續的記憶體單元組成,高位址記憶體單元中存放字型資...

組合語言 暫存器(記憶體訪問)

本文主要從cpu如何執行指令的角度講解了8086cpu的邏輯結構 形成實體地址的方法 相關的暫存器以及一些指令 在cpu中,用16位來儲存乙個字,高8位存放高位元組,低8位存放低位位元組。在記憶體中時,由於記憶體單元是位元組單元,剛乙個字要用2個位址連續的記憶體單元來存放,字的低位位元組存在低位址單...