版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
主要内容
■实验安排与要求I;;
■实验基本知识;;;
;A汇编语言结构及上机过程
段ADEBUG调试工具।
■实验设备;;;;
・具体实验
一、实验安排与要求
・微机原理实验;;;[;
A汇编语言Q验....................
A接口实验
■实验要求
»实验前准备,预习报告I;;
A认真实验,原始记录纸;;;
1
»实验报告,用纸、书写、报告1
A实验内容考核
八实验基本知识
■汇编语言结构及上机过程
■DEBUG调试工具
■QTH-2008PC集成开发环境
汇编程序的上机过程
■汇编程序
■上机过程
1、汇编程序
■汇编程序的主要功能是将由汇编语言(助记符)编
写的源程序翻译成用机器语言(二进制代码)编写
的目标程序。
输出
■汇编程序;;;;;;Djj(巢
AASM:小汇编程序,可在64KB的内存中执行,不支持
宏指令,只能有限制的使用伪指令
>MASM:宏汇编程序,必须在96KB以上的内存条件下
运行,可以使用所有的宏指令和伪指令
"汇编程序的功能:;;;;;;;;
*A检查师编制源程序।।।।।।
»把初始已经分配地址的目标程序重新分配为其它的地
tit
>检查源程序的错误
>产生源程序语句列表和每个源程序汇编后的目标程序
注:
汇编过程中,不运行用户编写的程序,只是翻译成机
器语言
宏汇编程序在DOS下运行
■MASM中的主要文件类型
।A汇编源程序(ASM)।
;A目标代码文件(.OBJ)
;A:列表文件(.LST);;
>交叉索弓I文件(.CRF)
汇编语言上机步骤(开始)
编辑源程序文件
(例如用EDLIN)
・汇编语言的程序一般要
打印
经过以下步骤;;源程序
;》悒辑;;;;
生成目标代描文件〈•OBJ)
>汇编(MASM或ASM)
>连接(LINK)用LINK连接
目标代用文件〈•EXE)
>调试(DE-BUG)
在DOS下执行.EXE文件
(结束)
1)编辑源程序।।।।।।户片¥
A源程序需要用文本编辑器进行编写,在DOS下,可以
使用PE、EDIT或WORDSTAR进彳亍编写;Windows下,
可以使用记事本或其他文本编辑器编写。
iA源程序保存的扩展名为:.ASM「Qii
2)汇编(MASM或ASM)源程序
;(1)提问方%;;;;;;;;
(2)命令方式
>以命令方式启动汇编程序时,须在DOS下打入下列格式命令:
>MASM(或ASM)〈源文件〉,[〈目标文件〉],[〈列表文
件〉],[〈交叉参考文件〉][/开关]
3)程序连接
;>连接程序UNK用来连接汇编程序生成的目标代码文件
(.OBJ)以及指定的库文件,产生一个可执行的装入文
#(.EXE)O
。连接程序有3种启动.......................
;(1;)提司方式;।।।।।।।;
(2)命令方式
>以命令方式启动连接程序时,必须在DOS下输入如下格式命令:
LINK〈目标代码模块表〉,[〈装入模块名〉],[〈列表文件
名〉],[〈库文件名表〉][/开关]
(3)文件方式
以文件方式启动LINK的命令格式为:
LINK@〈文件名〉
AMAP文件
■内存映象文件(.MAP)可以在LINK的时侯产生,它实际
上是连接程序的列表文件,给出了每个段的地址分配
情况和和长度。
4)执行程序
A:>ABCD(扩展名EXE可默认)
户)咽试隼序;;;;;;;;
;A调试程序DEBUG是专为宏汇编语言设计的一种调试
手段,是我们必须掌握的一种调试工具。
L»在操作系统提示符下,按如下格式键入命令:
A:>DEBUG[驱动器名:][路径][文件名[扩
展名]1
调试工具Debug
在DEBUG程序中,为我们提供了18条子命令。
>可以对程序进行汇编和反汇编;
>可以观察和修改内存及寄存器的内容;;
»可以执行或跟踪程序,并观察每一步执行的结果;
>可以读/写盘上的扇区或文件
■几个主要的DEBUG命令
A汇编命令A
■格式:A[段寄存器名]:[偏移地址]「
A[段地址]:[偏移地址]
।।A[扁移地址].......................
A
■功能
用该命令可以将汇编便语言程序直接汇编进入内存
DEBUG
显示内存明令D
A格式:D[地址]
1।।ID口地址范围]।I।印
;功能;IJ11;;11;
A显示指定内存范围的内容,显示的内容为两种形
式,一种为16进制内容,一种为与16进制相对应
的ASCH码字符,对不可见的字符以”.〃代替
A对于第1、3种格式,每次显示128个字节内容,第
二种格式显示的字节数由地址范围来决定
A一般以前如果没有使用过D命令,则从CS:100处开
始显示
I...........................................................................nimnr
■修改存储单元内容命令E
A格式:1)IE[地址][内容表]
2)E[地址]
1功露:11;;;;;;\
>1)用命令所给定的内容表区替代指定地址范围的
内存单元内容
I.A2)一个单元一个单元的连续修改单元内容|
其中,内容表为一个16进制数或一串16进制数,也
可以是用单引号括起的一串字符。
■比较命令C1।111i.
A格式:C[源地址范围],[目标地址范围]
>从源地址范围起始的地址单元开始逐个与目标起始地址
往后的单元顺序比较每个单元的内容,比较到源终止地
址为止。比较结果如果一致则不显示任何信息,否则,
以[源地址][源内容][目的内容][目的地址]的
形式显示失配单元的地址和内容
■检查和修改寄存器内容命令R
A南式:;1);4;।।।।
I।2)R[寄存器名]III।
功能:;;;;;;;;;
1)显示CPU内部所有寄存器的内容和所有标志为的
状态。
2)显示和修改指定寄存器的内容和标志位的状态
!上;;;;;;;DEBUG
■追踪与显示命令T
»格式:1);T[二地址]或T[地址]
2)T[=地址][条数]
或T[地址][条数]
功隼:;;;;;;;;;।
1)执行一条指定地址处的指令,停下来,显示CPU所
有寄存器内容和全部标志位的状态,以及下一条指令
的地址和内容
2)为多条跟踪命令,从指定地址开始;若命令中用
[地址]给定了起始地址,则从起始地址开始,若未
给定,则从当前指令地址(CS:IP)开始,执行命令中
的[条数]决定一共跟踪几条指令后返回DEBUG状态
■运行命令G
A格式:G[=地址][地址[地址]
>功能
执行用户正在调试的程序,其中,地址为执行的
起始地址,以CS的内容作为段地址,以等号后面
的地址为偏移地址。后面的地址为断点地址。
■命名命令N
>格式:N文件名
A在调用DEBUG时,如果没有文件名,需要用N命令将
编译的的文件名格式化到CS:5cH的文件控制块中
■写盘命令W;I'IIIII
>格式:W[地址]或W
!!!!!!!!!DIRHC
QTH-2008PC集成开发环境
?/:;QTBPCI-QTHPCI113回区)
文件(E)编辑任)查看Q)项目(D调试(2)基本实垃程序窗口(双)帮助出)
日京63|C:\masm\test.pci▼[翦c旧国宜,喇三]与曾2
QTHPCI1
-炎目标文件(test)E0®
源
件
文datasegment
库
件
文a1db75h
其
文
它datasegment
I
I
codesegment
assumecs:code,DS:data
startprocfar
pushds
xorax,ax
pushax
startendp
endstart
Id
■LJClassVIew整|REG瓢QTHPCI1]
开发环境界面
二实验设备
0TH-2008PC
嵌入式段如高空臭验但
启东市微机应用研亢所
OtdongMicrocomputerImbtute
实验箱结构
r
««匡■
黑
=建
=
=
1
1
匚
-
实验箱背面
连线
四、具体实验
1、调试工具debug的使用及基本指令的用法
2、简单程序的编制及汇编过程
3、宏汇编程序的基本语法及程序编制
4、;系统"能串用;;;;;
5、中断处理程序的编制;।;;
6、微机简单I/O接口的操作:।।
7、可编程并行接口芯片8255A的使用;
8、可编程计数/定时器8253的使用;
9、可编程中断控制器8259A的操作i
10、综合实验
II.II实验1
:调试工具debug的使用及基本指令的用法
一、实验.....................................
1、;学习PEBU©常用♦令的使用j;;।।।
2、了解程序运行的过程
3、熟悉所学指令的功能,给定指令,记录指令执行后的状态
4、了解上述各类指令对标志寄存器的影响
二、实验设备:;;;;;;;
「QTH-2008PC实验设备一台,键盘、鼠标、显示器各
一件。
三、实验内容:
■分别用DEBUG程序的命令实现对PC机RAM单元、CPU寄
存器等的内容修改,程序的输入,反汇编,及简单程序的
跟踪运行;
■输入所学的常用指令,并观察指令的执行情况。];
1)debug的使用
1.debug的进入和退出:
2、观察及修改CPU内部的各寄存器!:II
雷M(观察各寄存器的内容।।।।।
3、观察和修改内存单元的内容\;DFBI(;
-d20006查看从地址DS:2000H开始的128个单元的内容
5、输入程序
-a100।।।।।।।
WCS:100H处开始输入程序
;(这是默认的程序开始的地址)
.....................................................
-t=1001...........................................................
;执行CS:100H处的一条指令,
;自动显示各寄存器内容及下一条指令
.7、,汇国程平;;;;;;;;
।-u100WCS:100H处开始反汇编»i
18、执行一段程序।।।।।।।।
-g=100106;从CS:100H开始,执行到CS:106处停止
2)基本指令的用法
在debug中输入各条基本指令并执行,观察指令的执行情况
AX=0000BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=000001=0000
DS=13E1ES=13E1SS=13E1CS=13E1IP=0100NVUPEIPLNZNAPONC
13E1:01000000ADD[BX+SILALDS:0000=CD
_dfAA
vivu
13E1:0100H000000000000-0000000000000000
uDC
13E1:0110A000000000000-000000003400D0134
uuA
13E1:0120rA000000000000-0000000000000000
utv
13E1:01300000000000000-0000000000000000
vAAA
13E1:0140uu000000000000-0000000000000000
uQA
13E1:0150u000000000000-0000000000000000
vAuAwA
13E1:0160O000000000000-0000000000000000
13E1:0170u000000000000-0000000000000000
四、实验问题探讨
1.如何利用Debug去观察中断向量表?
2.机器复位后执行的第一条指令在哪儿?是什么指令?
3.在debug中输入16进制数时,需要键入H吗?
4.从当前位置开始执行指令到CS:0212H处,在Debug
中应该使用什么命令?
实验2简单程序的编制及汇编过程
4>交验;目砒;;;;;;#二
1.掌握masm、link的基本用法
2.编制基本的宏汇编程序;;;;;;
3、能编制基本的宏汇编程序,能实现分支结构、循环结构
;的程序布制。;;;;;;;;
4、熟悉汇编集成开发环境QTH。(可选);।
二、实验设备::;;;;;;;
「QTH-2008PC实验设备一台,键盘、鼠标、显示器各
一件。
三、实验内容STASEGMENTSTACK;定义堆栈段为200个字节
S1DW100DUP(?)
STAENDS
DATASEGMENT;定义数据段
iDB12H
1、宏汇编jDB34H
程序基本sDB?
DATAENDS
结构CODESEGMENT;定义代码段
ASSUMECS:CODE,SS:STA,DS:DATA
ORG100H;从CS:100H处开始输入程序
STARTPROCFAR
PUSHDS
XORAX,AX
PUSHAX।这三条指令为返回DOS做准备
MOVAX,DATA;给DS赋初值
MOVDS,AX
;从这儿开始输入你的程序
RET
CODEENDS
ENDSTART
四、实验步骤:
1、使用EDIT或WINDOWS下的记事本或写字板输入你的程序并保存到
c:\masm目录下,命名为t.asm(后缀必须是asm).
2k汇编...................................................
c:\masm>masmt;(如果没有错误,将生成t.obj文件
31连接过程:।।।।।।।।।
c:\masm>linkt;(如果没有连接错误,将生成t.exe文件
4执靠调*程序;।।।;
c:\masm>t(执行该程序
c:\masm>debugt.exe<■将该程序装入debug进行调试。
5、利用汇编语言集成开发环境QTH建立项目文件,并将汇编语言程序
模块文件加入项目,进行编译、连接及调试。(可选)
五、实验问题探讨
1,为什么程序的起始位置一般放在CS:0100H位置,
而不是从CS:OOOOH处开始?
2.程序的前三条指令如果去掉,当程序执行完退出
时会出现什么现象?为什么?
实验3宏汇编程序的基本语法及程序编制
「、嗦验百的:;;;;;;;^^
1、熟悉各条宏指令的作用;;;;;;
2、掌握运算类程序设计的基本方法।।
二、实验设备:
QTH-2008PC实验设备一台,键盘、鼠标、显示器各一件。
、实验内容
1.编制包含多种数据定义伪指令的完整程序,经汇编、连
接后,装入DEBUG,观察数据的存储情况,从而掌握常
用伪指令的作用。
iDB12H,'AB'
wDW12H/AB'
NUM=$-I
aDD12H;以上数据在内存中如何存放?
PUSHDS
XORAX,AX
PUSHAX
MOVAX,DATA
MOVDS,AX
MOVALJ;翻译成机器指令是什么格式?
MOVAX,w?
MOVBL,NUM?
2.编制一段完整程序,实现多字节加法运算(在
DEBUG内观察结果)o
四;实验步舞;;;;;;;'V
方法一、非集成开..............................
;使用EDIT或WINDOWS下的记事本或写字板输入你的
程序并保存到c:\masm目录下,命名为t3.asm(后缀必
须是asm).
■汇编过程:c:\masm>masmt3;(如果没有错误,
将生成t3.obj文件
■连接过程:c:\masm>linkt3;6如果没有连接
喃错误,将生成t3.exe文件[]]]]
■调试程序:c:\masm>debugt3.exe将该程序装入
debug进行调试。
方法二、使用集成开发环境
建立项目文件、输入源程序、编译、连接、调试。
五:实解问融探;讨;;;;;;;
1.在debug中,为什么要执行完MOVDS,AX指令后,使用
-d0来观察数据段的存储单元的数据存储情况?
丸;伪指令中的表达式是在什么阶段进行运算得出结果的?
3.指令MOVBYTEPTR[BX+2],NUM+2中的两个
作用有什么区别?(NUM是常数)
实验4系统功能调用
一、实验目的:
■初步学会DOS及BIOS功能调用技术
■学习控制台I/O程序的设计
一、实验设备:
QTH-2008PC实验设备一台,键盘、鼠标、显示器各一件。
三、实验内容
1,编制一段完整程序,实现从键盘输入一个两位的十六进
制数,按回车后,以二进制数形式显示出来。
四、实验步骤
提示:在debug中调试系统功能调用时,如果使用t命令
进行单步执行,当遇到INT21H时,会跟踪进入系统中
断服务程序。
因此,应该使用g命令运行到INT21H的下一条指令处。
这样就不会跟踪进入系统程序而无法执行完。
五、实验问题探讨
1、如果没有系统功能调用,如何实现键盘的输入?;
2、利用9号功能调用显示字符串时,如果字符串没有
节,结束符,会出现什么现象?
3、利用2号功能调用显示单字符,如果显示的字符是
二进制数7,会出现什么现象?
实验五中断处理程序的编制
、实验目的
■掌握汇编程序的编程方法,并要求能够灵活使用O
■熟悉主要的程序实现方法,通过对输入、输出、字符转
换、数据统计等内容的综合编程,进一步熟悉对程序结
构、汇编语言、功能调用等方面的知识。
、实验设备:
QTH-2008PC实验设备一台,键盘、鼠标、显示器各一件。
三、实验内容:
;编写针对1C号中断的处理程序,实现每1秒显
;不一个累加的秒数。;;;「\I
说明:1.DOS下的1C号中断是由微机内的定时器8253定时
触发的,可供用户使用的中断。每秒产生18.2次中
断,大约每55ms产生一次中断。
2.在中断处理程序中,禁止使用DOS系统功能调用,
因为DOS系统功能调用是不可重入的。可以使用
BIOS功能调用,因为BIOS功能调用是可重入的。当
中断频繁发生,引起中断嵌套时,放在中断处理程序
中的不可重入的DOS系统功能调用会引起系统崩溃。
因此下面的程序中将信息显示的功能放在主程序中,
而不是放在中断处理程序中。
四、实验步骤
提示:中断处理程序不适合利用debug进行跟踪调试,因
为在跟踪过程中,中断仍然会不停地产生,中断处理程
序会不断得到运行。
当然,利用debug设置断点的方式仍然可以让中断处理
程序停止,可暂时观察中间运行结果。
五、实验问题探讨
1.修改中断处理程序中的常数18,增大或减小它,观察程
序的运行有何变换?为什么?
实验六微机简单I/O接口的操作
1、实验目的
■掌握接口操作的基本方法。
■熟悉接口操作的原理和步骤。
2、实验设备
1)QTH2008PC实验设备一套
2)显示器、鼠标、键盘等
3、实验内容
■本实验利用74LS244作为输入口,接8个开关,读取开关
状态;
■74LS273作为输出口,接8个LED。编制简单程序实现输
出端p始终等于输入端口的内容,即根据开关状态控制
LED凫灭。
4、实验原理;;;;;;;;;
1)74LS244和74LS273
■74LS244是一种三态输出的8总线缓冲驱动器,无锁存功
能,当G为低电平时,Ai信号传送到Yi,当为高电平时,
Yi处于禁止高阻状态。
■74LS273是一种8D触发器,当CLR为高电平且CLK端电平
正跳变时,DO——D7端数据被锁存到8D触发器中。
2)系统原理图
74HC273
3
1D1Q0
145
Y1J2D2QQ0
3D3Q
38Q2
Y4D4Q2Q3
加32
5D5Q0Q4
46D6
Y5QQ5
7D7Q6-0
D6819
8D8Q1Q6
Y71:17
-0Q7
11
RSTRCLKA*
ZL
4
56
244CS273CS
5
,
渭
崩
等
弱
高恁电平开关
KKKKKKKK
IoYoOOOOOOOO
37654321
I口
RD
Do
2
DD
1OYYYYYYY
DDe65432iO
-2
DD74LS244
此I3
DI
益_
I4I/O单元
D1
睢-
-574LS27$
DI
口s
-
6刁CQ©QQQQQ
D
IoY2
发光二横营单元
实验连线:
・244的CS——PC104总线接口模块的IOYO,Y7—Y0——开关
KOI—K08o
・273的CS——PC104总线接口模块的IOY2,Q7—Q0——发光
二极管L1—L8。
・该模块的WR、RD分别连到PC104总线接口模块的IOWR、
IORDO
•该模块的数据(AD0〜AD7)连到PC104总线接口模块的数据
(D0〜D7)o
•运行编制的程序,拨动开关,观察发光二极管的变化。
6、思考题
1)如果指示灯不亮,你如何排查解决此问题?।।।:I
2、如果74LS244和74LS373使用同一个端口地址?能行么?为什么?实验
一下。
7、实验报告要求:;;;;;;;
1)画出接口电路原理图
2)分析电路的执行过程
3)列出程序清单和执行结果
4)回答思考题
5)对本实验的总结
实验七可编程并行接口芯片8255A的使用
1、实验目的
■了解可编程并行接口芯片8255的内部结构、工作方式
'熟悉8255初始化编程及应用。
2、实验设备
1)QTH2008PC32位微机教学实验仪一套
2)显示器、鼠标、键盘各1件
3、实验内容(以下3个实验任选一个)
■I/O输入输出实验:利用8255的A口读取开关状态,
8255的B口把状态送发光二极管显示。
■流水灯实验:利用8255的A口、B口循环点亮发光
二极管。IIIIIIII।
■交通灯实验:利用8255的A口模拟交通信号灯。
4、实验原理飒8255P
4
DOPAO42PAO
333
DIPAI7PAI
322yx
D7~D0D2JDrAOz.7PA2
匚311
—TD3PA37PAS
3040
D4PA4____(\PA4
2939
VTSCPA5PA5
2838
D6DAX____C\PA6
2737
D7PA7_cPAT
AO918
AOPBO__XXPBO
Al819
A1PB1PB1
怵:3620
WRppn___CsPB2
ED521__
RDJrDJ7PB3
NN
XxPB4
RST3523
RESETL<DDPB5
24
PB6____r\PB6
625
O-------CEPB7—--------0PB7
4
pc7pc7pc0
L105
pc6pc1
DPUC_116
PC5rLD2pc5pc2
1237
PC4PC3
24
5、实验步骤
■流水疔实验!111111v
■(1)实验连线[[।]।]]।
■1)该模块的WR、RD分别连到PC104总线接口模块的IOWR、IORD。
■2)该模块的数据(ADO〜AD7)、地址线(AO〜A7)分别连到
PC104总线接口模块的数据(DO〜D7)、地址线(A0〜A7)。
■3)8255模块选通线CE连到PC104总线接口模块的IOYO。11
■4)8255的PAO〜PA7连到发光二极管的L1〜L8;8255的PBO〜PB7连
到发光二极管的L9〜L16。
■(2)编写程序,实现流水灯功能。
・2、交通灯实验:
(1实验连线:
1)该模块的WR、RD分别连至UPC104总线接口模块的IOWR、IORD。选
通线CE连至UIOYO。
2)该模块的数据(ADO〜AD7)、地址线(AO〜A7)分别连到PC104
总线接口模块的数据(DO〜D7)、地址线(A0〜A7)。
3)8255的PA0-L7、PA1-L6、PA2-L5、PA3-L3、PA4-L2、PA5-L1。
■编制程序。
3、I/O输入输出实验:
(1)实验连线
・该模块的WR、RD分别连到PC104总线接口模块的IOWR、IORD。
・该模块的数据(ADO〜AD7)、地址线(A0〜A7)分别连到PC104总线接口
模块的数据(DO〜D7)、地址线(A0〜A7)。
・8255模块选通线CE连到PC104总线接口模块的IOYO。
・8255的PA0〜PA7接开关K0〜K7,8255的PB0〜PB7接发光二极管L1〜L8。
(2)编制程序。
ADO
AD1
D2
D3pA0
lK01
41
口D
!1
1
归•
D5*
器pA7
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深圳空调维修保养合同范本
- 消防简易合同范本
- 土方运入合同范本
- 新高考数学二轮复习 易错点1集合及其运算(原卷版)
- 小学语文教学法 教案 项目四 小学汉语拼音教学与识字写字教学
- 库房配送合同范本
- 《2型糖尿病相关视网膜病变的rs-fMRI脑功能成像研究》
- 《某活塞式石蜡驱动器输出特性研究》
- 火灾应急处置措施
- 淹水赔偿合同范本
- 音乐高考模拟考试乐理试题
- 软文营销玩转五大平台的软文营销与写作技巧
- 烟花爆竹行业职业病危害因素识别与防控培训
- 阿里云数据备份方案
- 商显市场调研报告
- 人工拆除水塔专项施工方案
- 自驾游合作协议书
- 2023年08月国际小水电中心事业编制公开招聘2人笔试历年难易错点考题荟萃附带答案详解
- 《论语》十二章教学【全国一等奖】
- FREE高考英语核心词汇1783
- 3-6《制作钟摆》课件
评论
0/150
提交评论