組合語言提問 如下圖 IN AL,21H那三句話什麼作用

時間 2021-09-13 18:13:54

1樓:匿名使用者

in al,21h ;從埠21h的讀取一個位元組至al

and al,7fh ;將al的邏輯與1,7fh = 0111 1111b

out 21h,al ;將al寫入至埠21h

i/o埠21h為8259 pic(programmable interrupt controller)主可程式設計中斷控制器的資料口,以上指令結果是將其資料埠寫入。

8259 pic在非初始化階段,往其資料埠寫入的是需要遮蔽的中斷;在很多核心中斷例程中,這樣做的目的是防止其他中斷的介入而導致的硬體操作衝突;問題中其存在於**中的意義也應是如此。(在初始化階段這個資料口被用作輸入初始化引數)

以下是8259 pic 21h資料口在非初始化時的各個位的意義(其實就是它的中斷遮蔽暫存器),代表這些位為0時中斷的遮蔽情況:

bit 7 = 0 enable parallel printer interrupt (啟用印表機中斷)

bit 6 = 0 enable diskette interrupt (啟用軟盤中斷)

bit 5 = 0 enable fixed disk interrupt (啟用硬碟中斷)

bit 4 = 0 enable serial port 1 interrupt (啟用串列埠1中斷)

bit 3 = 0 enable serial port 2 interrupt (啟用串列埠2中斷)

bit 2 = 0 enable video interrupt (啟用影象中斷)

bit 1 = 0 enable keyboard, mouse, rtc interrupt (啟用滑鼠,鍵盤,rtc中斷)

bit 0 = 0 enable timer interrupt (啟用計時器中斷)

問題中的三行指令將會把bit 0-6都保持原先值,之後bit 7會被置0,8259 pic此後將會遮蔽印表機的中斷。

有不清楚的可以追問

2樓:匿名使用者

[最佳答案]in al,21h ;從埠21h的讀取一個位元組至al and al,7fh ;將al的邏輯與1,7fh = 0111 1111b out 21h,al ;將al寫入至埠21h i/o埠...

組合語言中out和in的用法

3樓:匿名使用者

在8086系列的組合語言中

in指令的意思是從埠中讀取資料,比如 in al,80h,將80h埠資料讀入到al中

out指令的意思是往埠輸出資料,比如 out 80h,al,將al輸出到80h埠

4樓:職場云云老師

組合語言中,cpu對外設的操作通過專門的埠讀寫指令來完成;

讀埠用in指令,寫埠用out指令。

例子如下:

in al,21h;表示從21h埠讀取一位元組資料到alin ax,21h;表示從埠地址21h讀取1位元組資料到al,從埠地址22h讀取1位元組到ah

mov dx,379h

in al,dx ;從埠379h讀取1位元組到alout 21h,al;將al的值寫入21h埠out 21h,ax;將ax的值寫入埠地址21h開始的連續兩個位元組。(port[21h]=al,port[22h]=ah)

mov dx,378h

out dx,ax ;將ah和al分別寫入埠379h和378h

5樓:

此指令可以這麼看

out 埠地址,要輸出的資料

這裡18h是十六進位制數18,81h表示埠號為十六進位制數81的埠;out 81h,al 中out是把al中資料送給81h埠。

什麼是組合語言,什麼是彙編和組合語言?

叢依波弘瀾 組合語言 assembly language 是面向機器的程式設計語言。在彙編語閤中,用助記符 memoni 代替操作碼,用地址符號 symbol 或標號 label 代替地址媽。這樣用符號代替機器語盲的二進位制碼,就把機器語音變成了組合語言。於是組合語言亦稱為符號語言。使用組合語言編寫...

組合語言問題求解,2個組合語言問題,求解

我也是學這門課,我試試吧。本人學的不是很精通,僅供參考。1 code segment assume cs code mov cx,offset data mov dx,offset max 用lea指令也可以mov ax,cx mov bx,cx 1 cmp ax,bx ja loop1 mov d...

組合語言求解大神進來,組合語言求解 大神進來

三道題的答案分別是 a9ceh c86bh 1 100的累加 13bah 89ach 0000h 對應的turbo pascal內嵌彙編除錯程式如下 varx,y word h array 0.3 of char function get16 x word string vari integer s...