DOS功能呼叫
- 考試范圍
- 1、2、9、0AH、4CH號功能呼叫
- 1號功能呼叫:用于從鍵盤中輸入一個字符,注意,輸入字符值為ASCII碼
MOV AH,1
INT 21H
ASCII值被保存在AL暫存器中,請務必注意保護資料,筆者吃過虧, - 2號功能呼叫:用于在顯示幕上顯示一個字符
MOV DL,待顯示字符的ASCII碼
MOV AH,9
INT 21H - 9號功能呼叫:輸出字串
MOV DX,待顯示字串的首偏移地址
MOV AH,9
INT 21H
注意,該字串必須以美元結尾,如果,中間有,需要逐個輸出, - 10號功能呼叫:輸入字串
MOV DX,資料區的首偏移地址
MOV AH,10
INT 21H - 4CH號功能呼叫:回傳DOS
MOV AH,4CH
INT 21H
代碼展示:
DATA SEGMENT
INPUT DB "Please input a string: ",'$'
OUTPUT DB "Your input is: ",'$'
BUF1 DB 20
STR1 DB ?
DB 20 DUP(0)
BUF2 DB 20
STR2 DB ?
DB 20 DUP(0)
STR3 DB 'MATCH$'
STR4 DB 'NO MATCH$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
STA:MOV AX,DATA
MOV DS,AX
LEA DX, INPUT
MOV AH, 09H
INT 21H
MOV AH, 0AH
LEA DX,BUF1 ;接收STRING1
INT 21H
MOV DL, 0AH ;另取一行
MOV AH, 2
INT 21H
LEA DX, INPUT
MOV AH, 09H
INT 21H
MOV AH, 0AH
LEA DX,BUF2 ;接收STRING2
INT 21H
MOV DL, 0AH ;另取一行
MOV AH, 2
INT 21H
LEA SI,STR1+1
LEA DI,STR2+1
MOV AL,[STR1]
CMP AL,[STR2]
JNE AA
MOV CL,AL
INC CL
MOV CH,0
CLD
LOOP BB
MOV AH, 4CH ;回傳DOS系統
INT 21H
AA: LEA DX,STR4
MOV AH,09H
INT 21H
MOV AH, 4CH ;回傳DOS系統
INT 21H
BB: MOV AL,[SI]
CMP AL,[DI]
JNE AA
INC SI
INC DI
CMP CX,1
JE CC
LOOP BB
MOV AH, 4CH ;回傳DOS系統
INT 21H
CC: LEA DX,STR3
MOV AH,09H
INT 21H
MOV AH, 4CH ;回傳DOS系統
INT 21H
CODE ENDS
END STA
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/230721.html
標籤:其他
