- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北航微机原理实验1报告
实验一 字符串排序
实验时间:2015.11.21 实验编号: 同组同学:无
一、 实验背景
本实验可以实现对任意长度字符串的进行从小到大的排序并回显到屏
幕上。
二、 实验原理
本实验的采用的实验原理主要是冒泡法
原理图如下:
三、 预习思考题的实验验证分析
预习思考题的实验分析验证(包括程序代码以及程序的执行结果)已经
在预习报告中做出回答,在此不再进行赘述。
四、 实验过程与结果
1、实验过程:(1)双击计算机桌面上的TPC-2003 实验系统配套的软件;
(2)新建一个源程序,在当前运行环境下,选择菜单栏中的“文件”菜单,
菜单下拉后选择“新建”,会弹出新建窗口,选择新建表单中的“ASM”,点
击“确定”,新建汇编程序;
(2)根据题目要求设计程序,并将其输入到软件界面上;
(3)保存新建的源程序;
(4)点击“汇编”的快捷键,编译调试窗口中显示出汇编结果,程序没
有错误;
(5)打开命令提示符操作界面,将生成的可执行文件拖入到其中,回车
即可运行该程序;
(6)对程序是否达到实验要求进行实验验证。
2、实验结果:本实验达到了以下要求
1、利用INT 21H 的1 号功能,从键盘输入任意长度的字符串,以回车
符结束;
2、将输入的字符串存放在数据段中;
3、对输入的字符串按 ASCII 码从小到大排序(ASCII 小者占低地址存
放);
4、将排好序的字符串利用INT 21H 的9 号功能显示在微机屏幕上。
实验程序如下:
STACK SEGMENT STACK
DB 100 DUP(?)
STACK ENDS
DATA SEGMENT
STR DB 100 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
MAIN PROC
MOV AX,DATA
MOV DS,AX
MOV SI,OFFSET STR
INPUT: MOV AH,1
INT 21H
MOV [SI],AL
INC SI
CMP AL,0DH
JNZ INPUT
DEC SI
MOV BYTE PTR [SI],$
DEC SI
MOV BX,SI
ADDR2: MOV CX,BX
MOV SI,OFFSET STR
NEXT2 : MOV AL,[SI]
CMP AL,[SI+1]
JBE NEXT1
XCHG AL,[SI+1]
MOV [SI],AL
NEXT1: INC SI
LOOP NEXT2
DEC BX
JNZ ADDR2
MOV DX,OFFSET STR
文档评论(0)