使用方法:功能碼放在ah暫存器中,配合dx等暫存器使用。遇到 int 21h 語句執行。
不同的功能碼對應實現不同功能。可以模擬用編譯器寫程式時編譯報錯的「錯誤」編碼,乙個編碼對應一類錯誤。此處功能碼對應實現輸入或者輸出的不同功能。需要注意的是,讀入的『1』是字元『1』,對應ascll碼為31h(49d),不能讀入數字1
mov ah, 01h
int 21h
讀入的字元儲存在al裡
mov ah,2
mov dl,'p'
int 21h
要輸出的字元儲存在dl裡
功能同1
mov ah,9
lea dx,msg
int 21h
msg位址儲存在dx中
mov ah,10
lea dx,buf
int 21h
9、10功能例**完整版
buf db 80,?,100 dup(?)
這句話的意思:第乙個數代表最多能輸入多少db,第二個數代表實際輸入多少db,100 dup(?)代表設定輸入緩衝區長度。一般來講第乙個數和第三個應該是一樣的,但是不一樣也可以。
data segment
buf db 80,?,100 dup(?)
msg db "please input a string",10,13,'$'
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
;輸出輸入提示
mov ah,9
lea dx,msg
int 21h
;使用者鍵盤輸入一串
mov ah,10
lea dx,buf
int 21h
mov ax,4c00h
int 21h
code ends
end start
這是debug下看到的結果。需要注意的是它不會像c語言自動補尾0一樣補'$',不能直接輸出。
mov ax,4c00h
int 21h
同c語言中的return 0,使返回dos系 ModBus常用功能碼 功能碼為10進製
modbus常用功能碼 功能碼為10進製 01 read coil status 讀線圈暫存器 02 read input status 讀狀態暫存器 03 read holding register 讀保持暫存器 04 read input register 讀輸入暫存器 05 write sin...
彙編顯示鍵盤掃瞄碼和ASCII碼
題目及要求如下 利用中斷型別16h呼叫鍵盤i o介面程式,並顯示由鍵盤中斷程式送回的掃瞄碼和ascii碼。顯示的格式如下 scan ascii char 1e 61 a 30 62 b 2e 63 c 按ctrl c可以中止程式。ctrl c對應的ascii碼為03h。練習將二進位制數轉換為16進製...
彙編 ASCII碼轉BCD碼並輸出
datas segment nums db 30h,31h,41h,38h,39h,32h,33h,36h,31h ascii碼 numo db 4 dup dlen nums datas ends codes segment assume cs codes,ds datas start mov a...