- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
现代微机原理与接口技术第3版实验手册
《现代微机原理与接口技术》第3版
实验指导书
第一部分
80X86汇编语言实验
实验一 汇编语言程序上机过程
一)实验目的
完成将汇编语言源程序录入进计算机、利用MASM进行汇编,LINK进行编译,并用DEBUG调试的全部过程。
二)实验内容
用文本编辑器(如记事本,EDIT等)录入下面的程序,命名为SAMPLE.ASM(程序功能是将BUFF中的值(16位)以十六进制的形式打印到屏幕上),通过MASM汇编,找到程序中的语法错误并改正,直到通过汇编,然后利用LINK生成可执行代码,运行看程序是否正确,如果不正确,请用DEBUG调试并将程序修改正确。
.8086
.MODEL SMALL
.STACK
.DATA
BUFF DW 3C6DH
STRING DB PRINT HEX.,0AH,0DH,$
.CODE
START: MOV AX,@DATA
MOV DS,AX
MOV DX, OFFSET STRING
MOV AH,09H
INT 21H
LEA SI,BUFF
MOV BX,[SI]
MOV CH,4
A1: MOV CL,4
ROL BX,CL
MOV AL,BL
AND AL,0FH
ADD AL,30H
CMP AL,3AH
JL A2
ADD AL,7H
A2: MOV DL,AL
MOV AH,2
INT 21H
DEC CH
JNZ A1
MOV AH,4CH
INT 21H
END START
汇编的时候指定生成SAMPLE.LST文件,汇编后,察看该文件.
连接生成可执行文件后,用DEBUG SAMPLE.EXE命令将该程序调入到DEBUG环境中调试。
用U命令察看源代码
用D命令察看数据段的数据
用R命令察看寄存器状态
用T命令单步跟踪程序执行
用G命令设置断点,调试软件中断指令(不要用T)
2. 编完整程序,利用DOS系统功能调用,从键盘输入一个字符串,并将该字符串从屏幕上换行后输出,用DEBUG调试该程序。
实验二 顺序程序设计
实验要求
通过这一部分的实验,进一步熟悉汇编过程和DEBUG调试过程;掌握用汇编语言编写顺序程序。
实验内容
1. x,y,z,v16位带符号数,计算(v-(x*y+z-540))/x
.MODEL SMALL
.DATA
X DW ?
Y DW ?
Z DW ?
V DW ?
.CODE
START: MOV AX,@DATA
MOV DS,AX
MOV AX, X
IMUL Y ; x*y
MOV CX, AX
MOV BX, DX
MOV AX, Z
CWD
ADD CX, AX
ADC BX, DX ; x*y+z
SUB CX, 540
SBB BX, 0 ;x*y+z-540
MOV AX, V
CWD
SUB AX, CX
SBB DX, BX ; v-(x*y+z-540)
IDIV X ; (v-(x*y+z-540))/x
.STACK
END START
2. 在内存中从Table开始的10个单元中连续存放0到9的平方值,任给一个0到9的数X,该数存放在内存单元XX中,查表求X的平方值,并将结果存于内存YY单元中。编写程序,并在DEBUG中进行调试和验证结果。(提示:考虑平方表的每一项需要什么数据类型才合适, XLAT指令是否合适?应该如何查表?)
3 . 假设CX:BX中放了4位非压缩的BCD码表示的
文档评论(0)