- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
本科实验报告
课程名称: 计算机硬件基础
实验项目: 实验四 汇编语言程序设计:综合程序设计实验
实验地点: 逸夫楼202与计算机硬件实验室701
专业班级: 软件*** 学号: ********
学生姓名: ***
指导教师: 高劲松
2013年 5月17日
实验名称:实验四 汇编语言程序设计:综合程序设计实验
实验目的和要求:
1.通过分支程序设计、循环程序设计实验,掌握无条件转移指令、条件转移指令的格式、功能及使用方法。
2.掌握分支程序的结构、单分支和多分支程序的设计方法。
3.了解循环程序的基本结构和控制循环的方法。
4.掌握通过DOS中断调用使用键盘和显示器的方法。
实验内容和原理:
1.预习汇编程序上机操作的全过程。
编写一个汇编语言源程序;以下是MASM5环境中运行步骤:(同学们也可以使用CV集成编译环境)
(1)在dos环境下,如:d:\masm\ 下输入命令:edit
(2)打开编辑窗口
(3)输入如下原程序后保存文件,例如 exp1.asm
(4)输入下列指令进行编译: d:\masm\ masm exp1.asm回车
检查错误,如结果为0错误 0警告则编译成功,产生exp1.obj文件
(5)输入下列指令进行链接: d:\masm\link exp1.obj回车
如结果为0错误 0警告则链接成功,产生exp1.exe文件
(6)运行程序检验结果。d:\masm\ exp1回车
2.对已经汇编连接成功的可执行文件,使用DEBUG命令调试程序找出程序的断点,执行程序,显示有关寄存器、存储单元的内容,分析程序的结果。
主要仪器设备:HP6460b笔记本
实验记录:
1.编写一个汇编程序,要求对键盘输入的大写字母用小写字母显示出来,键盘输入的小写字母用大写字母显示出来。
STACK SEGMENT STACK
DB 200 DUP(0)
STACK ENDS
DATA SEGMENT
X DB 0;
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START: MOV AX,DATA
MOV DS,AX
MOV AH,01H
INT 21H
CMP AL,a
JNL NEXT
MOV X,a-A
ADD X,AL
MOV AH,02H
MOV DL,X
INT 21H
MOV AH,4CH
INT 21H
NEXT: MOV X,A-a
ADD X,AL
MOV AH,02H
MOV DL,X
INT 21H
MOV AH,4CH
CODE ENDS
END START
2. 编写一个汇编程序,使得从键盘上输入十个以内的字符,以输入空格结束,然后按数字、字母和其它符号三类统计各自的个数,在屏幕上依次显示出统计结果。
STACK SEGMENT STACK
DB 200 DUP(0)
STACK ENDS
DATA SEGMENT
X DB 0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START: MOV AX,DATA
MOV DS,AX
SUB AX,AX
MOV BX,0
MOV DX,0
MOV CX,10
AA1: CMP CX,0
JZ STOP
MOV AH,1
INT 21H
CMP AL,20H
JB STOP
CMP AL,0
JB CC2
CMP AL,9
JA CC1
INC BH
JMP NEXT1
CC1: CMP AL,A
JB CC2
CMP AL,Z
JB NEXT
CMP AL,a
JB CC2
CMP AL,z
JA CC2
NEXT: INC BL
JMP NEXT1
CC2: INC DH
NEXT1: LOOP AA1
STOP: MOV AH,2
MOV DL,BH
ADD DL,X
INT 21H
MOV AH,2
MOV DL,BL
ADD DL,X
INT 21H
MOV AH,2
MOV DL,DH
ADD DL,X
INT 21H
MOV AX,4C00H
INT 21H4
CODE ENDS
END START
实验结果和分析:
心得体会:
由实验运行可知,上述两个程序正确。
其中也由于一些编码时的粗心大意而导致
原创力文档


文档评论(0)