版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验一 汇编语言程序的调试与运行1熟练掌握 DEBUG的常用命令,学会用 DEBUG调试程序。2掌握数据在内存中的存放方式和内存操作数的寻址方式。3掌握汇编语言源程序的组成格式。4掌握 8086/8088指令及伪指令的格式及用法。5掌握汇编语言源程序的编辑、调试及运行方法。1DEBUG程序的启动DEBUG设置断点连续执行等方式为汇编语言程序员提供了非常有效的调试手段。在 DOS 提示符下,可输入命令:CDEBUG d:文件名 参数 参数 2其中文件名是被调试文件的名称,它必须是执行文件(.EXE DEBUG此时,可键入所需的 DEBUG命令。在启动 DEBUG DEBUG程序把指定文件装入内
2、DEBUG文件名,则是以当前内存的内容进行工作。2DEBUG的主要命令1)汇编命令 A格式: A 起始地址继存放在从指定地址开始的存储器中。2)反汇编命令 U(1)格式 1: U 起始地址功能:该命令从指定地址开始,反汇编 32 个字节,若地址省略,则从上一个 U命令的最后一条指令的下一个单元开始显示 32 个字节。(2)格式 2: U 起始地址 终止地址格式 3: U 起始地址 L 字节数功能:该命令对指定范围的内存单元进行反汇编。例如:3)运行命令 G格式: G = 起始地址 1断定点地址 断点地址 3存器内容和下一条要执行的指令。一般设置断点前最好用 U 命令查看一下指令开始的地址。断点
3、数最多为 10个。如: G=100 1084)跟踪命令(单步执行)T格式 1: T =起始地址格式 2: T =起始地址 指令条数内容和状态寄存器的内容,及以助记符形式表示的下一条指令。如: T=1005)显示内存单元内容的命令 D格式 1: D 起始地址格式 2: D 起始地址 终止地址格式 3: D 起始地址 L 字节数功能:显示指定内存单元的内容。6)修改内存单元内容的命令 E(1)用给定的内容代替指定范围的单元内容格式: E 地址 内容表例如: E :0100 F3 XYZ 8D其中 F3、X、和 8D 各占一个字节,用这五个字节代替原内存单元 2000:0100 到 0104 的内容
4、,X、Y、将分别存入其 ASCII码值。(2)逐个单元相继地修改格式 : E地址例如: E 100系统显示如下: :0100 89. 78此命令是将原 100 号单元的内容 89 改为 78,78 是用户输入的。7)检查和修改寄存器内容的命令 R(1)显示 CPU内部所有寄存器内容和标志位状态格式: RR命令显示中标志寄存器中各标志位状态的含义如表 1 所示。表 1 标志寄存器标志位含义置位(1)OV复位(0)NVEIZR辅助进位Auxiliary Carry(是/否)奇偶 Parity(偶/奇)进位 Carry(是/否)CYNC(2)显示和修改某个指定寄存器内容格式: R 寄存器名例如输入:
5、R AX如显示如下: AX 2000:则表示 AX当前内容为 2000H,此时若不对其作修改,可按 ENTER键;否则,输入修改后内容,如输入:3000则 AX内容由 2000H 改为 。(3)显示和修改标志寄存器格式: R F如系统将显示如下: OV DN EI NG ZR AC PE CY 这时若不作修改可按 ENTER 键,否则在“”号之后键入修改值,键入顺序任意。如:OV DN EI NG ZR AC PE CY PO NZ DI NV8)退出 DEBUG命令 Q格式: Q功能:退出 DEBUG程序,返回 DOS。3汇编语言源程序的分段结构(1)段的定义1)段定义伪指令:数据段、堆栈段
6、、代码段的定义2)段的定位类型、组合类型、段的别名的说明(2)段寄存器的装入1)指定段寄存器与段之间的对应关系伪指令:ASSUME2)将段地址装入指定段寄存器:MOV指令48086/8088的指令系统(1)常用指令:掌握其格式及用法1)数据传送类指令数据传送:(数据传送)数据交换:XCHG(数据交换)入栈及出栈:POP(出栈)2)算术运算类指令加法运算:ADC INC(加 1 运算)减法运算:SUBSBBDEC(减 1 运算)比较运算:CMP(数据比较,设置标志寄存器)3)逻辑运算类指令ANDORXOR(逻TEST(测试)移位运算:SHLSHRSARROLRCR(带进位循环右移)4)程序控制类
7、指令:无条件转移指令:(无条件转移)条件转移指令:判断是否相等转移:JZ/JE(等于零JNZ/JNE(不等于零不相等转移)判断无符号数大小转移:JA/JNBE(高于JAE/JNB(高于等于(低于(低于等于/不高于转移)判断有符号数大小转移:JG/JNLE(大于JGE/JNL(大于等于(小于JLE/JNG(小于等于/不大于转移)循环控制指令循环转移指令:LOOP(0 循环)条件循环转移指令:(0 且 ZF=1循环)(0 且 ZF=0循环)5)串操作类指令数据串传送:(字操作)数据串比较:CMPSW(字操作)数据串搜索:SCASW(字操作)数据串存取:LODSB(字节操(字操作)重复前缀:(CX0
8、 重复执行串指令)(CX0 且 ZF=1时重复执行串指令)(0 且 ZF=0时重复执行串指令)(2)常用伪指令:掌握其格式及用法1)数据定义伪指令:DB、DD等2)表达式赋值伪指令:、=3)定位伪指令:ORG58086/8088常用运算符1)算术运算符:+、-、*、MOD2)逻辑运算符:、NOT注意与逻辑运算指令的区别3)关系运算符:、LT、LE、GE4)数据返回运算符:、SIZE、OFFSET、SEG5)属性运算符:PTR本实验为设计性实验。本实验学时为 2 学时。1、实验内容将两个多位十进制数相加,要求被加数和加数均以 ASCII 码形式各自顺序存放在 和 为首的 5 个内存单元中,结果送
9、回 处。2、程序框图两个多位十进制相加的程序流程图如图 30 所示。图 30 两个多位十进制相加程序流程图3、实验步骤1编辑源程序,建立一个以后缀为 ASM的文件.2汇编源程序,检查程序有否错误,有错时回到编辑状态,修改程序中错误行。无错时继续第 3 步。3连接目标程序,产生可执行程序。4DEBUG调试可执行程序,记录数据段的内容。5在操作系统状态下,运行程序,并将记录屏幕显示内容记录到表 2 中。表 2屏幕显示记录屏幕显示内容被加数127321073265087加数0681543691176311实验前要做好充分准备,包括汇编程序清单,调试步骤,调试方法,以及对程序结果的分析等。2本实验要求用适当的编辑软件编写源程序,进行汇编、链接操作,最后在 DEBUG下进行调试运行。3独立完成,严禁抄袭。4学会解决调试过程中的错误。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 气候变暖对输传播性疾病检测技术需求
- Java 后端开发高级工程师考试试卷及答案
- 检验前标本采集患者隐私保护措施
- 心力衰竭生物标志物临床应用中国专家共识(完整版解读)
- 第三章 第4讲 牛顿运动定律的综合应用(学生版)
- 第二章 第6讲 专题强化:共点力的动态平衡问题(学生版)
- T∕AOPA 0100-2025 动力提升航空器结构模态耦合试验规范
- 干细胞治疗在神经退行性疾病中的作用机制研究
- 四川省宜宾县第二中学2026届全国高三统一第一次网上联考化学试题测试题含解析
- 云南省曲靖市宜良县第八中学2026年高三毕业班联考(二)化学试题含解析
- 2026重庆联合产权交易所集团股份有限公司招聘13人考试备考试题及答案解析
- 2026中国文创产品市场消费趋势与商业模式创新研究报告
- 2026中考语文试题分类汇编《作文》练习题
- 2026年辽宁省二级建造师继续教育复习真题AB卷附答案详解
- 2025年冀人版三年级科学下册全套测试卷新版
- 带状疱疹临床路径完整版
- 智慧工地方案施工方案(3篇)
- 北京2025年国家艺术基金管理中心招聘应届毕业生笔试历年参考题库附带答案详解(5卷)
- 《安全预评价提供基础资料清单》
- 15.球的运动(课件)2025-2026学年人教鄂教版三年级科学下册
- 2026年教案合集2026年春人教版八年级下册英语Unit 1~Unit 8全册教案新版
评论
0/150
提交评论