彙編實驗 6 DOS 中斷調用程序設計

1、以下程序是一 9#和 10 #功能相結合的例子,具體實現:從鍵盤上讀入一串指定長度的字符,
然後利用 9 號系統功能調用顯示輸出該串字符。
Data SEGMENT
message db 'please input a string:$'
buf DB 20,?,20 DUP(0)
data ends
code segment
 ASSUME CS:code,DS:Data
GO: MOV AX,Data
 MOV DS,AX
 mov dx,offset message
 mov ah,9
 int 21h
 mov dx,offset buf
 mov ah,10
 int 21h
 mov ah,2
 mov dl,0ah
 int 21h
 mov dl,0dh
 int 21h
 mov bl,buf+1
 mov bh,0
 mov byte ptr buf+2[bx],'$'
 mov dx,offset buf+2
 mov ah,9
 int 21h
 MOV AH,4CH
 INT 21H
code ENDS
 END GO
請通過實際操作,理解 10#功能及部分關鍵指令。

 

2、編程實現:從鍵盤輸入一個字符,判斷其是不是大寫字母,如果是則請輸出這個大寫字母, 如果不是,請輸出“這不是一個大寫字母”的英文信息(要求:能連續輸入)。

 源代碼:

DATA SEGMENT
	ERROR DB 'THIS IS NOT A CAPITAL LETTER.','$'
DATA ENDS
CODE SEGMENT
	ASSUME CS:CODE,DS:DATA
START:
	MOV AX,DATA
	MOV DS,AX
NEXT:	MOV AH,01H
	INT 21H
	CMP AL,'A'
	JB ERR
	CMP AL,'Z'
	JA ERR
	MOV DL,AL
	MOV AH,02H
	INT 21H
	JMP NEXT
ERR:	LEA DX,ERROR
	MOV AH,09H
	INT 21H
	JMP NEXT
	MOV AH,4CH
	INT 21H
CODE ENDS
	END START
	

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章