实验内容

编程实现:用10号DOS功能调用从键盘输入一串大小写字母到BUF为首址的缓冲区中,然后将其中的小写字母换成大写字母,原大写字母不变,仍然放入本缓冲区,再将该字符串内容在显示器上显示,且以十六进制形式显示实际输入的字符数。
要求:
1.用9号DOS功能调用输出一些提示信息,并用子程序实现十六进制数的输出,以BX作为传送参数的寄存器。
2.9、10号DOS系统功能调用以及回车换行的功能均用宏指令来实现。

代码

crlf macro   mov dl,0dhmov ah,2  int 21hmov dl,0ah int 21h endm
display1 macro buf1lea dx,buf1mov ah,9int 21hendm
display2 macro buf2lea dx,buf2mov ah,10int 21hendm
DATAS SEGMENTmessage1 db "Please press any keys:",0dh,0ah,'$'message2 db 0dh,0ah,"string number:$"message3 db "H$"buf label bytemaxlen db 32actlen db ?string db 32 dup(?)
DATAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS
START:MOV AX,DATASMOV DS,AXdisplay1 message1display2 bufmov bl,actlen;将实际长度存放到BX中去mov bh,0;mov string[bx],'$';输入$crlf
;转大写: mov si,0;计数
again:cmp string[si],61hjge tosmall;〉=则转tosmalljmp next
tosmall:sub string[si],20h;字符转为大写jmp next
next:inc si;次数加1cmp string[si],24hjnz again;不等于$则循环display1 stringdisplay1 message2call binihexdisplay1 message3ret
binihex proc nearmov ch,4
rotate:mov cl,4rol bx,clmov al,bland al,0fhadd al,30hcmp al,3ahjl printitadd al,7h
printit:mov dl,almov ah,2int 21hdec chjnz rotateret
binihex endpMOV AH,4CHINT 21H
CODES ENDSEND START

结果截图

【汇编综合应用】大小写字母的转换、2号、9号和10号DOS系统功能调用、分支、循环程序结构、子程序、寄存器传递参数,宏定义、宏调用,观察宏展开。相关推荐

  1. 【微机原理 实验】大小写字母的转换实验 (含汇编代码)

    实验八  大小写字母的转换实验 更多微机实验:https://blog.csdn.net/yxp189/column/info/39992 汇编语言-微机原理与接口技术-实验 注意:未经允许,请勿转载 ...

  2. 杂记(1)java读取char类型2. 大小写字母的转换3. 字符串的拼接4. 一串数字排序

    1. java读取char类型 应为java中没有nextchar();函数,所以只能先读取一行,即 Sting a=sc.nextline(); char need=a.charAt(0);//取字 ...

  3. Java中如何大小写字母进行转换(ASCII编码)

    题目: 在控制台输入字符串,把字符串中所有字母大写转换为小写,小写转换为大写,其他字符保持原样,并按之前的顺序输出 做题思路: 首先我们要知道怎么判断字符串中的字符是不是字母 判断字符串中是否包含小写 ...

  4. 大小写字母的转换——C语言

    我们都知道键盘上的字母分大小写 那么如何让代码将字符转换 就是将小写转化为大写 将大写转化为小写 这就值得我们研究研究 首先我们要了解字符的本质是什么 ? 我们给计算机输入字符 计算机能直接使用吗? ...

  5. 8、大小写字母按转换及相关函数,sizeof与strlen不同

    1.源程序 #include "stdio.h" #include "ctype.h" char fun(char ch) { if(ch>='A'&am ...

  6. 汇编 统计字符串大小写字母,数字,其他字符个数(全debug实现)

    写这篇博客的目的呢,是因为某汇编老师要求的实验报告:汇编代码写统计字符串各字符个数的例子代码网上很多,但我们要求的用debug下的-A命令编写,这就有点坑爹了~ 因为是用debug命令编写,所以变量, ...

  7. 汇编 统计字符串大小写字母,数字,其他字符个数并输出到屏幕(简单实现,含详细注释)

    第一步: 创建一个index.txt文件(命名随你): 编辑代码: DATA SEGMENTSTRING DB 'AAAaaa123456???$'SMALL DB 30HBIG DB 30HNUM ...

  8. C语言——大小写字母的转换

    首先,了解一下ASCII码,每个字符对应一个ASCII码,比如说A对应的是65,小写的a对应的是97.因为中间夹杂了6个字符.所以65+32=97. 65~90 大写字母A~Z 97~122 小写字母 ...

  9. C++大小写字母的转换

    1.利用I=和&=~进行操作 #include<iostream> #include<stdlib.h> #include<cassert> using n ...

最新文章

  1. UBUNTU下SUBLIME TEXT3的安装+破解+汉化+中文输入
  2. [ 一起学React系列 -- 10 ] i18n
  3. leetcode算法题--二叉树中序遍历迭代法
  4. (20)PDE_PTE属性(U/S PS A D 有效位)
  5. Redis性能指标监控
  6. python socket服务器_记-python socket服务器端四部曲
  7. 大数据workshop:《在线用户行为分析:基于流式计算的数据处理及应用》之《实时数据分析:海量日志数据多维透视》篇...
  8. mysql show db_mysql show操作
  9. “操作系统不以 C 开头和结尾,C 不等于整个世界”
  10. BERT大魔王为何在商业环境下碰壁?
  11. EasyRecovery恢复数据的具体步骤是什么
  12. 31. Element previousSibling 属性
  13. 《计算机网络 自顶向下方法》 第1章 计算机网络和因特网
  14. 多线程下载辅助类实现
  15. word文档分节后 如何删除某一节的页码
  16. install par
  17. guzzlehttp/guzzle使用
  18. mysql从5.7平滑升级到8.0.27
  19. boss是董卓的java游戏_武将列传世界BOSS董卓-殒命长安攻略
  20. 【日记本砸】21.01.08-12 最快的成长方式就是慢慢来

热门文章

  1. Hypermesh三维网格划分技能,以汽车发动机连杆结构为例
  2. 最新病毒预警--Prometei 蠕虫病毒
  3. 美国兰德公司《未来战争2030》(The Future of Warfare in 2030)系列研究报告概述(下)
  4. 计算机不安装操作系统能安装应用软件吗,win10禁止安装,详细教您win10如何设置禁止安装软件...
  5. matlab gui做输入,用户在matlab GUI中的输入
  6. bluetoothd Protocol not available解决方法
  7. Vue+springboot集成PageOffice实现在线编辑Word、excel文档
  8. HMM 隐马尔可夫模型
  9. 华硕A456UR7500初次非完美黑苹果安装教程
  10. 超全的机器学习、深度学习视频课程和讲义的百度网盘下载