微机原理与接口技术 微机原理与接口技术 朱华贵 2015年10月30日.

Slides:



Advertisements
Similar presentations
3.1 表的建立 教学内容 :一、建立表结构 ; 二、输入数据. 重点 :建立表 难点 :建立表.
Advertisements

Assembly Language Programming 湛江师范学院 汇编语言程序设计实验课件 主讲教师:王 晓 晔.
广东外语外贸大学 信息科学技术学院 《汇编语言与计算机组成原理》 第一篇 汇编语言 调试程序DEBUG.
计算机体系结构 应用程序 软件 操作系统 编译器 固件 指令集 输入输出 CPU 硬件 内存 (I/O) 集成电路 元件,逻辑门.
Oracle数据库 Oracle 子程序.
第十一章 汇编语言程序的开发 第一节 汇编语言程序的开发过程 .ASM .EXE .MAP .LST .CRF .OBJ 开始 编辑程序
微机原理上机实验.
C语言实验 第一课 标题:学号+姓名.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
在PHP和MYSQL中实现完美的中文显示
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年10月30日.
Hadoop I/O By ShiChaojie.
微机原理与接口技术 第2章 8086系统结构 朱华贵 2015年09月17日.
汇编语言程序设计 吴 向 军 中山大学计算机科学系
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
微机原理及应用 主讲:谢维成 西华大学 电气信息学院 1.
保留版权(C) 秦晓梅 汇编语言程序设计 实验教程 保留版权(C) 秦晓梅
走进编程 程序的顺序结构(二).
辅导课程六.
第一章 8086程序设计 第二章 MCS-51程序设计 第三章 微机基本系统的设计 第四章 存贮器与接口 第五章 并行接口
网络常用常用命令 课件制作人:谢希仁.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月20日.
汇编语言程序设计课程设计 第一次实验 DEBUG基本命令与数据传输指令
汇编语言程序设计课程设计 第二次实验 DEBUG基本命令与算术运算指令
Zhao4zhong1 (赵中) C语言指针与汇编语言地址.
Zhao4zhong1 (赵中) C语言指针与汇编语言地址.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
Hub Web System 主要功能: 1.查询库存(Query Current Storage) 2.创建PL(Create PL) 3.查询、打印PL单(Query & Print PL) 4.查询允交量、在途量 5.修改用户的基本信息(Update Password) 6.查询GR(Query.
《微机系统与接口》 《微机实验》课程资料 系网站:automation.seu.edu.cn 课程下载.
逆向工程-汇编语言
CPU结构和功能.
第四章 附件 (应用程序软件包).
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
Gzip编译及调试 曹益华
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
第4章 汇编语言程序格式  汇编程序功能  伪操作  汇编语言程序格式  汇编语言程序的上机过程.
第7章 在C/C++中使用汇编 罗文坚 中国科大 计算机学院
第二章 登录UNIX操作系统.
C语言程序设计 主讲教师:陆幼利.
EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则
本节内容 随机读取 视频提供:昆山爱达人信息技术有限公司.
第1章 c++概述 1.1 C++语言的简史及特点 1.2 简单的C++程序 1.3 C++语言的基本组成
第2章 80x86计算机组织  计算机系统  存储器  中央处理机  外部设备.
VB与Access数据库的连接.
姚金宇 MIT SCHEME 使用说明 姚金宇
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月13日.
Logo语言. Logo语言 视图窗口 小海龟 ?: 提示符 l: 光标 命令窗口.
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
项目二:HTML语言基础.
第4章 Excel电子表格制作软件 4.4 函数(一).
本节内容 内存复制指令 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
LOGIX500软件入门 西安华光信息技术有限公司 2008年7月11日.
Visual Basic程序设计 第13章 访问数据库
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
Python 环境搭建 基于Anaconda和VSCode.
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
微机原理与接口技术 西安邮电大学计算机学院 宁晓菊.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
本节内容 导出表 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
数据表示 第 2 讲.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第四章 UNIX文件系统.
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
第4章 汇编语言程序格式  汇编程序功能  伪操作  汇编语言程序格式  汇编语言程序的上机过程
实验六、COM类型病毒分析实验 实验开发教师: 刘乃琦 谌黔燕.
跟我一起学编程系列课程: 第一篇汇编语言 16位汇编.
Presentation transcript:

微机原理与接口技术 微机原理与接口技术 朱华贵 2015年10月30日

微机原理与接口技术 汇编语言程序上机调试 朱华贵 2015年10月30日

4.5汇编语言程序的上机过程 4.5.1上机环境 要运行调试汇编语言程序,至少需要以下程序文件: 编辑程序:EDIT.COM或其他文本编辑工具软件,用于编辑源程序。 汇编程序:MASM.EXE,用于汇编源程序,得到目标程序。 连接程序:LINK.EXE,用于连接目标程序,得到可执行程序。 调试程序:DEBUG.EXE,用于调试可执行程序。

4.5.2上机过程 汇编语言程序上机操作包括:编辑、汇编、连接和调试几个阶段。 1.编辑源程序 用文本编辑软件创建、编辑汇编源程序。常用编辑工具有:EDIT.COM、记事本、Word等。 无论采用何种编辑工具,生成的文件必须是纯文本文件,所有字符为半角,且文件扩展名为.asm(文件名不分大小写,由1~8个字符组成)。

4.5.2上机过程(续) 2.汇编 用汇编工具对上述源程序文件(.asm)进行汇编,产生目标文件(.obj)等文件。 汇编程序的主要功能是:检查源程序的语法,给出错误信息;产生目标程序文件;展开宏指令。

4.5.2上机过程(续) 汇编过程如下: 在DOS状态下,输入命令:MASM MYFILE.ASM(回车),即启动了汇编程序。 此命令执行后,会出现下面的3行信息,依次按回车键(即选择默认值)即可建立3个输出文件,其扩展名分别为:.OBJ(目标文件),.LST(列表文件)和.CRF(交叉引用文件)。 Object Filename [MYFILE.OBJ]: Source Listing [Nul.LST]: Cross Reference [Nul.CRF]:

4.5.2上机过程(续) 如果汇编过程中发现有语法错误,则屏幕上会显示出错语言的位置和出错的类型。此时,需要进行修改,然后再进行汇编。 如此进行,直至汇编无错误,得到目标文件为止。

4.5.2上机过程(续) 3.连接 汇编产生的目标文件(.obj)并不是可执行的程序,还要用连接程序把它转换为可执行的EXE文件。连接过程如下: 在DOS状态下,输入命令:LINK MYFILE.OBJ(回车),即可完成连接。 与汇编过程类似,如果连接过程中出错,那么程序会在屏幕上显示提示信息。此时,需要对源程序进行查错、修改,然后再进行汇编、连接,直至连接无错误,得到可执行文件为止。

4.5.2上机过程(续) 4.程序运行 在DOS提示符下输入可执行程序的文件名即可运行程序。若程序能够运行但不能得到预期结果,则就需要检查源程序,改错后再汇编、连接、运行。 5.程序调试 在程序运行阶段,有时不容易发现问题,尤其是碰到复杂的程序更是如此,这时就需要使用调试工具进行动态查错。常用的动态调试工具为DEBUG。

4.5.3 运行调试 DEBUG是为汇编语言设计的一种调试工具,它通过单步、设置断点等方式为汇编语言程序员提供了非常有效的调试手段,它可以直接调试COM文件和EXE文件。 DEBUG状态下的所有数据都采用十六进制形式显示,无后缀H。

4.5.3 运行调试(续) 1.DEBUG的运行 在DOS状态下,输入下列命令之一,就可以进入DEBUG调试状态。 进入DEBUG调试状态后,将显示提示符“-”,此时,可输入所需的DEBUG命令。

调试程序DEBUG DEBUG是常用的汇编语言级调试工具,为汇编语言程序员提供了分析指令、跟踪程序的有效手段。 常用DEBUG命令: -A 汇编 -U 反汇编 -T 单步执行 -G 断点执行 -D 数据显示 -R 寄存器

4.5.3 运行调试-DEBUG的主要命令 (1)显示内存单元内容的命令D 格式为:-D [地址] 或 -D [范围] 例如,显示指定范围(DS:100~DS:1FF)内存单元内容的命令是: -D 100 10F 这里没有指定段地址,D命令自动显示DS段的内容。

4.5.3 运行调试-DEBUG的主要命令 (2)修改内存单元内容的命令E 格式一:用给定内容代替指定范围的单元内容 -E 地址 内容表 例如,-E DS:100 F3 58 59 5A 8D 格式二:逐个单元相继地修改 -E 地址 例如: -E DS:100↙ 18E4:0100 89.78 ↙ 此命令是将0100单元内容89改为78。 78是程序员从键盘输入的。 程序员在修改完一个单元后,可按空格键继续修改下一单元内容,直至按回车键结束该命令。

4.5.3 运行调试-DEBUG的主要命令 (3)检查和修改寄存器内容的命令R 格式一:显示CPU内部所有寄存器内容和标志寄存器中的各标志位状态 -R 格式二:显示和修改某个指定寄存器内容 -R寄存器名 例如:-R AX 格式三:显示和修改标志寄存器内容 -RF

4.5.3 运行调试-DEBUG的主要命令 (4)运行命令G 格式为:-G [=地址1][地址2[地址3…]] 其中,地址1指定了运行的起始地址,后面的均为断点地址。当指令执行到断点时,就停止执行并显示当前所有寄存器及标志位的内容和下一条要执行的指令。

4.5.3 运行调试-DEBUG的主要命令 (5)跟踪命令T 格式一:逐条指令跟踪 -T[=地址] 该命令从指定地址起执行一条指令后停下来,显示所有寄存器及标志位的内容。若未指定地址,则从当前的CS:IP开始执行。 格式二:多条指令跟踪 -T[=地址][值] 该命令从指定地址起执行n条指令后停下来,n由[值]确定。

4.5.3 运行调试-DEBUG的主要命令 (6)汇编命令A 格式为:-A [地址] 该命令允许输入汇编语言语句,并能把它们汇编成机器代码,相继地存放在从指定地址开始的存储区中。必须注意:输入的数字均默认为十六进制数。

4.5.3 运行调试-DEBUG的主要命令 (7)反汇编命令U 格式一:从指定地址开始,反汇编32字节 -U [地址] 格式二:对指定范围内的存储单元进行反汇编 -U [范围]

4.5.3 运行调试-DEBUG的主要命令 (8)执行命令P 格式为:-P [=地址] [指令数] 该命令控制CPU执行指定地址处的指令。若指定了指令数,则CPU执行从指定地址开始的若干条指令。若未指定地址和指令数,则CPU执行由(CS:IP)指定地址处的一条指令。 P命令与T命令的差别在于P命令把子程序调用(CALL)、重复字符串指令(REP)或软件中断(INT)当成一条指令来执行,简化了跟踪过程。

4.5.3 运行调试-DEBUG的主要命令 (9)退出DEBUG命令Q 格式为:-Q 该命令退出DEBUG程序,返回DOS。 如:ES: MOV AX,[BX]

4.5.3 运行调试-DEBUG使用说明 ① 在DEBUG中的提示符“-”下才能输入命令,在按回车键后,该命令才开始执行。 ② 命令是单个字母,命令和参数的大小写可混合输入。 ③ 命令和参数、参数和参数之间要用空格、逗号或制表符等分隔。 ④ 可以用“段值:偏移量”的形式来表示地址,也可以用段寄存器来代表“段值”。例如,1000:0,DS:10,CS:30等。

4.5.3 运行调试-DEBUG使用说明(续) ⑤ 范围:用来表示地址范围,从哪个地址开始,到哪个地址结束。它有两种表示方式。 地址 地址——前者表示起始地址,要用“段值:偏移量”来表达,后者表示终止地址,只用“偏移量”来表示。 地址 长度——前者表示起始地址,要用“段值:偏移量”来表达,后者表示该区域的大小,用字母“L”开头的数值来表示。 例如: 100:50 100 100:50 L100

4.5.3 运行调试-DEBUG使用说明(续) ⑥ 当命令出现语法错误时,将在出错位置显示"^ Error"。 ⑦ 可用组合键Ctrl+C或Ctrl+Break来终止当前命令的执行,还可用组合键Ctrl+S来暂停屏幕显示(当连续不断地显示信息时)。

5、标志寄存器FR 状态标志的状态表示在PC 中,可由调试程序(DEBUG)显示出来。 对应符号如下表所示: 标志位名 为1对应符 为0对应符 OF DF IF SF ZF AF PF CF OV DN EI NG ZR AC PE CY NV UP DI PL NZ NA PO NC