硬件基础实验指导书与答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《计算机硬件基础》课程实验指导书

辽宁工程技术大学软件学院

2017年5月

目录

64位操作系统下使用MASM (3)

实验上机操作范例 (5)

实验一CPU结构 (15)

实验二指令格式 (22)

//实验三循环程序设计 (25)

实验四综合程序设计(一) (32)

实验五综合程序设计(二) (36)

实验六高级汇编技术 (42)

64位操作系统下使用MASM

1.安装DOSBox。双击DOSBox0.74-win32-installer.exe。

2.运行DOSBox。双击桌面的DOSBox快捷方式,如图1所示。

图1 运行DOSBOX虚拟机

3.将MASM文件夹里的全部文件拷贝到一个目录下,比如d:\masm下,然后将这个目录挂载为DOSBox的一个盘符下,挂载命令为Mount c d:\masm 。然后切换到挂载的c盘,如图2所示。

图2 挂载masm文件夹3.编译汇编源程序,如图3所示。

图3 汇编源程序4.连接和运行源程序,如图4所示。

图4连接和运行源程序

实验上机操作范例

【范例】完成具有如下功能的分段函数

1 X>0

Y = 0 X=0

-1 X<0

其中:X存放在内存单元中,Y为结果单元。【问题分析】根据题意画出程序流程图,如图1所示。

图1 分段函数的程序流程图

根据程序流程图编写如下程序

DSEG SEGMENT

X DW ?

Y DW ?

DSEG ENDS

CSEG SEGMENT

ASSUME CS: CSEG, DS: DSEG

START:MOV AX, DSEG

MOV DS, AX

LEA SI, X

MOV AX, [SI]

AND AX, AX

JNS LP1

MOV Y, 0FFH ; X<0

JMP END1

LP1: JNZ LP2

MOV Y, 00H

JMP END1

LP2: MOV Y, 01H

END1: MOV AH, 4CH

INT 21H

CSEG ENDS

END START

汇编语言程序的开发分为以下4个部分:编辑(生成.asm文件)—→汇编(生成.obj文件)—→连接(生成.exe文件)—→调试。

下面介绍汇编语言源程序从编辑到生成一个可执行文件(.exe文件)的过程。利用Microsoft公司提供的MASM6.15版本的工具包(包括MASM.EXE、LINK.EXE、ML.EXE、DEBUG32.EXE等),如图2所示。

图2 G盘下的MASM615工具包

下面的例子按以下几个步骤完成:

(1)先编写一个fenduan.asm文件;

(2)保存并通过运行masm.exe生成目标文件fenduan.obj;(3)再利用link.exe生成可执行文件fenduan.exe;

(4)运行fenduan.exe文件;

(5)运行debug32 fenduan.exe后即可对程序进行跟踪调试。

1.通过DOSbox调用MASM6.15

图3 挂载masm6.15

将masm汇编工具文件夹g:\masm615\挂载到DOSbox虚拟机的C盘下。命令为mount c g:\masm615,然后,进入虚拟盘符C盘下,即g:\masm615下。

2.编辑源程序

在masm615文件下建立记事本,把文件扩展名改为.asm并进行保存,这时弹出图4所示窗口,单击“是”。

图4 重命名对话框

双击fenduan.asm文件,编写汇编语言源程序,如图5所示。

图5 记事本中编写汇编语言源程序

2、汇编

汇编的命令格式是:masm 文件名.asm (扩展名.asm可以省略)

图6 汇编fenduan.asm文件

汇编fenduan.asm文件,在DOS环境下键入―masm fenduan.asm‖,按回车。如图6所示生成fenduan.obj文件,显示的信息含义为:

Object filename [FENDUAN.OBJ]: ←是否改动输出OBJ文件名,如不改就按回车键―ENTER‖。

Source listing [NUL.LST]: ← 是否需要列表文件(LST),不需要就按回车键。

Cross-reference [NUL.CRF]: ←是否需要对照文件(CRF),不需要则按回车键。

51670 + 464874 Bytes symbol space free

0 Warning Errors ←警告错误,表示编译器对某些语句不理解,通常是输入错误。

0 Severe Errors ←严重错误,会造成程序无法执行,通常是语法结构错误。

如果没有一个错误存在,即可生成OBJ文件。OBJ中包含的是编译后的二进制结果,它还无法被DOS载入内存中加以执行,必须加以连接(Linking)。

以LINK将OBJ文件(FENDUAN.OBJ)链结成EXE 文件(FENDUAN.EXE)。

3、连接

连接的命令格式:link 文件名.obj (扩展名.obj可以省略)

图7 连接fenduan.obj文件

连接fenduan.obj文件,在DOS环境下键入―link fenduan.obj‖,按回车。如图7所示生成了fenduan.exe文件,显示的信息含义为:

Microsoft (R) Overlay Linker Version 3.60

Copyright (C) Microsoft Corp 1983-1987. All rights reserved.

Run File [SMILE.EXE]: ← 是否改动输出EXE文件名,如不改就ENTER。

List File [NUL.MAP]: ← 是否需要列表文件(MAP),不需要则ENTER。

Libraries [.LIB]: ←是否需要库文件,要就键入文件名,不需要则ENTER。

LINK : warning L4021: no stack segment← 由于COM文件不使用堆栈段,所以错误信息。"no stack segment"并不影响程序正常执行。

4、调试

调试的命令格式是:DEBUG32 文件名.exe ←.exe可以省略。

若调试fenduan.exe文件,如图14所示在DOS环境下键入―debug fenduan.exe‖,按回车,这时进入debug动态调试窗口。

先用命令U反汇编整个程序,查看每条指令的物理地址,其显示内容如图8和9所示。

相关文档
最新文档