



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
汇编语言实验报告汇编语言实验报告 2 分类统计字符个数分类统计字符个数 一 实验内容 一 实验内容 通过分支程序设计实现字母 数字及其它字符的分类统计计 数 二 实验要求 二 实验要求 程序接受用户键入的一行字符 字符个数不超过 80 个 该 字符串用回车符结束 并按字母 数字及其它字符分类计数 然后将结果存入 以 letter digit 和 other 为名的存储单元中 输出可以用十六进制数形式 可以进一步考虑更细节的统计分类 说明 说明 数据变量的定义 单个字符的输入 字符串的输出 结果数字的输出 都是需要考虑的问题 分类主要是数字 0 9 字母 A Z 和 a z 其 它 对应的 ASCII 码为 30H 39H 41H 5AH 61H 7AH 1 单个字符的输入 可以使用 DOS 中断功能 01 MOV AH 01H INT 21H 输入符号的 ASCII 代码在 AL 寄存器中 2 字符串的输出 可以使用 DOS 中断功能 09 LEA DX message message 需要事先定义好 必须是以 结尾的字符串 MOV AH 09H INT 21H 3 字符串的输入 可以使用 DOS 中断功能 0AH 但需要事先定义空间 string 在数据段中有 string DB 80 80 DUP LEA DX string MOV AH 0AH INT 21H 4 计数得到的是二进制数值 在输出时要考虑转换成哪种进制形式的字符来显 示 三 实验源代码如下 三 实验源代码如下 DATAS SEGMENT STRING1 DB Please input a string 输入提示信息 STRING2 DB Number of chars 各类字符提示信息 STRING3 DB Number of digits STRING4 DB Number of others CHARS DB 0 字母 DIGIT DB 0 数字 OTHERS DB 0 其他 DATAS ENDS STACKS SEGMENT 此处输入堆栈段代码 STACKS ENDS CODES SEGMENT ASSUME CS CODES DS DATAS SS STACKS START MOV AX DATAS MOV DS AX LEA DX STRING1 显示输入提示信息 Please input a string MOV AH 09H INT 21H MOV CX 100 设置循环次数足够大 L1 MOV AH 01H 中断调用 单字符输入 INT 21H 输入符号的 ASCII 代码在 AL 寄存器中 CMP AL 0DH 若输入回车符则结束 JZ OVER2 CMP AL 30H 若39H 9 跳转进一步比较 JA HIGHER1 JMP DIGITAL DIGIT HIGHER1 CMP AL 41H 若 IF5AH Z 跳转继续比较 JA HIGHER2 JMP CHAR ALPHAU HIGHER2 CMP AL 61H 若 IF7AH z OTHERS JA OTHER JMP CHAR ALPHAU JMP OVER 比较结束 OTHER INC OTHERS OTHERS JMP OVER 比较结束 CHAR INC CHARS ALPHAL JMP OVER 比较结束 DIGITAL INC DIGIT DIGIT JMP OVER 比较结束 JMP OVER 比较结束 OVER NOP LOOP L1 循环 输入下一字符 OVER2 CALL ENDLINE 回车换行 LEA DX STRING2 字符串的输出 Number of chars MOV AH 09H INT 21H XOR AX AX MOV AL CHARS 将统计的数字送 AX CALL DISPLAY 调用输出两位数字的子程序 CALL ENDLINE LEA DX STRING3 字符串的输出 Number of digits MOV AH 09H INT 21H XOR AX AX MOV AL DIGIT 将统计的数字送 AX CALL DISPLAY 调用输出两位数字的子程序 CALL ENDLINE LEA DX STRING4 字符串的输出 Number of others MOV AH 09H INT 21H XOR AX AX MOV AL OTHERS 将统计的数字送 AX CALL DISPLAY 调用输出两位数字的子程序 MOV AH 4CH INT 21H ENDLINE PROC NEAR 控制输出格式 输出回车换行子程序 MOV AH 02H MOV DL 0AH INT 21H 输出换行符 MOV AH 02H MOV DL 0DH INT 21H 输出回车符 RET ENDLINE ENDP DISPLAY PROC NEAR 输出两位数字的子程序 输出两位数字为十进制 MOV BL 10 DIV BL AX BL AL 商 AH 余数 PUSH AX 保存 AX 中的信息 MOV DL AL ADD DL 30H MOV AH 02H INT 21H 输出十位数 POP AX 出栈送 AX MOV DL AH ADD DL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年课堂管理行为试题及答案
- 2025年山西社工招聘考试题及答案
- 2025年铁路常用面试题目及答案
- 2025年全国桥式起重机Q2特种设备作业证考试题库(含答案)
- 2025年税务税务筹划政策咨询师备考题库及答案解析
- 2025年高一物理上学期“类比法”应用测试
- 2025年气候变化对海洋酸化的影响研究
- 2025年气候变化的适应性行动计划
- 2025年自动驾驶技术对保险行业的变革
- 四年级篮球 简单组合动作与简易战术配合的2v2比赛 主题大单元教学设计
- 2025年四川省情省况考试复习题库题库(含答案)
- 科学教育:未来启航
- GB/T 46134-2025天然酯在电气设备中的维护和使用导则
- 金太阳九年级数学月考试卷及答案
- 地质技能竞赛试题及答案
- 现代农业装备与应用课件
- 2025年安徽省标准化专业技术资格考试(标准化基础知识)历年参考题库含答案详解(5卷)
- 2024年甘肃省临夏县人民医院公开招聘护理工作人员试题带答案详解
- 2025年氢气传感器市场分析报告
- 结肠癌围手术期的护理
- 环保科技股东合作协议示范文本
评论
0/150
提交评论