当前位置:文档之家› 实验指导书

实验指导书

微机原理与接口技术实验指导书计算机科学系第一章软件实验项目§1.1 汇编环境简介1、汇编语言源程序编辑建立汇编语言程序可以使用多种方法(1)使用 EDIT 建立汇编语言程序使用汇编环境下自带的EDIT.EXE文件进行文件的编辑。

格式:EDIT 文件名.ASM (回车)(2)使用 PE2 建立汇编语言程序在 DOS 提示符下使用 PE2 编辑器输入用户汇编语言程序 (扩展名为.ASM)。

格式:PE2 文件名.ASM (回车)(3)使用 SK 建立汇编语言程序使用 SK2 热键启动 SK2、汇编程序生成目标程序经过编辑命令建立的汇编语言源程序使用汇编程序编译成目标程序。

(1) 使用 MASM 宏汇编进行编译> MASM 文件名在汇编程序调入后,先显示版本号,然后出现第一行提示,Object filename [源文件名.OBJ]: ;默认该文件名回车。

Source Listing [NUL.LST] : 源文件名或其他 ;输入文件名建立可打印文件。

Cross Reference [NUL.CRF]: 源文件名或其他 ;回车。

Warning Errorssevere Errors如果汇编过程中发现源程序有错误,由以上两种错误类型分别列出。

此时可分析错误原因,返回编辑程序修改源程序。

汇编程序出错信息见 《 汇编程序出错信息表 》, 注意出错的类型及出错的源文件对应行。

若不需要产生 .LST 和 .CRF 文件, 可在 > 下加";"> MASM 文件名;(2)使用 TASM 进行编译例如:编译 A.ASM文件。

TASM A <Enter>Turbo Assembler Version 2.5 Copyright (c) 1988,1991Borland InternationalAssembling file: a.ASMError messages: NoneWarning messages: NonePasses: 1Remaining memory: 162k可按要求填加必要的选择。

例如若需要在 TD 中跟踪源文件调试,可使用/zi 选择(应注意选择项英文的大小写):>TASM /zi A <Enter>若要生成列表文件,可用如下操作:>TASM A ,,A.LST <Enter>TASM 的选择项如下(可用 /H 显示):Syntax: TASM [options] source [,object] [,listing] [,xref]/a,/s Alphabetic or Source-code segment ordering/c Generate cross-reference in listing/dSYM[=VAL] Define symbol SYM = 0, or = value VAL/e,/r Emulated or Real floating-point instructions/h,/? Display this help screen/iPATH Search PATH for include files/jCMD Jam in an assembler directive CMD (eg. /jIDEAL)/kh# Hash table capacity # symbols/l,/la Generate listing: l=normal listing, la=expanded listing/ml,/mx,/mu Case sensitivity on symbols: ml=all, mx=globals, mu=none/mv# Set maximum valid length for symbols/m# Allow # multiple passes to resolve forward references/n Suppress symbol tables in listing/o,/op Generate overlay object code, Phar Lap-style 32-bit fixups/p Check for code segment overrides in protected mode/q Suppress OBJ records not needed for linking/t Suppress messages if successful assembly/w0,/w1,/w2 Set warning level: w0=none, w1=w2=warnings on/w-xxx,/w+xxx Disable (-) or enable (+) warning xxx/x Include false conditionals in listing/z Display source line with error message/zi,/zd Debug info: zi=full, zd=line numbers only3、链接程序生成可执行文件由汇编后建立的目标码文件,必须经过链接后才能生成可执行的命令文件。

(1)使用 LINK 完成连接>LINK 文件名 ;回车后调入链接程序,此时屏幕显示。

Run File [文件名.EXE]: ;回车默认该文件名。

List File [NUL.MAP]: ;Libraries [ .LIB]: ;回车。

Warning: ;提示错误。

如果有错误,返回编辑程序重新修改源程序。

若要生成 .COM 文件, 则用 EXE2BIN 实现:> EXE2BIN A.EXE (2)使用 TLINK 完成连接例如:链接 A 文件。

>TLINK A <Enter>Turbo Link Version 4.0 Copyright (c) 1991 Borland International 可按要求填加必要的选择。

例如若需要在 Debug中跟踪源文件调试,应使用/V 选择 (应注意选择项英文的大小写):>TLINK /v A <Enter>若要生成COM 文件,可使用 /Tdc 选择:>TLINK /Tdc A <Enter>TLINK 的选择项如下(可用 /H 显示):Syntax: TLINK objfiles, exefile, mapfile, libfiles, deffile@xxxx indicates use response file xxxxOptions:/m = map file with publics/x = no map file at all/i = initialize all segments/l = include source line numbers/L = specify library search paths/s = detailed map of segments/n = no default libraries/d = warn if duplicate symbols in libraries/c = lower case significant in symbols/3 = enable 32-bit processing/v = include full symbolic debug information/e = ignore Extended Dictionary/t = create COM file (same as /Tc)/o = overlay switch/P[=NNNNN] = pack code segments/A=NNNN = set NewExe segment alignment factor/ye = expanded memory swapping/yx = extended memory swapping/C = case sensitive exports and imports/Txx = specify output file type/Tdx = DOS image (default)/Twx = Windows image(third letter can be c=COM, e=EXE, d=DLL)4、汇编语言动态调试工具调试汇编程序(1)使用 DEBUG 进行调试DEBUG 是专为汇编语言设计的一种调试工具,可用来检查,修改存储单元和寄存器的内容装入,存储及启动运行程序,也可用 DEBUG 汇编简单的汇编语言程序。

> DEBUG 文件名.EXE- ; "-" 是 DEBUG 的提示符DEBUG 下的基本命令及格式 ( 具体见 《 DEBUG 使用说明 》)命 令 任 务 格 式A(Assmble) 汇编语句 A[address]C(Compare) 比较内存 C range addressD(Dump) 显示内存 D [address]E(Enter) 改变内存 E address listF(Fill) 填充内存 F range listG(GO) 执行程序 G [address]H(Hexarthmetic) 十六进制运算 H Value ValueI(Input) 输入 I port addressL(Load) 装入内存 L[address]M(Move) 传送内存 M range rangeN(Name) 定义文件 N [d:][path]filename[.com]O(out put) 输出字节 O port address byteQ(Quit) 退 出 DEBUG状态 QR((Register) 显示寄存器 R[register name]S(Search) 检索字符 S rang listT(Trace) 单步/多步跟踪 T orT[address][value]U(Unassmble) 反汇编 U [address]orU[range]W(Write) 文件或数据写盘 W [address[drive sector sector]](2)使用 TD ( Turbo Debugger ) 调试汇编程序TD 设计具有 Turbo 系列语言的特点,其多重覆盖窗口、下拉菜单和弹出菜单的结合给用户提供了一个快速友好的交互环境,帮助系统使用十分方便。

以下给出常用操作命令,具体命令见《 Turbo Debugger 命令一览表 》。

z启动Turbo DebuggerSyntax: >TD objfiles例如: 调试已编译链接后的 A 文件:> TD A <Enter>进入 TD 后屏幕显示下拉菜单栏: 在屏幕的上端代码区域 : 按地址,机器码及助记符组成寄存器域 : CPU 中寄存器内容标志域 : CPU 中所有标志状态堆栈区域 : 当前堆栈内容数据区域 : 以地址, ASCII 码值及 ASCII 码显示数据常用命令栏: 在屏幕下端屏幕中间区域可通过 TAB 键移动z F10 或 Alt - 进入菜单提示栏,回车选择对应菜单例如: Alt - F 进入屏幕上端的 File 栏, 回车后显示下拉菜单,移动光标可选择相应功能。

相关主题