- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE
PAGE 2
本科实验报告
课程名称:
实验名称:
实验地点:
专业班级: 学号:
学生姓名:
指导教师:
年 月 日
实验一 汇编语言开发环境与程序调试
一、实验要求和目的
1.熟悉在微机上编辑、汇编、连接、调试和运行汇编语言程序的过程,掌握轻松汇编的使用方法。
2.通过各种寻址方式操作,了解最基本的8086寻址方式、了解8086汇编指令格式。
3.熟悉程序调试的方法,熟悉汇编过程中一些常见出错信息。
二、实验内容
将轻松汇编使用指南中给出的程序作为该实验的练习程序,按照指南中所给出的步骤完成实验。
三、实验步骤
1. 在轻松汇编环境下,按照指南中的指示输入、编辑、链接实验程序。程序代码如下:
;eg501.asm
.model small
.486
.stack
.data
msg db hello, Assembly!,13,10,$
.code
.startup
mov dx,offset msg
mov ah,9
int 21h
.exit
End
运行程序, 写出运行结果:
单步运行程序,观察CPU的相关寄存器、存储器,写出寄存器CS、IP、DS、DX、AH和存储器在执行过程中的数值。
msg db hello, Assembly!,13,10,$ ;DS:msg为: 数据:
.code
.startup ;CS= IP=
mov dx,offset msg ;DX= IP=
mov ah,9 ;AH= IP=
int 21h
.exit
写出程序中可执行指令的寻址方式。
目标寻址方式 源寻址方式 目标值 源值
mov dx, offset msg
mov ah, 9
将程序改为完整段定义格式并再次编译(汇编)执行。
;eg502.asm
data segment para public ‘data’
msg db hello, Assembly!,13,10,$
data ends
code segment para public ‘code’
assume cs:code, ds:data
start: mov dx,offset msg
mov ah,9
int 21h
end start
code ends
将eg501的输出改为 hello, Assembly Begin!,编译运行,写出输出结果。
输出结果为:
将eg502的输出改为 Good, Assembly End!,编译运行,写出输出结果。
输出结果为:
四、选作实验内容
从键盘接收23个有效字符并存入以BUF为首地址的缓冲区中。
DATA SEGMENT
BUF DB 25 ;缓冲区长度
ACTHAR DB ? ;保留单元, 存放输入的实际字符个数
CHAR DB 25 DUP (?) ;定义25个字节存储空间
DB ‘$’
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START: MOV AX, DATA
MOV DS, AX
MOV DX, OFFSET BUF
MOV AH, 0AH
INT 21H
CODE ENDS
END START
教师点评:
指导教师:
年 月 日
实验二 顺序程序设计
一、实验要求与目的:
1、实验要求:编写两到三个用顺序程序设计方法可实现的汇编语言程序,并上机完成。
2、实验目的:通过编写和上机练习顺序汇编语言程序, 学习汇编语言的顺序程序设计方法和在计算机上的编辑、汇编、链接、调试和运行。
二、实验内容:
1、设变量X、Y均为16位无符号数,编写程序求表达式2X+Y的值。
程序代码:
DATAS SEGMENT PARA PUBLIC ‘DATA’
X DW 20H
Y DW 100H
SUM
文档评论(0)