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