汇编语言上机考试2

题目:请任意输入一个字符串,将其中大写字母换成小写字母,并将结果显示在屏幕上。

这道题第一道题差不多,首先读取所有的字符,一个一个判断是不是大写,是就转换成小写,不是输出。

需要注意的是masm考试软件给得ascii表是十六进制的,这个BUG查了很久都没查出来。。。

DATAS SEGMENT

    BUF1 DB 100

    DB ?

    DB 100 DUP(?)


DATAS ENDS


STACKS SEGMENT

STACKS ENDS



CODES SEGMENT

    ASSUME CS:CODES,DS:DATAS,SS:STACKS

START:

    MOV AX,DATAS

    MOV DS,AX

    LEA DX,BUF1

    MOV AH,0AH;读入键盘输入的东西

    INT 21H

    MOV DL,0AH;换行

    MOV AH,02H

    INT 21H

    MOV BL,BUF1[1] ;缓存需要处理的个数

    MOV SI,2;设置起始位置

CHULI:

CMP BL,0;

JZ EXIT

CMP BUF1[SI],'A';是不是比A大(这里之判断了比A大,这样不够)

JNB ISDAXIE ;是的画跳到这里

JB ISNOT;不是

ISDAXIE:

CMP BUF1[SI],'Z';这里判断是不是比Z小,这样才能定位是大写字母

JA ISNOT  ;比Z大就不是大写字母了。

MOV CL,BUF1[SI] ;因为大写字需要处理,所以用CL缓冲一下。直接用DL也许也可以把

ADD CL,20H

MOV DL,CL

MOV AH,02H

INT 21H

INC SI

DEC BL

JMP CHULI

ISNOT:;其他字母直接输出。

MOV DL,BUF1[SI]

MOV AH,02H

INT 21H

INC SI

DEC BL

JMP CHULI

EXIT:

    ;此处输入代码段代码

    MOV AH,4CH

    INT 21H

CODES ENDS

    END START

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • # 常见汇编代码 # 1. 编写程序:比较AX,BX,CX中带符号数的大小,将最大的数放在AX中 code...
    喝豆腐脑加糖阅读 7,638评论 0 0
  • 目的: 编写英文打字练习软件,综合复习字符输入和显示,置光标、开窗口、颜色设置等屏幕功能;掌握分支程序中字符比较及...
    咸鱼有只喵阅读 6,311评论 1 1
  • 这学期有了汇编课,但个人感觉这部分难度还是有一些的,所以写了这篇简书当做自己对于知识的复习,同时也是希望能够再次加...
    kl_w阅读 11,771评论 0 7
  • 代码不是我写的,我就加了注释。。。。 请任意输入一个字符串,将其中A换成CC,并将结果显示在屏幕上。 DATAS ...
    魔一方阅读 3,785评论 0 0
  • 8086汇编 本笔记是笔者观看小甲鱼老师(鱼C论坛)《零基础入门学习汇编语言》系列视频的笔记,在此感谢他和像他一样...
    Gibbs基阅读 37,720评论 8 114

友情链接更多精彩内容