組合語言中OUT DX,AL指令操作過程是什麼?OUT

時間 2021-09-02 04:46:43

1樓:奉壹

in和out都是io操作指令 , 例如out指令:out portno/dx, al/ax

功能為把al/ax的資料送到io地址,io地址如果大於ffh,則地址需要放入dx,要輸出位元組,預設使用al暫存器,要輸出字,預設使用ax暫存器。

例如:mov al,10h //(將位元組10h 從 i/o埠70h 輸出)

out 70h,al

mov ax,0010h //(將 字0010h 從i/o埠37fh 輸出。)

mov dx,37fh

out dx,ax

擴充套件資料

編譯環境

用組合語言等非機器語言書寫好的符號程式稱為源程式,組合語言編譯器的作用是將源程式翻譯成目標程式。目標程式是機器語言程式,當它被安置在記憶體的預定位置上後,就能被計算機的cpu處理和執行。

彙編的除錯環境總的來說比較少,也很少有非常好的編譯器。編譯器的選擇依賴於目標處理器的型別和具體的系統平臺。一般來說,功能良好的編譯器用起來應當非常方便,比如,應當可以自動整理格式、語法高亮顯示,集編譯、連結和除錯為一體,方便實用。

對於廣泛使用的個人計算機來說,可以自由選擇的組合語言編譯器有masm、nasm、tasm、gas、fasm、radasm等,但大都不具備除錯功能。如果是為了學習組合語言,輕鬆彙編因為擁有一個完善的整合環境,是一款非常適合初學者的彙編編譯器。

2樓:

out,輸出指令,用於主機與外設埠間的資料傳送。把一個位元組或一個字由al或ax傳送到一個輸出埠,若埠地址超過255,則必須用dx儲存埠地址。

out dx,al ;把al中的內容由al傳送到輸出埠(dx).

out dx,ax ;把ax中的內容由ax傳送到輸出埠(dl+1)(dx)

3樓:匿名使用者

將資料al寫入埠dx

4樓:唔是霸氣先森

在方法引數中out dx是輸出引數 al是引數 不知道你用在何處

組合語言中的push的用法

5樓:非常可愛

push的操作過程是: (sp)<--(sp)-2,((sp))<--oprd 即先修改堆疊指標sp(壓入時為自動減2),然後,將指定 的運算元送入新的棧頂位置。

此處的((sp))<--oprd,也可以理解為:

[(ss)*16+(sp)]<--oprd 或 [ss:sp]<--oprd

示例: push dx

push bp

push cs

push data1

push alfa[bx][si]

注意: 每進行一次壓入操作,都壓入一個字(16位)。

擴充套件資料push 指令

push 指令首先減少esp的值,再將源運算元複製到堆疊。運算元是16位的,則esp減 2,運算元是32位的,則 esp減4,push指令有3種格式:

push reg/mem16

push reg/mem32

push inm32

6樓:匿名使用者

減2就是指標上移2個單元, 題中例子裡, push ax後, sp=000eh。

7樓:匿名使用者

push,彙編術語,實現壓入操作的指令是push指令;實現彈出操作的指令是pop指令。

push的操作過程是:

(sp)<--(sp)-2,((sp))<--oprd 即先修改堆疊指標sp(壓入時為自動減2),然後,將指定 的運算元送入新的棧頂位置,簡單來說:減2就是指標上移2個單元。

此處的((sp))<--oprd,也可以理解為:

[(ss)*16+(sp)]<--oprd 或 [ss:sp]<--oprd

3. 示例: push dx

push bp

push cs

push data1

push alfa[bx][si]

注意: 每進行一次壓入操作,都壓入一個字(16位)。

8樓:文刀舍予

相當於sub sp,2

組合語言中的返回指令rst問題,組合語言中的返回指令Rst問題

先澄清一下你問得模糊的地方。1 你說的 rst 返回指令應該是 ret 吧?2 sp 不叫堆疊指令,它是堆疊指標,估計是stack pointer的首字母。該指標總是指向堆疊的棧頂,即始終存放的是棧頂的地址。堆疊的工作原理可簡述為 後進先出 即lifo,last in first out。具體解釋請...

彙編JB指令,組合語言中JB,JA,是什麼意思

墨汁諾 jb是指判斷位變數轉移指令,ja jump above 大於則轉移到目標指令執行。jb p1.3,l1意思就是說判斷p1.3的值是不是 1 如果是就跳轉到l1程式執行,如果不是就順序執行下一條指令。jnae jump not above and equal 低於,即不高於且不等於則轉移,但執...

組合語言指令 JMP BYTE PTR

兔老大米奇 jmp指令的運算元是地址,實際執行效果是修改ip的值。由於byte ptr使得bx指向的資料為位元組型別,而ip為字型別,資料型別不匹配,故該指令不正確。指令的正確寫法可以是jmp word ptr bx 此時將bx指向的字型別資料賦給ip 或者jmp dword ptr bx 該指令把...