微机原理与接口技术|汇编语言|分支循环程序设计|入门实验2

实验内容:

编写程序,从键盘输入一串字符,将其中的小写字母转变为大写字母,其他字符不作转换,原样输出,结果在屏幕上显示。

相关知识:

  1. 掌握分支与循环结构的程序设计
  2. 掌握常用dos功能操作

程序流程图:

在这里插入图片描述

实现代码:

DATA	SEGMENT
BUF	DB 30 ;缓冲区长度
   	DB ? ;输入字符串的长度
   	DB 30 DUP(?) ;实际输入内容
CRLF 	DB 0AH,0DH,0AH,'$'
MSG1	DB 'INPUT STRING:',0AH,0DH,'$'
MSG2	DB 'OUTPUT STRING:',0AH,0DH,'$'
DATA	ENDS

CODE	SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA 
	MOV DS,AX ;数据段地址经AX传送给DS
INPUT:;字符串输入及提示
      MOV DX,OFFSET MSG1
	MOV AH,09H
	INT 21H
	LEA DX,BUF
      MOV AH,0AH
      INT 21H

	LEA SI,BUF+1;缓冲区字符串循环输出初始化
	MOV CL,[SI]
	MOV CH,00H
	LEA SI,BUF+2
READ:	;将输入的字符展示出来
	MOV AL,[SI]
	MOV DL,AL;
	MOV AH,02H
	INT 21H
	INC SI
	LOOP READ
	MOV DX,OFFSET CRLF
    	MOV AH,09H
    	INT 21H
OUTPUT:字符串输出提示
	MOV DX,OFFSET MSG2
	MOV AH,09H
	INT 21H
ORIG:;字母转换及单个字符输出循环初始化
	LEA SI,BUF+1
	MOV CL,[SI]
	MOV CH,00H
	LEA SI,BUF+2
	
JUBG:;对字母进行判断
	MOV AL,[SI]
	CMP AL,61H
	JB DISP
	CMP AL,7AH
	JA DISP
	SUB AL,20H
DISP:;展示转换后的单个字符
	MOV DL,AL
	MOV AH,02H
	INT 21H
	INC SI
	LOOP JUBG
FINAL:;退出程序
	MOV AH,4CH
	INT 21H
CODE ENDS
END START
  • 2
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值