組合語言第10章筆記

2021-10-03 03:12:13 字數 2729 閱讀 6927

call 和 ret 指令都是轉移指令,它們修改ip,或同時修改cs和ip。

ret指令用棧中的資料,修改ip的內容,實現近轉移

retf指令用棧中的資料,修改cs和ip的內容,實現遠轉移。

ret指令相當於: pop ip

retf 指令相當於: pop ip

pop cs

call指令:(1)將當前的ip或cs和ip壓入棧

(2)轉移

call 標號(將當前ip壓棧,轉到標號處執行指令)

jmp near ptr 標號

call far ptr 標號 相於:

push cs

push ip

jmp far ptr 標號

相當於:

push ip

jmp 16位reg

call指令轉去執行子程式,ret返回。

**mul是乘法指令。**注意以下兩點

兩個相乘的數,兩個相乘的數,要麼都是8位,要麼都是16位。如果是八位,乙個預設放在al中,另乙個放在8位reg或記憶體位元組單元中;如果是16位,乙個預設在ax中,另乙個在16位reg中或記憶體字單元中。結果:如果是8位乘法,結果預設放在ax中;如果是16位乘法,結果高位預設放在dx中,低位放在ax中。

格式:mul reg

mul byte ptr

mul word ptr

用暫存器來儲存引數和結果是最常見的方法。

批量資料時,我們將批量資料放到記憶體中,然後將它們的所在空間的首位址放在暫存器中,傳遞給需要的子程式。對於有批量資料的返回結果,也用同樣的方法。

計算偏移量

push ax

mov ax,dx

mov dx,0 ;clear the dx of 16 bits higher than the divisor

div cx ;int(h / n)

mov bx,ax ;temporary high int (h / n) quotient,now dx is rem (h / n)

pop ax

div cx

mov cx,dx

mov dx,bx

把乙個數放在dx中即在高位暫存器,自動就乘了65536

十進位制數碼字元對應的ascii碼=十進位制數碼值+30h

十進位制數碼:

還需要調換位置!!!

筆記 組合語言 第10章 CALL和RET指令

10.0 概述 call和ret指令都是轉移指令,它們都修改ip,或同時修改cs和ip。它們經常被用來共同實現子程式的設計。10.1 ret和retf ret指令用棧中的資料,修改ip的內容,即相當於 pop ip retf指令用棧中的資料,修改cs和ip的內容,即相當於 pop ip pop cs...

筆記 組合語言 第14章 埠

14.0 概述 pc機系統中,和cpu通過匯流排相連的晶元除了各種儲存器外,還有以下3種晶元 1 各種介面卡 如網絡卡,顯示卡 上的的介面晶元,它們控制介面卡進行工作 2 主機板上的介面晶元,cpu通過他們對部分外設進行訪問 3 其他晶元,用來儲存相關的系統資訊,或進行相關的輸入輸出處理 在這些晶元...

組合語言 第14章

第十四章 埠 pc機中,和cpu通過匯流排相連的晶元除了各種暫存器外,還有以下三種晶元 1 各種介面卡 如網絡卡 顯示卡 上的介面晶元,他們控制介面卡進行工作 2 主機板上的介面晶元,cpu通過他們對部分外設進行訪問 3 其他晶元,用來儲存相關系統資訊,或進行相關的輸入輸出處理。上述三種晶元都有一組...