汇编实验 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
	

 

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