计算机组成技术大作业第3题程序说明.pdf
《计算机组成技术大作业第3题程序说明.pdf》由会员分享,可在线阅读,更多相关《计算机组成技术大作业第3题程序说明.pdf(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 3 题程序说明题目键盘输入 200 字符以上英文文章,统计各字母出现次数并输出(每个字母、出现次数占一行),结束时以响铃(07H)加以提示,请画出框图并编写完整程序。程序简单说明程序核心是找出字母并都变为大写字母,然后减去40h,结果 AZ 变成 126,放入di 中。然后对所对应存储位置加一,即:LetterOccurrences(di-1)+。代码流程图中同一行中的代码,是可以并行的、不分先后顺序的。程序执行结果程序流程图主程序流程图:提示输入输入数据于缓冲区(buf)中al sibx字母出现次数存放位置;si字母存放位置(buf);di=0;ax=0;cx=0;cl=buf+1 an
2、d al,0bfh;diax;shl di,1;-2bx+di+al 大于等于判断 zf 是否为 0 否cx-结束al 小于等于是开始and al,0dfh(小写变大写);si+比较 al 与 Aal 大al 小比较 al 与 Zcall delay(延时);输出提示;call dbxout(输出)SBinaryAscii 子程序(16 位无符号二进制数转化为ascii 码)流程图。ax 为目标操作数,bx为结果存放位置,结束时bx 为结果存放位置的下一个有效位置。第一个循环:除10 取余,第二个循环:去掉数字中可能有的0。di=4;dx=10h dx=0;除 si(10);dl=dl+30h
3、 bx+di=dl;di-cx-al=al+30h;bx+di=al;cx=5;cx=cx-di;si=0 si+di+比较 ax 与 10 al=bx+di;bx+si =al大于等于判断 zf 是否为 0 否bx=bx+si退出小是开始dbxout 子程序(输出)流程图。数组LetterOccurrences 中存有26 个字母出现次数,数组TemporaryAscii 是临时数据区。此子程序通用性上没有多少价值。cx=26;di=0 axLetterOccurrencesdi call SBinaryAscii dxTemporaryAscii的地址axdi;ax 除以 2;ax=ax+
4、41h;bxdx;bx al;bx+;bx:;bx+;判断 zf 是否为 0 否cx-返回是开始响铃bx$;输出 dx 开头的字符串水平制表;di=di+2 代码data segment LetterOccurrences dw 26 dup(0)TemporaryAscii db 10 dup(?)buf db 225 db?db 225 dup(?)str1 db Please enter your letters,and press enter to end your input:,$str2 db 0dh,0ah,The number of chars:,$data ends stac
5、k segment db 100 dup(?)stack ends code segment assume ds:data,cs:code,ss:stack begin:dbxprint macro;输出字符串宏mov ah,09h int 21h endm dbxprint mov ax,data mov ds,ax mov ax,stack mov ss,ax mov sp,100 mov dx,offset str1 mov ah,09h int 21h call crlf mov dx,offset buf;输入字符串mov ah,0ah int 21h;找出每个字母出现频率mov b
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 技术 作业 程序 说明
限制150内