《微机系统与接口》 《微机实验》课程资料 系网站:automation.seu.edu.cn 课程下载.

Slides:



Advertisements
Similar presentations
Assembly Language Programming 湛江师范学院 汇编语言程序设计实验课件 主讲教师:王 晓 晔.
Advertisements

广东外语外贸大学 信息科学技术学院 《汇编语言与计算机组成原理》 第一篇 汇编语言 调试程序DEBUG.
输入输出程序设计 输入输出的基本概念 无条件方式输入输出 查询方式输入输出 中断方式输入输出.
单片机应用技术 项目一 循环彩灯装置 第7讲 Keil软件的使用 《单片机应用技术》精品课程组 湖北职业技术学院机电工程系.
计算机体系结构 应用程序 软件 操作系统 编译器 固件 指令集 输入输出 CPU 硬件 内存 (I/O) 集成电路 元件,逻辑门.
实验四 利用中规模芯片设计时序电路(二).
项目四 组建跨地区网络 授课教师:肖颖.
第十一章 汇编语言程序的开发 第一节 汇编语言程序的开发过程 .ASM .EXE .MAP .LST .CRF .OBJ 开始 编辑程序
微机原理上机实验.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年10月30日.
微机原理与接口技术 第2章 8086系统结构 朱华贵 2015年09月17日.
汇编语言程序设计 吴 向 军 中山大学计算机科学系
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月05日.
第二讲 搭建Java Web开发环境 主讲人:孙娜
第八章 输入输出程序设计 总线 CPU MEM I/O接口 I/O设备.
SOA – Experiment 3: Web Services Composition Challenge
微机原理及应用 主讲:谢维成 西华大学 电气信息学院 1.
保留版权(C) 秦晓梅 汇编语言程序设计 实验教程 保留版权(C) 秦晓梅
SVN服务器的搭建(Windows) 柳峰
走进编程 程序的顺序结构(二).
微机原理与接口技术 ——80x86微处理器 西安邮电大学 计算机学院 范琳.
第一章 8086程序设计 第二章 MCS-51程序设计 第三章 微机基本系统的设计 第四章 存贮器与接口 第五章 并行接口
网络常用常用命令 课件制作人:谢希仁.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月20日.
汇编语言程序设计课程设计 第一次实验 DEBUG基本命令与数据传输指令
汇编语言程序设计课程设计 第二次实验 DEBUG基本命令与算术运算指令
Zhao4zhong1 (赵中) C语言指针与汇编语言地址.
Zhao4zhong1 (赵中) C语言指针与汇编语言地址.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第五讲 四则运算计算器(一) 精品教程《C#程序设计与应用(第2版)清华大学出版社 谭恒松 主编
1.3 微型计算机的结构和工作原理.
时序逻辑电路实验 一、 实验目的 1.熟悉集成计数器的功能和使用方法; 2.利用集成计数器设计任意进制计数器。 二、实验原理
逆向工程-汇编语言
CPU结构和功能.
第四章 附件 (应用程序软件包).
4.1 汇编语言程序格式 4.2 MASM中的表达式 4.3 伪指令语句 4.4 DOS系统功能调用和BIOS中断调用
Gzip编译及调试 曹益华
程序设计工具实习 Software Program Tool
SOA – Experiment 2: Query Classification Web Service
第4章 汇编语言程序格式  汇编程序功能  伪操作  汇编语言程序格式  汇编语言程序的上机过程.
第7章 在C/C++中使用汇编 罗文坚 中国科大 计算机学院
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
C语言程序设计 主讲教师:陆幼利.
第1章 c++概述 1.1 C++语言的简史及特点 1.2 简单的C++程序 1.3 C++语言的基本组成
姚金宇 MIT SCHEME 使用说明 姚金宇
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月13日.
实验七 安全FTP服务器实验 2019/4/28.
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
第4章 Excel电子表格制作软件 4.4 函数(一).
本节内容 内存复制指令 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
iSIGHT 基本培训 使用 Excel的栅栏问题
College of Computer Science & Technology
微机原理与接口技术 ——8086微处理器 西安邮电大学 计算机学院 范琳.
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
Python 环境搭建 基于Anaconda和VSCode.
第六章 Excel的应用 五、EXCEL的数据库功能 1、Excel的数据库及其结构 2、Excel下的数据排序 (1)Excel的字段名行
微机原理与接口技术 西安邮电大学计算机学院 宁晓菊.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
数据表示 第 2 讲.
微机原理与接口技术 第5章 汇编语言程序设计 西安邮电大学计算机学院 王 钰.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年10月30日.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第四章 UNIX文件系统.
第4章 汇编语言程序格式  汇编程序功能  伪操作  汇编语言程序格式  汇编语言程序的上机过程
实验六、COM类型病毒分析实验 实验开发教师: 刘乃琦 谌黔燕.
跟我一起学编程系列课程: 第一篇汇编语言 16位汇编.
Presentation transcript:

《微机系统与接口》 《微机实验》课程资料 系网站:automation.seu.edu.cn 课程下载

《微机实验》 基础性实验(准备、练习) 单元验证性实验 综合实验 重 点 熟悉8086指令、汇编语言程序设计和调试; 重 点 熟悉8086指令、汇编语言程序设计和调试; 掌握常用接口电路功能和控制编程 综合设计:硬件电路(示波器、万用表)调试; 电路/程序设计、程序(含中断服务)动态调试

《微机实验》 教材:戴先中等,微机硬件应用实践-原理与接口,东南大学出版社,1999 地点:中心楼4楼计算机硬件实验中心 要 求 要 求 验证型实验:两人一组(单双号)每人为主负责实验3-10中四个实验,报告独立完成; 综合实验:独立完成,按学号位数1-10(0)分别完成教材P73-78相应的综合测试题.

《微机实验》 考查成绩 (1)动态调试程序(自选)操作(10%) (2)验证型实验抽查(一次)及报告(50%) (3)综合实验检查及报告(40%)

实验准备及实验报告要求 1. 实验前必须准备:实验成绩按各次出勤和检查情况及综合实验结果评定;实验安排中的单元实验必须参加并完成;考查不及格补做安排很困难; 2.实验操作须按规程进行,不要带电操作,尤其不要多线一起拉拔操作以防短路; 3. 实验报告按要求完成(隔一周的周一上课时交),报告的格式要规范,包括实验目的、内容、实验步骤(方法)、实验结果与分析。重点是对思考题的回答,以及针对实验目的做总结。其中程序部分只要写出有新意的的程序片段,并作适当的讨论及体会意见;实验现象及问题如实记录;实验报告未完成者不予验收综合作业(评分)。第一次实验报告应包括基础练习总结(实际操作时间,含课外时间)。

编辑、汇编与链接程序 动态调试器 DEBUG XXXX.EXE 动态调试 编辑器(Editor) 程序设计 EDIT 汇编器(Assembler) 汇编语言(与机器有关) MASM/ASM/TASM 链接器(Linker) 待装配的BIN指令代码 LINK ( XXXX.EXE) 可执行BIN指令代码 动态调试器 DEBUG XXXX.EXE 动态调试

实验一 基础操作与调试 实验一A 8086/8088指令与DEBUG 程序的使用 实验一B 8086/8088汇编语言程序设计与调试 (1)实验环境:PC,DOS命令,文件管理 (2)全部命令功能(I/O命令暂不做,留待实验2时完成)、全部指令对内存、各寄存器、堆栈的影响,(含可能的段超越)观察8086/8088所有指令的单步运行结果。 (3) 完整的汇编语言编辑、汇编和链接过程;分段存储的实现,标号、符号与目标代码的关系,汇编语言程序的动态调试。多模块汇编程序试验。 (4)Windows下进入命令行方式/常用MS-DOS命令 Windows下利用开始—运行—输入cmd 或command ↙或在程序下进入MS-DOS方式或附件下(Win2K)进入命令提示符进入命令行方式。

实验一 基础操作与调试 常用MS-DOS命令 DIR A:[目录名] ↙ (显示指定盘[目录]存储文件列表) COPY A:[\mydir\]文件名 D:\tmpdir\ ↙ (将A:[mydir目录下指定文件复制到D盘(指定目录)) DEL A:[\mydir\]文件名 ↙ (删除指定文件) MD A:\mydir ↙ (在A盘上新建mydir子目录) CD A:\mydir ↙ (指定A盘上mydir为当前工作目录) RD A:\mydir ↙ (删除A盘上mydir子目录) C:\masm4\masm myprog; ↙ 指定执行C盘上masm4目录下的masm.exe 带参数myprog;

实验环境:利用目标代码级调试程序DEBUG 实验一 基础操作与调试 实验一A 8086/8088指令与DEBUG 程序的使用 实验环境:利用目标代码级调试程序DEBUG 主要特点1)能够在最小环境下运行汇编程序(代码级而非符号级)2)提供极简单的修改手段(寄存器、存储器、I/O等)3)提供用户与计算机内部联系的窗口(命令行):显示、修改、单步、过程、断点、文件装入、上装。 局限性:不能使用宏指令和大部分伪指令—分段调试/短程序;不能形成可执行文件(.EXE)

启动 (MS DOS下在C或D:>输入 命令行调试器DEBUG 启动 (MS DOS下在C或D:>输入 D>DEBUG [d:][Path][filename[.ext]][Parm1][Parm2] ↙ 命令规定 DEBUG命令为单英文字母,后跟参数。间隔符“,”或空格 (1)+ ↙ (ENTER回车键) 后命令才有效; (2)地址/数据用十六进制数表示,不用“H”; (3)Ctrl+Break(C)键可停止命令的执行; (4)PAUSE/Ctrl-Num Lock键暂停上卷的输出行任意键继续; (5)-?(帮助命令,显示所有命令及格式) (6)—Q退出P

?----帮助命令 -?↙ Assemble A [address] Compare C range address Dump D [range] Enter E address [list] Fill F range list Go G [=address] addresses Hex H value1 value2 Input I port Load L [address] [drive] [firstsector][number] Move M range address Name N [pathname] [arglist] Output O port byte Proceed P [=address] [number] :

R 显示CPU内部寄存器的内容和全部标志位状态。 RF RXX 检查和修改寄存器内容命令 R 显示CPU内部寄存器的内容和全部标志位状态。 AX=0000 BX=0000 CX=0000 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000 DS=18A1 ES=18A1 SS=1800 CS=18C0 IP=0100 NV UP EI PL NZ NA PO NC 18C0:0100 1E PUSH DS -R [16位寄存器名] (AX, BX,CX,DX,SI,DI,IP,SP,CS,DS,ES,SS) Flags: OV/NV-DN/UP-EI/DI-NG/PL-ZR/NZ-AC/NA-PE/PO-CY/NC 显示和修改一个指定寄定器的内容和标志位的状态。 -RAX ↙ -AX 0000 :(XX) ↙ -RF ↙ NV UP EI PL NZ NA PO NC –(DN PE..) ↙

D 显示内存命令 D[地址] ↙( 默认长度L=80H128个字节,DS,当前地址) (默认DS:) CS:300 -D [地址范围] ↙  显示指定内存范围的内容。-DES:100L300或 D100 3000 -D ↙ (128个字节) 从上一个D命令所显示的最后一个单元的下一个单元开始(首次CS:IP) 偏移地址,段地址为DS的内容,地址范围,可以指定段地址和起始偏移地址和终止偏移地址,或LXXXX。-D200 或-DDS:200 1A40:0200 30 20 32 33 34 35 36-37 38 39 F1 F2 A3 A4 F0 0_23456789…… 1A40:0210 AA 55

E [地址] [内容表] ↙用命令所给定的内容表去代替指定地址范围的内存单元内容。 ( 默认 DS,当前地址) E [地址] [内容表] ↙用命令所给定的内容表去代替指定地址范围的内存单元内容。 其中:内容表为一个十六进制数,也可以是用单引号括起的一串字符。 -E [地址] ↙ 逐个单元连续修改单元内容。(空格跳到下一单元,回车修改结束) -E200 ’AAAAAAA’ 20 33 44’88888’ (–D200 检查) -E200 ↙ 1A40:0200 41.32<空格> 41.<空格> 41.33 ↙

F 块填充内存命令/ M 内存移动命令 ( 默认长度L=80H128个字节,DS,当前地址) -F[ES:]200 L300或500 ‘124567’30 40 55‘5555’ ↙ M [源地址范围][目标起始地址] 把源地址范围的内容移至以目标起始地址开始的单元中。 其中源地址范围和目的起始地址可为偏移地址,段地址默认为DS的内容。 -M[CS:]200L50 [ES:]800 ↙

S 搜索指定内容命令/ C 块比较命令 S [地址范围][表] 在指定地址范围内搜索表中内容,搜索到就列出表中元素所在地址。 -S[ES:]200[L40] ‘123’33 44 55‘433’ ↙ 1A40:201 1A40:220 C [源地址范围],[目标地址] 从源地址起始的单元开始逐个比较,比较到源终止地址为止。比较结果如果不一致,则以[源地址][源内容][目的内容][目的地址]的形式显示结果。 -C[ES:]100L300 [CS:]2000 ↙ 1A80:0105 87 88 1A40:2005 1A80:0148 33 53 1A40:2148

U 反汇编命令 U [地址[范围]] 将指定范围内的代码以汇编 语言形式显示,同时显示该代码位于内存的地址和机器。 (默认段寄存器为CS,以U命令的最后一条指令地址的下一个单元作为起始地址;[初值CS:IP],范围长度为20H字节目标代码) -U[ES:]100[L200/ 120] ↙ 1A40:100 1E PUSH DS 1A40:101 A1 00 20 MOV AX,[2000] 1A40:104 BB 00 20 MOV BX,2000 :

A[段寄存器名]:[偏移地址] 将汇编语言程序指令逐行直接输入内存单元。(默认段寄存器CS,偏移地址为上次汇编尾地址(初值CS:IP)) -A[[CS:]100]↙ 或A 1A40:100 或A100设当前CS=1A40H 1A40:0100 MOV AX,100 ↙ 1A40:0102 MOV BX, 2000↙ 1A40:0106↙ (回车结束汇编输入) H 十六进制数据运算命令 H数据1 数据2 (将两十六进制数据相加、减结果显示在屏幕上。 -H 200 800 0A00 FA00

T 逐条指令跟踪与显示命令(Trace into) T[=地址] 单步执行当前指定地址处的指令(默认为CS:IP处),显示CPU所有寄存器内容和全部标志位的状态,以及下一条指令的地址和内容(同执行R命令) (默认段寄存器CS,偏移地址为当前IP指定地址(初值CS:100))。 AX=0000 BX=0000 CX=0000 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000 DS=18A1 ES=18A1 SS=1800 CS=18C0 IP=0100 NV UP EI PL NZ NA PO NC 18C0:0100 1E PUSH DS -T=[[CS:]100]↙ 或T=18C0:100或T=100设当前CS=18C0H AX=0000 BX=0000 CX=0000 DX=0000 SP=FFFC BP=0000 SI=0000 DI=0000 DS=18A1 ES=18A1 SS=1800 CS=18C0 IP=0101 NV UP EI PL NZ NA PO NC 18C0:0101 31 C0 XOR AX,AX

T 逐条指令跟踪与显示命令(Trace into) T[=地址][步数] 多条跟踪命令,从指定地址开始;若命令中用[地址]给定了起始地址,则从起始地址开始,若未给定,则从当前地址(CS:IP)开始,执行命令中的[条数]决定一共跟踪几条指令后返回DEBUG状态。 AX=0000 BX=0000 CX=0000 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000 DS=18A1 ES=18A1 SS=1800 CS=18C0 IP=0100 NV UP EI PL NZ NA PO NC 18C0:0100 1E PUSH DS -T=[[CS:]100] 5↙ -T5↙ -T=100 5 ↙ -T=18C0:100 5 ↙

P[=地址][值(若干次)](至下一指令前停止)类似SKIP。执行PROC, LOOP, INT 或REP后发一条命令返回到下一指令处。 P (Proceed) 越过(挂停)命令 P[=地址][值(若干次)](至下一指令前停止)类似SKIP。执行PROC, LOOP, INT 或REP后发一条命令返回到下一指令处。 -P=100 3↙ 断点将停在CS:109处 0AD8:0100 E8FE1E CALL 2000 0AD8:0103 E81A1F CALL 2020 0AD8:0106 E8271F CALL 2030 0AD8:0109 90 NOP : -P3↙ -P2↙ -P↙

G 运行/断点命令 G [=地址][ 地址[ 地址…]] -G=FFFF:0 热启动 执行用户正在调试的程序,其中=地址为执行的起始地址,默认段地址为CS中内容,或当前(CS:IP)。再后面的地址为断点地址。DEBUG规定最多设置10个断点地址。设置多个断点用于调试较大的程序,即程序中有多个模块、多个通路时用,比较方便,在执行时不论走哪条通路,程序都可以在断点处停下来,以便调整程序。 -G=FFFF:0 热启动 -G=100 200 热起始CS:100,断点CS:200 -G 2000:100↙ IP地址起到2000:100断点 -G=100 2000:100 3000:300 ↙两处断点 -G↙ ;连续运行 G200 300 ?

I 端口输入命令 /O 输出命令 I端口地址 从指定端口地址输入一个字节 -I3F8 ↙ (COM1数据接收) -I40 ↙ (时钟计数器) -279 ↙ (打印机状态口) -278 ↙ (打印机数据口) O 端口地址,字节值 向指定端口地址输出一个字节 -O3F8 55↙ (COM1数据发送) -O27A 30↙ (LPT1写控制字) N 文件命名命令向指定端口地址输出一个字节

文件操作命令N/L/W N [路径]文件名 指定读写操作文件名 L [起始装入地址][驱动器号][起始扇区号][所读扇区个数] (1)读文件:BX和CX中存放所读文件的字节数(长度BX:CX即8位HEX)。当读入的文件有扩展名.COM或.EXE,则始终装入CS:100H中,命令中指定了地址也没用;(2)读磁盘:把指定驱动器和指定扇区范围的内容读到内存的指定区域中。(默认隐含地址为CS:100H)例:L[2000:100] W[地址][驱动器号][起始扇区号][所写扇区个数] (1) 写文件:把指定地址中BX:CX长度的数据中应写入文件(默认段地址为CS) 。(2) 数据写盘:将调试的程序或数据写入指定的驱动器中。

实验一 基础实验及准备 实验一A 8086/8088指令与DEBUG 程序的使用 一、实验目的 1. 学习使用DEBUG程序的各种命令。 2. 利用DEBUG学习8086/8088 CPU指令系统。 3. 了解计算机取指令执行指令的工作过程。 4. 掌握用DEBUG调试程序。 二、基本实验任务 实验教材P84-89全部命令试操作,重点程序流控制和环境检查、设置,纪录操作和主要结果现象; 不清楚的8086/8088指令功能检查; 三、预习与实验检查 实验前请预习, 实验中教师检查;切忌应付和不懂装懂,有问题要敢问。

DEBUG程序使用注意事项 1. 了解中断向量表,中断向量,中断子程(任务5) 反汇编分析其中之一的代码;跟踪掌握某一中断的中断指令的执行过程 2. 掌握利用T, P, G命令的区别 3. 调试与检查任务 1)用A命令输入指令后,尝试各指令功能; 2)试用A命令输入程序后,先将程序写在硬盘上 3)注意连续运行G命令实验时在程序段的最后加INT 3 (单步)或 INT 20(正常中止) 4)DEBUG不支持符号编程, 标号的输入方法待自编汇编程序调试时观察。 4. 了解8088CPU取指令、执行指令的工作过程,分析死机原因.

运行汇编程序必备的软件环境:DOS操作系统;汇编软件系统。汇编系统盘应包含如下文件: 实验一 基础实验及准备 实验一B 8086/8088汇编语言程序设计与调试 ( 1)运行环境和编辑 运行汇编程序必备的软件环境:DOS操作系统;汇编软件系统。汇编系统盘应包含如下文件: MASM 宏汇编程序文件 LINK 连接程序文件 CREF 索引程序文件(也可不用) EDIT 文本编辑程序(或PE等文本编辑程序) 用户通过屏幕编辑程序EDIT(各功能)键入源程序,检查无误,可将源程序存到汇编系统盘上,该程序的扩展名为·ASM。(XXX.ASM) (2) MASM汇编程序:格式、宏、模块OBJ: 浮动汇编(相对关系)、段、变量待定位

执行宏汇编程序MASM----生成目标文件.OBJ,辅助文件LST,CRF(可选) 汇编链接过程 执行宏汇编程序MASM----生成目标文件.OBJ,辅助文件LST,CRF(可选) 用汇编语言编写的源程序必须是一个完整的源程序,才能经过宏汇编程序MASM的汇编,生成一个目标程序。为了完成汇编任务,汇编程序一般采用两遍扫描的方法,第一遍扫描源程序产生符号表、处理伪指令等,第二遍扫描产生机器指令代码、确定数据等。 OBJ将源程序的操作码部分变为机器码,但地址操作数是可浮动的相对地址,而不是实际地址,因此需经LINK连接文件进行连接才能形成可执行文件。 LST是列表文件把源程序和目标程序列表,以供检查程序用。 CRF是交叉索引文件,对源程序所用的各种符号进行前后对照的文件

C:\masm\masm ↙ [MYFILE[.asm][,mobj,mlst,mcrf]; 汇编链接过程 C:\masm\masm ↙ [MYFILE[.asm][,mobj,mlst,mcrf]; Microsoft (R) Macro Assemble Version 5.00 Copyright (C) Microsoft Corp 1981-1985,1987,All right reserved. Source filename [.ASM ]:MYFILE ↙ Object filename [MYFILE.OBJ ]:MYFILE ↙ Source listing [NUL.LST ]:MYFILE ↙ Cross-reference [NUL.CRF]:MYFILE ↙ 50678+410090 Bytes symbol space free 0 Warning Errors 0 Severe Errors MASM/R MASM/E----8087实模式/仿真库方式

LINK 多模块链接 用汇编语言编写的源程序经过汇编程序(MASM)汇编后产生了目标程序(.OBJ),该文件是将源程序操作码部分变成了机器码,但地址是可浮动的相对地址(逻辑地址),因此必须经过连接程序LINK连接后才能运行。连接程序LINK是把一个或多个独立的目标程序模块装配成一个可重定位的可执行文件,扩展名为.EXE文件。此外还可以产生一个内存映象文件,扩展名为.MAP。连接程序执行过程: D>LINK ↙(直接链接 P1+P2+P3[, PEXE,PMAP,LIB1+LIB2]/M;) (LINK/HELP---帮助开关) Microsoft® overlay link Version 3.60 Copyright ©Microsoft Corp 1983-1987 All right reserved Object Modules [.OBJ]:MYFILE ↙ Run File [MYFILE.EXE]:MYFILE ↙ List File [NUL.MAP]:MYFILE ↙[;] Libraries [.LIB]: ↙

内存映象文件(.MAP) 由连接程序LINK产生的扩展名为.MAP文件,它实际上是连接程序的列表文件,它给出了每个段的地址分配情况及长度,(加/M开关――外部变量相对地址。例如: D>TYPE MYFILE.MAP↙ Start Stop Length Name Class 00000H 0000FH 0010H DATA 00010H 0004FH 0040H STACK 00050H 0005FH 0010H CODE Origin Group [Address Publics by name 0900:0002 mmm 0010:0070 VV1   Address Publics by value 0010:0070 VV1 0900:0002 mmm ] Program entry point at 0005:0000

交叉索引文件(.CRF) 汇编后产生的交叉索引文件,扩展名为.CRF,它列出了源程序中定义的符号(包括:标号、变量等)和程序中引用这些符号的情况。 如果要查看这个符号表,必须使用CREF.EXE的文件,它根据.CRF文件建立一个扩展名为.REF的文件,而后再用DOS的TYPE命令显示,就可以看到这个符号使用情况表。具体操作方法如下: D>CREF↙ cref filename [.CRF]:MYFILE↙ list filename [MYFILE.REF]:↙ D>TYPE MYFILE.REF↙

执行、目标代码格式比较与调试 .EXE装入后各寄存器(段的分配)、已定义变量(数据)地址,N/F指针变量; .各伪指令的作用; .多模块(PUBLIC/EXTRN)链接;/M,8087指令实验。 .汇编指令与目标代码指令的差别。 .重要DOS/BIOS功能调用(控制台输入/输出) .不要试图跟踪 DOS/BIOS调用,尽量用断点或过程P命令 .选做:高级语言与汇编语言接口

调试工具 (1)DEBUG----命令行目标代码调试器 (2)CV—CodeView Microsoft公司源代码调试器 MASM/Zi myprog; Link/codeview myprog; (3)TD—Turbo Debuger Borland公司源代码调试器 TASM/zi myprog; 兼容MASM/Zi TLINK/v myprog+…; (4) Compuware Co.的NUMEGA Soft-ICE EXE,DLL,OCX,VxD