組合語言中,cpu對外設的操作通過專門的埠讀寫指令來完成;
讀埠用in指令,寫埠用out指令。
例子如下:
in al,21h;表示從21h埠讀取一位元組資料到al
in ax,21h;表示從埠位址21h讀取1位元組資料到al,從埠位址22h讀取1位元組到ah
mov dx,379h
in al,dx ;從埠379h讀取1位元組到al
out 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
組合語言中macro的用法
如果有一段程式需要多次使用,為使程式不重複書寫這段程式,可用巨集定義把所需要重複出現的程式塊定義成巨集指令,此後在巨集指令出現的地方,巨集匯程式設計序總是自動地把它們替換成相應的 段。巨集指令格式 巨集指令名 macro 形式引數,段 endm在巨集定義中,使用了 形式引數 它們引用巨集指令時被給出...
組合語言中的常數
1,數值常數 二進位制數 10110100b 八進位制數146q,5430 十進位制數146d,543 十六進製制數 1a2fh,0ff00h 實數12.48e 2,1a3c0000r 彙編時,則有匯程式設計序將所有的數值常數都轉換成二進位制標示的目標 凡是以字母a f開頭的十六進製制數,唏噓在前面...
組合語言中ASSUME簡介
size large url 組合語言中的assume偽指令 directive assume偽指令通知匯程式設計序為 段 資料段 附加段以及堆疊段選擇什麼名字。沒有assume偽指令時,匯程式設計序假設不分段,並自動把段超越字首用於所有定址儲存器資料的偽指令。assume語句只能用於完整的段定義。...