Copyright (C) Microsoft Corp 1981-1985, 1987. Object filename [EXAMPLE.OBJ]:↙ Source listing [NUL.LST]:↙ Cross reference [NUL.CRF]:↙ 0 Warning Errors 0 Severe Errors D:\\HUIBIAN>
All rights reserved. Source
汇编程序MASM需要和用户进行上述相关信息交互,以便进行汇编、生成相应的文件。 (a)提示用户输入要建立的目标文件名,若默认括弧内的目标文件名,则可直接按回车; (b)询问用户是否要建立汇编列表文件,若要,则打入文件名,否则直接按回车; (c)询问用户是否要建立交叉索引文件,若要,则打入文件名,否则直接按回车。
汇编后.OBJ文件是必须生成的一个目标代码文件,当源程序中无语法错误时,则在当前工作盘上自动存入一个.OBJ文件,供下一步连接用。
若源程序有语法错误时,会出现错误信息提示: 源程序文件行 最后信息提示: ×× Warning
errors
(警告错误)
错误信息代码
错误说明信息
×× Severe errors (严重错误)
若严重错误总数不为0,则.OBJ文件没有生成,需回到编辑状态下修改源程序、再汇编直到无错为止。 注意:仅当屏幕上显示无错误时(警告错误为“0”, 严重错误为“0” )才可进行下一步骤连接。
三、连接目标程序
汇编后生成的.OBJ文件,其所有目标代码的地址都是浮动的偏移地址,机器不能直接运行。必须用连接程序(LINK.EXE)对其进行连接装配定位,产生.EXE可执行文件,方可运行。连接是把一个或多个目标文件和库文件中的有关模块合成一个可执行文件的过程, 需要利用连接程序LINK.EXE。
在DOS提示符下键入:LINK <目标程序文件名> D:\\HUIBIAN>LINK EXAMPLE↙
Microsoft (R) Overlay Linker Version 3.60
Copyright (C) Microsoft Corp 1983-1987. All rights reserved. Object Run File [EXAMPLE.EXE]: ↙ List File [NUL.MAP]: ↙ Libraries [.LIB]: ↙
LINK:warning L4021: no stack segment D:\\HUIBIAN>
连接程序 Link 需要和用户进行上述相关信息交互,以便连接和生成相应的文件。 (a)提示用户输入要建立的可执行文件名,若默认括弧内的可执行文件名,则直接按回车; (b)询问用户是否要建立地址分配文件,若要,则打入文件名,否则直接按回车;
8
(c)询问用户是否用到库文件,如果用户自己建立了库文件,则键入库文件名,否则直接按回车。 连接程序在连接过程发现有错,则会显示出错信息,用户应重新调用编辑程序对源程序进行修改,然后重新汇编、连接、直至无错。但连接程序给出的无堆栈段的警告性错误并不影响程序的执行,所以,到此为止,连接过程已经结束,自动在当前工作目录下生成.EXE可执行文件。
注:若要连接多个模块目标程序,可用“+”把它们连接起来。 如:LINK files1+files2+files3
四、运行程序
经过汇编、连接后生成的.EXE可执行文件,可在DOS操作系统中直接运行,只要键入相应的文件名即可。
如:D:\\HUIBIAN > EXAMPLE↙
DOS操作系统的COMMAND.COM模块将该程序装配到内存,并设置和分配启动地址。也可在DEBUG调试程序下运行。
注意:此时可能屏幕上没有任何显示,因为你没有让结果显示在屏幕上,但是你的程序运行结果必然在内存中。所以应该采用 DEBUG 进行动态调试。
五、可执行程序的调试
调用 DEBUG 程序对 EXE 文件进行动态调试。 D:\\HUIBIAN>DEBUG EXAMPLE.EXE↙ –
此时已经进入DEBUG调试程序,并且被调试的程序EXAMPLE.EXE也已经调入内存,接下来就可以用前面介绍过的DEBUG命令对程序进行调试。
六、子程序库
库管理工具程序LIB.EXE帮助创建、组织和维护子程序模块库,例如增加、删除、替换、合并库文件等。
子程序文件编写完成后,仅进行汇编形成目标文件;然后利用库管理工具程序,把子程序目标模块逐一加入到库中。加入库文件的常用命令:
LIB库文件名+子程序目标文件名↙
使用库文件中的子程序模块的方法,是在连接程序提示输入库文件名时(Libraries[.lib]:),输入库文件名。
最后提醒,DOS的可执行程序通常都可以采用 “程序名/?”或“程序名/help”得到该程序的命令行使用的简要说明。
1.4 TPC-H实验装置介绍
一、TPC-H实验装置概况
该实验台硬件包括接口卡、实验台(箱)两部分组成,做接口实验用。两者之间通过50线扁平电缆
9
相连。接口卡可以插入PC系列微机中任意一个扩展插槽。他的主要功能是将与实验有关的总线信号加以驱动后引到实验台上,同时引出信号还有与“中断”和“DMA”实验操作有关的信号及+5V、+12V、-12V电源。另外,卡上设有一个跳线开关(JP)用于选择IRQ2、IRQ3、IRQ4、IRQ7中的一个作为中断请求信号。
实验台上设有I/0地址译码电路、总线插孔、接口实验常用的集成电路、外围电路及通用IC插座等部分组成。外围电路包括逻辑电平开关电路、LED显示电路、时钟电路、单脉冲电路、逻辑笔、复位电路、七段数码管显示电路、基本门电路、继电器及步进电机、小直流电动机的驱动电路。
二、系统的组成与安装
? 实验系统组成
该实验系统由一块PC总线接口卡(ISA)、一根50芯扁平电缆和一个实验台组成。
? PC总线接口卡用于把PC总线引出到外部并提供驱动能力。 ? 50芯扁平电缆线用于连接总线接口卡和实验台。 ? 实验台为单板式结构,装在一个手提箱内。
? 实验系统安装
(1) 关上PC机电源,打开PC主机箱。
(2) 检查接口卡上中断请求跳线开关是否已经连好(该卡在出厂时已将4、5短接,设定IRQ7作为中断申请信号)。
(3) 把PC总线接口卡插在任一ISA扩展槽中。 (4) 用50芯扁平电缆线连接总线接口卡和实验台。
? 实验台上的自锁紧插孔的使用
本实验台采用了“自锁紧”插座及连接线,能够连线接触不良的现象。自锁紧插座插入连线时,应把插头稍微用力沿顺时针方向旋转一下,才能保证接触良好。拔出时,应先逆时针方向旋转待插头完全松开后,再向上拔出。
+5VU374LS138123ABC6E3Y0Y1Y2Y3Y4Y5Y6Y715141312111097(280H-287H)三、实验台结构
1.I/O地址译码电路
图1 实验台的I/O地址译码电路
A3A4A5A6A7A8A9AENIOWIOR+5V74LS0012139104512U2:D115+5VE2E14(2B8H-2BFH)U2:C8U2:BU2:A631234561112U174LS30如图1所示,这里选用PC机未用的地址空间280H-2BFH,共分8条译码输出线:Y0~Y7,地址分别是280H~287H、288H~28FH、290H~297H、298H~29FH、2A0H~2A7H、2A8H~2AFH、2B0H~2B7H和2B8H~
10
2BFH。8根译码输出线在实验台上标有“I/O地址”处分别由“自锁紧”插孔引出,供实验选用。
2.存储器译码电路
如图2所示,译码输出线MEMCS对应的地址范围为D0000H~DFFFFH或E0000H~EFFFFH。具体在哪一个范围由存储器地址范围选择开关K2决定。
K274LS688111121314201915161718
12344.7K×4+5VA19A18A17A162345678910MEMCS图2 存储器译码电路
K2是一个四位拨动开关,开关状态如下: 1 2 3 4 地址范围 OFF OFF ON OFF D0000H~DFFFFH OFF OFF OFF ON E0000H~EFFFFH
3.总线插孔
总线信号采用“自锁紧”插孔,在标有“总线”的区域引出有数据总线D7~D0、地址总线A19~A0、存储器读信号MEMR#、存储器写信号MEMW#、I/O读信号IOR#、I/O写信号IOW#、中断请求信号IRQ、DMA请求信号DRQ1、DMA响应信号DACK1#、地址锁存允许信号ALE和T/C、CLK等,供实验者搭建各种接口实验电路使用。
4.时钟电路
2MHzXTAL2R7 47012U11:A74LS004MHzC90.1uF45U11:BR8 4706U12:A+5V74LS744SET2U12:B+5V10SET1MHzDQ51211DQ93CLKCLK3CLRQ+5V6CLRQ+5V8113
图3 实验台的时钟电路
如图3所示,从时钟信号输出插孔可以输出1MHz,2MHz两种信号,供A/D转换器、定时器/计数器、串行接口实验使用。
5.逻辑电平开关电路
如图4所示,实验台右下方设有8个开关K7~K0,开关向上拨到“1”位置时开关断开,输出高电平,向下拨到“0”位置时开关接通,输出低电平,电路中串接了保护电阻,使接口电路不直接与+5V和GND(地
11
线)相连,可有效地防止学生因误操作而损坏集成电路的现象发。
NR1 8 * 8.2K 8 * 300+5V 1 2 3 4 5 6 7 8 9 123456789K0
K1 K2 K3 L7L0K4
K5
181614129753K6
K7
U2 74LS2442G
S7 S0 1G
246811131517 1 2 3 4 5 6 7 8 9 L7L0NR2 8 * 470 图5 发光二极管显示电路
图4 逻辑电平开关电路
1Y11Y21Y31Y42Y12Y22Y32Y41916.LED显示电路
如图5所示,实验台上设有8个发光二极管(信号输入端L7~L0)及相关驱动电路,当输入信号为“1”时发光,为“0”时熄灭。
7.七段数码管显示电路
如图6所示,实验台上设有两个共阴极七段数码管及驱动电路。七段数码管的段用同相驱动器驱动,位用反相驱动器驱动,从段码与位码的驱动器输入端(段码输入端:a、b、c、d、c、f、g、dp,位码输入端:S1、S2)输入不同的代码即可显示不同数字或符号。 150 * 8
dpgfedcba21A141A261A381A4112A1132A2152A3172A41Y11Y21Y31Y42Y12Y22Y32Y41G 2G119181614129753R21R28161532118174a b c d e f g dpLED1U17 74LS244GND143GND135U16:A75452图6 七段数码管显示电路 12S18.单脉冲电路
如图7所示,单脉冲采用RS触发器产生,实验者每按一次开关即可从两个插座上分别输出一个正脉冲及负脉冲。供“中断”、“DMA”、“定时器/计数器”等实验使用。
9.逻辑笔
如图8所示,当输入端Ui接高电平时红灯(D2)亮;接低电平时绿灯(D3)亮。
12
1A11A21A31A42A12A22A32A411108651279a b c d e f g dpLED0U16:B7545267S0