資料傳送指令(除了2,一般不會影響狀態標誌位)

2021-10-07 11:27:00 字數 1146 閱讀 9313

1. 通用資料傳送指令

a. 一般資料傳送指令

§ mov

b. 堆疊操作指令(必須按照字操作)

§ push 16位的暫存器/段暫存器/儲存器2個單元 (進棧時sp減小)

§ pop 16位的暫存器/段暫存器(不可以是cs)/儲存器2個單元(出棧時sp增大)

c. 交換指令

§ xchg reg/mem, reg/mem(不同為儲存器,不同為暫存器,立即數和段暫存器均不可以參加交換)

d. 查表指令

§ xlat

□ ds:(bx+al)→al(表的首位址bx,偏移量為al結果自動送入al暫存器)

e. 字位擴充套件指令(有符號數)

§ cbw(al→ax)

§ cwd(ax→dx ax)dx放高位內容

2. 標誌傳送指令

a. lahf 將flags中低8位的資料載入到ah中,

b. sahf 將ah中的資料儲存到flags中的低8位(影響標誌位)

c. pushf 將flags中的16位資料壓入堆疊

d. popf 將堆疊棧頂的16位資料彈出至flags中(影響標誌位)

3. 位址傳送指令

a. 取偏移位址指令

§ lea reg,mem 將變數的16位偏移位址送入目標暫存器,也即lea指令取得是變數的偏移位址,相比mov,mov取得是變數的內容

b. 取遠位址指標

§ lds 目的運算元, 源運算元

□ 將變數的16位偏移位址送入目的暫存器(也即目的運算元,通常是si),將變數的16位段基位址送入預設的段暫存器ds

§ les 目的運算元, 源運算元

□ 將變數的16位偏移位址送入目的暫存器(也即目的運算元,通常是di),將變數的16位段基位址送入預設的段暫存器es

4. 輸入輸出指令

a. in acc,port

b. out port,acc

c. 其中acc只能是al和ax,如果埠位址為16位則必須使用dx作為暫存器來儲存位址

擁有兩個運算元的指令一般要滿足一下幾點

ALE IDoc EDI 2 一般流程

ale idoc的實踐性很強的技術,也就是說你做得越多,碰到的問題越多,提高也就越多,光是理論是沒什麼用得。所以先把一般配置一套ale idoc的流程總結一下,以後再把經驗性 總結性的東西慢慢新增進去。有兩個比較有用的menu t code wedi,sale。分別用來配置idoc edi,和ale...

一般人不會的電腦小絕技(ZT)

一 軟盤不用時不要留在軟碟機裡,否則時間長了裡面的資料會淌出來,會把你的軟碟機腐蝕壞。二 要經常給軟盤盤面上抹點潤滑油 上蠟更好 這樣可使軟盤轉得更快,訪問速度就相應有 所提高。三 把5.25 軟盤摺疊後可在3.5 軟碟機中使用。什麼?還原怎麼辦?笨!先把它伸開,用開水泡一下再用熨斗熨一下不就又成了...

一般人都不會的電腦絕技

一 軟盤不用時不要留在軟碟機裡,否則時間長了裡面的資料會淌出來,會把你的軟碟機腐蝕壞。二 要經常給軟盤盤面上抹點潤滑油 上蠟更好 這樣可使軟盤轉得更快,訪問速度就相應有 所提高。三 把5.25 軟盤摺疊後可在 3.5 軟碟機中使用。什麼?還原怎麼辦?笨!先把它伸開,用開水泡一下再用熨斗熨一下不就又成...