




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第五章 8086指令系统,调试软件的使用,上机过程和DEBUG的使用,上机过程: 编辑源文件:必须以.asm为扩展名; 汇编成目标代码; 连接成可执行文件; 运行或用DEBUG调试。 步骤: 1、编辑源程序:(设文件名:FILE.ASM) 2、汇编成目标代码:,上机过程和DEBUG的使用,C:masmmasm file.asm Microsoft (R) Macro Assembler Version 5.00 Copyright (C) Microsoft Corp 1981-1985, 1987. All rights reserved. Object filename file.OBJ:
2、 Source listing NUL.LST:file Cross-reference NUL.CRF: 50992 + 419264 Bytes symbol space free 0 Warning Errors 0 Severe Errors 若有错误,则根据提示的行号及类型回步骤1修改,上机过程和DEBUG的使用,3、连接成可执行文件 C:masmlink file(.obj) Microsoft (R) Overlay Linker Version 3.60,Copyright (C) Microsoft Corp 1983-1987. All rights reserved. R
3、UN Filename:file.exe 若有错误,则根据提示的行号及类型回步骤1修改,上机过程和DEBUG的使用,4、调试程序 Cmasmdebug/? Runs Debug, a program testing and editing tool. 5、DEBUG程序的使用 启动进入DEBUG DEBUG drive:pathfilename testfile-parameters drive:pathfilename Specifies the file you want to test. testfile-parameters Specifies command-line informa
4、tion required by the file you want to test.,上机过程和DEBUG的使用,DEBUG命令集:(实际使用演示) -? 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 firs
5、tsector number move M range address ;数据移动 name N pathname arglist ;命名,上机过程和DEBUG的使用,output O port byte ;输出 proceed P =address number ;跳过运行 quit Q ;退出 register R register ;寄存器查看与修改 search S range list ;搜索 trace T =address value ;跟踪执行 unassemble U range ;反汇编 write W address drive firstsector number al
6、locate expanded memory XA #pages deallocate expanded memory XD handle map expanded memory pages XM Lpage Ppage handle display expanded memory status XS,上机过程和DEBUG的使用,常用命令 unassemble U range assemble A address register R register dump D range enter E address list go G =address addresses trace T =addr
7、ess value proceed P =address number quit Q,上机过程和DEBUG的使用, 显示内存命令 D range 可用形式: D:显示当前地址开始的8行16字节内存的内容 D DS:0 :从数据段偏移地址为0处开始显示8行 D SS:5:从堆栈段偏移地址为5处开始显示 D CS:0 :从代码段偏移地址为0处开始显示 D0100:从数据段偏移地址0100处开始显示 注意当前段是哪一个段,以便确定所显示的内容是否和所需的一致。,上机过程和DEBUG的使用, 修改内存命令 E address list 可以从指定地址开始修改内存的内容;要修改的单元数和内容由list决
8、定,如: E 0100 AA BB CC 将从0100H开始的三个单元内容修改为AA、BB、CC 这种方式可批量输入数据到内存,上机过程和DEBUG的使用,也可只输入地址,不输入list,而是在命令执行过程中直接输入,输入一个数据,按空格就到下个单元;直接按空格可跳过某个单元,不予修改,回车结束输入过程。如: E 0100 136C:0100 AA.11 BB. CC.22,上机过程和DEBUG的使用,显示或修改寄存器命令 R register 只输入R命令,仅显示所有寄存器的值和除了TF以外的所有标志的值; R 寄存器名:可用来显示和修改一个寄存器的内容。如: R AX 可显示和修改AX的值
9、。 8个标志位的值是用符号来表示: OF DF IF SF ZF AF PF CF 为1:OV DN EI NG ZR AC PE CY 为0:NV UP DI PL NZ NA PO NC,上机过程和DEBUG的使用,反汇编命令 U range 从当前地址或指定地址开始反汇编;range是可选项,若不指定range,则从当前地址(CS:IP)开始反汇编,长度约32字节; range可以只指定开始反汇编的地址,反汇编的长度约32字节;range也可指定反汇编的范围,指出反汇编的起止地址,或指出反汇编的长度,如: U 0100 0120 或 U 0100 L21,上机过程和DEBUG的使用,汇编
10、命令 A address 可用来在DEBUG环境下输入指令或小程序段,进行试验;在DEBUG环境下,从当前地址或指定地址开始输入指令;按回车键结束A命令,回到DEBUG的提示符; 需要结合运行命令(T、G等),才能得到指令或程序段的结果。,上机过程和DEBUG的使用,运行程序命令 G =addr1 addr2 从指定地址addr1或当前CS:IP (无addr1)开始执行程序;如果程序能正常结束,G命令也能正常结束;如对程序是否能正常结束没有把握,可指定程序的结束地址addr2;在程序有分支而有多个结束点时,要列出多个结束地址,由程序来决定,到哪个地址停止,如: G=0100 0200 030
11、0 从100开始,到200或300停止,上机过程和DEBUG的使用,程序调试命令 T =addr value 如使用T=addr格式,则从指定地址addr开始单步执行指令;如使用T=address value格式,则从指定地址开始执行value条指令后暂停,显示各寄存器的值;如使用T格式,则从当前的程序地址CS:IP开始执行一条指令 对于CALL指令,将进入子程序,继续跟踪(即跟踪进入)。,上机过程和DEBUG的使用,过程调试命令 P =address number 其功能和用法相似于T命令; 只有一点不同:P命令在遇到CALL指令时,不进入子程序跟踪,而将CALL指令当作一句指令来执行。 在
12、遇到INT 21H这样的系统调用指令时,应该用P命令来跟踪调试。,程序一般结构 NAME 模块名 EQU 常数定义 p1 endp 宏、结构、记录类型定义 p2 proc near|far EXTRN 引用外部符号说明 . PUBLIC 公用符号说明 p2 endp 数据段名 SEGMENT p3 proc . . 数据段名 ENDS p3 endp 栈段名 SEGMENT PARA STACK ; 代码段名 ends 栈空间定义 end p1 栈段名 ENDS 代码段名 SEGMENT 程序至少要有一个代码段 ASSUME语句 P1 proc far|near .,CODE VIEW 调试软
13、件的使用,汇编程序编写步骤: 1、用文本编辑器如TC、TP集成软件,EDIT等编辑源程序文件,并以“文件名.ASM”(.ASM汇编源程序文件扩展名)存盘。 2、汇编:MASM 源程序文件名,(默认.asm文件) 若有错误信息提示,按顺序行号和错误性质回1步修改源程序;汇编通过,会产生.obj的同名文件。 3连接:LINK 文件名, (默认.obj文件) 若有错误信息提示,按顺序行号和错误性质回1步修改源程序;连接通过,会产生.exe的同名可执行文件。,CODE VIEW 调试软件的使用,4、调试:cv 文件名 5、Codeview调试软件使用 例1设字变量X是有符号数,用Y(字节)变量作X的标
14、志 x0 y=+ 当 x=0 y=0 x0 y=-,example1 da segment x dw -69 y db ? da ends ms segment stack dw 16 dup(?) ms ends mc segment assume cs:mc,ds:da assume es:da,ss:ms p1 proc far Bg: push ds sub ax,ax push ax,mov ax,da mov ds,ax mov es,ax cmp x,0 jz zero js negt mov y,+ jmp short stop1 zero: mov y,0 jmp short
15、 stop1 negt: mov y,- stop1: ret p1 endp mc ends end Bg,CV调试程序的主要用法: 1、打开文件:CV 文件名 2、打开菜单:ALT+F(V、R、O) 3、打开内存窗口:VIEW|MEMORY 4、关闭内存窗口:用F6切换到当前窗口上,用VIEW|CLOSE 5、打开与关闭寄存器窗口: VIEW|REGISTER,CODE VIEW 调试软件的使用,6、单步运行程序:F10-STEP(循环结构仅作为一步,相当于STEP OVER),F8TRACE(一条一条跟踪执行,相当于STEP IN) 7、连续执行:F5GO 8、程序复位:RUN|RESTART 9、调试窗口与输出窗口切换:F4 10、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 剖宫产护理诊断及护理措施
- 工业机器人核心零部件项目可行性研究报告
- 220千伏变电站改造工程项目规划设计方案(模板)
- 在线投资教育行业深度调研及发展项目商业计划书
- 环保型金属表面处理剂行业深度调研及发展项目商业计划书
- 高温窑炉用抗热震耐火涂层行业跨境出海项目商业计划书
- 高电位治疗仪行业深度调研及发展项目商业计划书
- 法定传染病防控体系培训
- 高效空气压缩机智能控制企业制定与实施新质生产力项目商业计划书
- 丝绸之路研学营企业制定与实施新质生产力项目商业计划书
- 鼻饲误吸的预防与处理
- 自体输血知识培训课件
- 2025年高中语文课内文言文《谏太宗十思疏》理解性默写含答案
- 《无人机操控基础》课件
- 2025年湖北省新华书店(集团)限公司招聘(93人)高频重点提升(共500题)附带答案详解
- 铍箔及铍合金箔行业行业发展趋势及投资战略研究分析报告
- 2024年中考地理专项复习:材料分析题(解析版)
- 基于项目式学习的思政教学实践探索
- 2020-2021学年四川省凉山州八年级(下)期末物理试卷
- 《(近)零碳园区评价技术规范》
- 2024-2025学年中考数学专项复习:函数之新定义问题(含答案)
评论
0/150
提交评论