80x86汇编语言程序:统计键盘输入的字母、空格、数字和其他字符
5星 · 超过95%的资源 需积分: 32 126 浏览量
更新于2024-09-12
1
收藏 47KB DOC 举报
"这段汇编语言代码用于统计用户从键盘输入的一行字符中,字母、空格、数字和其他字符的个数。通过80x86汇编语言实现,程序包括数据段定义和代码段实现,以及相应的提示信息和变量存储。"
在汇编语言编程中,这段代码首先定义了一个数据段(DATASEGMENT),用于存储程序运行时需要用到的数据。数据段包括了几个变量,如`NNNDB?`用于存放实际输入字符的个数,`IIIDB100DUP(?)`是用于存储输入字符的数组,每个元素对应一个输入字符。另外还有几个计数器变量,如`S_NDB?`, `C_NDB?`, `O_NDB?`分别用于记录空格、字母和数字的数量,以及`MESG1`到`MES_ODB`等字符串常量用于显示提示信息。
接着,代码段(CODESEGMENT)开始,通过`ASSUMECS:CODE,DS:DATA`指令设置段寄存器,使代码段与CS寄存器关联,数据段与DS寄存器关联。在`START:`标签处,程序初始化,将数据段地址加载到DS寄存器,清零计数器变量,并显示提示信息,提示用户输入字符串。
然后,程序调用`INT 21H`的10号功能,等待用户从键盘输入字符,输入的字符被存储在`PARS`数组中。`INT 21H`的9号功能用于在屏幕上显示字符串。输入完成后,程序会检查输入字符的个数,并进入循环统计阶段。
在统计阶段,程序使用CX寄存器中的计数器(由`NNNDB?`提供)作为循环次数,通过`LEASI,III`获取输入字符数组的首地址。接下来的循环中,程序逐个检查字符,通过比较运算判断字符类型并更新对应的计数器。例如,如果字符在字母范围内,则增加字母计数器`S_NDB?`;如果字符是数字,则增加数字计数器`C_NDB?`;以此类推,对空格和其他字符进行统计。
在循环结束后,程序会跳转到退出点`EXIT`,可能还会显示统计结果,但由于提供的代码片段不完整,这部分没有给出具体实现。
这段汇编语言程序展示了如何在80x86架构下处理键盘输入,以及如何通过比较和计数操作分析字符数据,是学习汇编语言输入输出和基本逻辑控制的一个实例。
2020-06-08 上传
2020-12-07 上传
2024-10-23 上传
2023-04-02 上传
2024-11-23 上传
2023-05-30 上传
2024-10-08 上传
菜鸟起飞1990
- 粉丝: 0
- 资源: 4
最新资源
- pyg_lib-0.3.1+pt20cpu-cp38-cp38-linux_x86_64whl.zip
- UnwelcomeCaller:在 Android 手机上分享有关不受欢迎来电者的信息
- vendor-directory-api:api访问供应商目录V1.0功能
- cd_app:仍在巩固节点技能
- action-release-download:GitHub Action下载发行工件
- WPFBasics-1:https://www.youtube.comwatch?v = Vjldip84CXQ&list = PLrW43fNmjaQVYF4zgsD0oL9Iv6u23PI6M&index = 1&ab_channel = AngelSix
- UNA-Bravo:国立大学课堂中的 Grupo Bravo 远程存储库
- ANNOgesic-0.7.27-py3-none-any.whl.zip
- zeal-redux-utils:使用Redux的实用程序功能
- netlifyTest
- Tieba_Sign-Go---Copy:百度贴吧 云签到
- 计时器
- COMP9220_Gomoku
- sass-jest:Jest中的Sass单元测试
- libCplus:精彩的库,用C语言提供了许多有用的功能,算法和数据结构,将其与-l9wada链接
- folk-website