微原自控实验报告一.pdf
微机原理实验报告
实验一字符串排序
院(系)名称:自动化科学与电气
专业名称:自动化
学生学号:
学生:玮
班级:150325
实验一字符串排序
实验时间11.22实验编号同组同学
一、实验目的
⑴学习利用系统功能调用的“INT21H”进行字符的输入、字符串的显示方法,熟
悉排序相关指令及方法。
⑵掌握汇编语言的编写、编译、连接及运行方法。
二、实验内容
(1)利用INT21H的1号功能,从键盘输入任意长度的字符串,以回车符结束;
(2)将输入的字符串存放在数据段中。
(3)对输入的字符串按ASCⅡ码从小到大排序(ASCⅡ码小者占低地址存放)。
(4)将排好序的字符串利用INT21H的9号功能显示在微机屏幕上。
三、实验流程图
四、实验过程中遇到的与解决方法
第一次运行出现码,后发现是没有初始化DS指针造成;
后来调试中发现输入字符数量超过容量会造成溢出异常,因此在程序中加入了判断
字符数量。
五、实验结果
程序运行时,从键盘上输入包含数字、大、小写字母的字符串,回车后,屏幕上显
示字符ASCⅡ码从小到大排列的结果。
当输入字符数量达到100时程序会自动停止输入并将这些字符排序。
六、收获、体会及建议
通过实验,我认识到,堆栈段、数据段使用时要特别注意,堆栈段必须重新定义,
程序中使用数据段时也要对数据段进行重新赋值,否则程序将产生错误;另外,如若程
序太长,最好将一段反复使用的程序段编成子程序,在主程序中调用。
附件、程序
DATASEGMENT
XDB100DUP($)
CRDB0AH,0DH,$
DATAENDS