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

 

  • 5
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值