微机原理:完美的大小写字母互换

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微机原理实验:接受键盘字符(以回车键结束),并将其中的小写字母转化为大写字母,大写字母转化为小写字母,然后显示在屏幕上。

要求:BX指向字符行缓冲区首址,偏移地址指针SI清0,使用DOS 01H号功能接受键入字符。

以下程序完美的实现了大小写字母的混合输入后的混合转换,即大转小,小转大,并可键入空格,如:I LOVE you。

DATAS SEGMENT

DATA1 DB 20 DUP('?')

DATA2 DB'please input string,end with enter,exit with ctrl-c:',0DH,0AH,'$'

DATA3 DB'the connverted string is:',0DH,0AH,'$'

DATA4 DB 0DH,0AH,'$'

DATAS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS

START:

MOV AX,DATAS

MOV DS,AX

XOR SI,SI

MOV BX,OFFSET DATA1

LEA DX,DATA2

MOV AH,9

INT 21H

LOOP1: MOV AH,1

INT 21H

CMP AL,03H

JZ LOOP4

CMP AL,0DH

JZ LOOP3

CMP AL,41H

JAE LOOP5

LOOP2:SUB AL,20H

MOV [BX+SI],AL

INC SI

JMP LOOP1

L5:CMP AL,61H

JAE LOOP2

ADD AL,20H

MOV [BX+SI],AL

INC SI

JMP LOOP1

L3:LEA DX,DATA4

MOV AH,9

INT 21H

LEA DX,DATA3

MOV AH,9

INT 21H

MOV [BX+SI],AL

MOV AL,0AH

MOV [BX+SI+1],AL

MOV AL,'$'

MOV [BX+SI+2],AL

MOV DX,BX

MOV AH,9

INT 21H

LEA DX,DATA4

MOV AH,9

INT 21H

JMP LOOP4

LOOP4:MOV AH,4CH

INT 21H

CODES ENDS

END START

运行结果:

相关文档
最新文档