计算机组成与原理课程设计字符串的输入判断汇编语言.docx
- 文档编号:12073501
- 上传时间:2023-06-04
- 格式:DOCX
- 页数:8
- 大小:76.63KB
计算机组成与原理课程设计字符串的输入判断汇编语言.docx
《计算机组成与原理课程设计字符串的输入判断汇编语言.docx》由会员分享,可在线阅读,更多相关《计算机组成与原理课程设计字符串的输入判断汇编语言.docx(8页珍藏版)》请在冰点文库上搜索。
计算机组成与原理课程设计字符串的输入判断汇编语言
附:
课程设计报告格式
《组成原理实践》课程设计报告
题目:
简单字符串处理系统的实现
专业:
信息管理与信息系统
班级:
1001
学号:
1030050147
姓名:
刘冰铃
指导教师:
孙桂煌
完成日期:
2013年1月6日
一、课程设计目的
1、掌握并巩固顺序、分支、循环结构以及子程序结构的汇编程序设计基本技术和基本方法。
2、理解计算机在指令系统级的运行原理,熟悉DOS功能子程序的调用。
3、掌握输入输出子程序的编写。
4、掌握从键盘输入字符(串)与在显示屏上显示字符(串)的基本方法。
二、课程设计内容
输入一个字符串,扫描该字符串,按数字、字母和特殊字符3类,把字符分类输出到屏幕,同时输出各类字符的个数。
三、课程设计过程
1、算法设计(画出算法流程图)
2、程序代码
;multi-segmentexecutablefiletemplate.
datasegment
;addyourdatahere!
string1db"pleaseinputastring:
$"
string2db"sumofchars:
$"
string3db"sumofdigits:
$"
string4db"sumofothers:
$"
charsdb0;字母
digitdb0;数字
othersdb0;其他
ends
stacksegment
dw128dup(0)
ends
codesegment
start:
;setsegmentregisters:
movax,data
movds,ax
moves,ax
;addyourcodehere
leadx,string1;显示输入提示信息
movah,09H;ah累加器09H屏幕显示功能
int21h;outputstringatds:
dx
movcx,100;设置循环次数足够大
L1:
movAH,01H;中断调用,单字符输入
int21h;输入符号的ASCII代码在AL寄存器中
cmpAL,0DH;若输入回车符则结束
jzover2
cmpAL,30H;若<30H(0),others++
jbother
cmpAL,39H;若>39H,跳转进一步比较
jahigher1
jmpdigital;digit++
higher1:
cmpal,41H;若if<41H(A),others++
jbother
cmpAL,5AH;若if>5AH(Z),跳转继续比较
jahigher2
jmpchar;alphau++
higher2:
cmpAL,61H;若if<61H(a),others++
jbother
cmpAL,7AH;若if>7AH(z),others++
jaother
jmpchar;alphau++
jmpover;比较结束
other:
incothers;others++
jmpover;比较结束
char:
incchars;alphal++
jmpover;比较结束
digital:
incdigit;digit++
jmpover;比较结束
over:
nop
loopL1;循环,输入下一字符
over2:
callendline;回车换行
leadx,string2;字符串的输入char
movah,09h
int21h
xorax,ax
moval,chars;将统计的字符送ax
calldisplay;调用输出两位字符的子程序
callendline
leadx,string3;字符串的输出digits
movah,09h
int21h
xorax,ax
moval,digit;将统计的数字送ax
calldisplay;调用输出两位数字的子程序
callendline
leadx,string4;字符串的输入others
movah,09h
int21h
xorax,ax
moval,others;将统计的数字送ax
calldisplay;调用输出两位数字的子程序
movah,4ch
int21h
endlineprocnear;控制输出格式,输出回车换行子程序
movah,02h
movdl,0ah
int21h;输出换行符
movah,02h
movdl,0dh
int21h;输出回车符
ret
endlineendp
displayprocnear;输出两位数字的子程序(十进制)
movbl,10
divbl;ax/bl,al=商,ah=余数
pushax;保存ax中的信息
movdl,al
adddl,30h
movah,02h
int21h;输出十位数
popax;出栈送AX
movdl,ah
adddl,30h
movah,02h
int21h;输出个位数
ret
displayendp;outputstringatds:
dx
;waitforanykey....
movah,1
int21h
movax,4c00h;exittooperatingsystem.
int21h
ends
endstart;setentrypointandstoptheassembler.
3、系统运行结果截图
四、课程设计体会
通过综合的编程实践,熟悉运用指令,熟悉DOS功能子程序的调用,掌握输入输出子程序的编写,掌握从键盘输入字符(串)与在显示屏上显示字符(串)的基本方法。
使我在学习完《计算机组成与结构》理论知识的基础上,进一步地理解计算机在指令系统级的运行原理,更好地掌握指令的工作原理以及CPU与外设交互的具体方式。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 课程设计 字符串 输入 判断 汇编语言