1、汇编实验打印版南昌航空大学信息工程学院实验报告课程名称: 微机原理与接口技术 学 号: 11045106 姓 名: 曹海潮 指导教师: 周卫民 成 绩:_南昌航空大学实验报告课程名称: 微机原理 实验名称:调试程序DEBUG的使用 班 级: 110451 学生姓名: 曹海潮 学号: 11045106 教师评定: 签 名: 一、实验要求: 调试程序 DEBUG的使用。二、实验内容: DEBUG.EXE是DOS提供的用于调试可执行程序的工具软件,是汇编语言程序设计中常用的调试工具。在DEBUG环境下,不但可以调试经汇编、连接后生成的可执行程序,也可以编写简单的程序。 在DOS提示符下键入:DEBU
2、G (表示回车) Debug执行,屏幕显示提示符“”,说明计算机当前处于DEBUG的管理之下,可接受、并执行DEBUG命令。 在DOS提示符下键入:DEBUG 路径文件名DEBUG执行,并将指定文件装入内存,供调试。如不指定被调试程序,DEBUG设置所有段寄存器的值相同,并指向最低的、可用的段地址;SP指向本段的尾部;IP指向本段的0100H单元;其它通用寄存器和所有状态标志清0。 如带入的被调试程序扩展名不是.EXE,则BX、CX包含被调试文件长度(字节数,BX为高位),其他同上。(带入.COM程序同此) 如带入的被调试程序扩展名是.EXE,则需要重新定位。DS=ES指向当前最低的、可用的段
3、地址(PSP的首字节);CS:IP和SS:SP根据被调试程序确定,分别指向代码段和堆栈段;BX.CX为文件长度,其它通用寄存器和状态标志清0。 演示:DEBUG的两种启动方法1.命令格式 命令字母参数 字母不分大小写;只使用16进制数,不加H;分割符只在两个数值之间是必须的,命令和参数之间可有可无;键入回车键执行命令,Ctrl+Break或Ctrl+C中止命令的执行;如命令不符合DEBUG的规则,则提示“error”并使用“”指示错误位置。2.参数格式 表示地址(逻辑地址):段地址:偏移地址 D0400:2500 D10ac:0 Dds:04 Dcs:100偏移地址 D2505 D100 ;D
4、EBUG认为输入的是偏移地址,段地址采用默认的段寄存器,不同的命令默认不同的段寄存器,例如汇编命令默认CS,显示数据命令默认DS。既不送段地址,也不送偏移地址,段地址采用默认的段寄存器,偏移地址采用当前值。只送段地址,省略偏移地址,非法。如DDS: 或 D0400:表示范围 开始地址 结束地址如“D DS:0 50”,“D2AC0:100 200”,“D100 120”注意:结束地址不能带段地址,开始地址 L 字节长度。如 “D DS:0 L 10”, “D100L20”命 令 索 引D命令 E命令 F命令 R命令 A命令U命令 G命令 T命令 P命令 Q命令N命令 L命令 W命令 C命令 H
5、命令S命令 I命令 O命令 M命令3.DEBUG命令1.显示命令D D 地址 D 范围 ;如不指定范围,一次显示8行16个字节。 D ;默认段寄存器为DS,当前偏移地址 D DS:100 /D CS:200 D 200:100 D 200;200为偏移地址,默认段寄存器DS D DS:100 110/ D 100 L 102.修改命令E E 地址 ;从指定地址开始,修改(或连续修改)存储单元内容。DEBUG首先显示指定单元内容,如要修改,可输入新数据;空格键显示下一个单元内容并可修改,减号键显示上一个单元内容并可修改;如不修改,可直接按空格键或减号键;回车键结束命令。 E 地址 数据表;从指定
6、的地址开始用数据表给定的数据修改存储单元。 E DS:100 F3 AB 8D。3.添充命令F F 范围 数据表;将数据表写入指定范围的存储单元;数据个数多,忽略多出的数据,个数少,则重复使用数据表。 F DS:0 L5 01,02,03,04,05 F DS:0 L5 01 02 03 04 05(空格分隔) F DS:0 L5 FF ;5个字节重复使用FF 注意和E命令的区别: E 地址 数据表 4.显示修改寄存器命令R R;显示所有寄存器和标志位状态; 显示当前CS:IP指向的指令。 显示标志时使用的符号: 标志 标志=1 标志=0 OF OV NV DF DN UP IF EI DI
7、SF NG PL ZF ZR NZ AF AC NA PF PE PO R 寄存器名;显示并修改指定的寄存器。 RAX ;RIP;RF等 5.汇编命令A A 地址;从指定的地址开始输入符号指令;如省略地址,则接着上一个A命令的最后一个单元开始;若第一次使用A命令省略地址,则从当前CS:IP开始(通常是CS:100)。 注释:在DEBUG下编写简单程序即使用A命令。 每条指令后要按回车。 不输入指令按回车,或按Ctrl+C结束汇编。 支持所有8086符号硬指令,伪指令只支持DB、DW,不支持各类符号名。 6.反汇编命令U U 地址;从指定地址开始反汇编32个字节的机器指令;省略地址时,则接着上一
8、个U命令的最后一个单元开始;若第一次使用U命令省略地址,则从当前CS:IP开始(通常是CS:100)。 U 范围;对指定范围的单元进行反汇编。 U U100 U100L10 6.反汇编命令U U 地址;从指定地址开始反汇编32个字节的机器指令;省略地址时,则接着上一个U命令的最后一个单元开始;若第一次使用U命令省略地址,则从当前CS:IP开始(通常是CS:100)。 U 范围;对指定范围的单元进行反汇编。 U U100 U100L10 7.运行程序命令G G;从CS:IP指向的指令开始执行程序,直到程序结束或遇到INT 3。 G=地址;从指定地址开始执行程序,直到程序结束或遇到INT 3。 G
9、 断点1,断点2,断点10;从CS:IP指向的指令开始执行程序,直到遇到断点。 G=地址 断点1,断点2,断点10 G ;从CS:IP指向的指令开始执行程序。 G=100 ;从指定地址开始执行程序。 G=100 105 110 120 注 释: 1)最多可设置10个断点。 2)断点必须设置在一条指令的首字节。 3)如设置了多个断点,程序在第一个断点停下后,显示寄存器、标志及下一条要执行的指令,再次输入G命令,程序继续往下执行,直到下一个断点或程序结束。 4)程序如有错误,执行时可能造成死机。 8.跟踪命令(单步执行命令)T T;从当前IP开始执行一条指令。 T 数值;从当前IP开始执行多条指令
10、。 T =地址; T =地址 数值; T T5 / T=100 5 9.跟踪执行并跳过子程序命令P P =地址 数值;类似T命令,但跳过子程序和中断服务程序。 10.退出DEBUG命令Q Q;返回DOS环境。 Q 11.命名命令N N 文件标示符;指定文件,以便用W命令在磁盘上生成该文件,或者用L命令从磁盘装入该文件。 N MY_PRO.COM 写盘:在当前盘当前目录生成指定文件。 读盘:在当前盘当前目录读取指定文件。 N A: USER MY_PRO.COM12.装入命令L L 地址;装入N命令指定的文件,默认的内存地址为CS:100。 N MY_PRO.COM L L 地址 驱动器号 扇区
11、号 扇区数;将某驱动器的若干扇区(最多80H个)装入内存;0=A,1=B,2=C;默认的段地址为CS。 L DS:200 2 0 1 13.写盘命令W W 地址;将指定地址开始的内存数据写入磁盘,生成N命令指定的文件;默认的内存地址为CS:100;写盘的字节数由BX(高位字)和CX(低位字)决定,可执行程序写盘时,文件扩展名应指定.COM。 N MY_PRO.COM W W 地址 驱动器号 扇区号 扇区数;将内存数据写入磁盘的若干扇区(最多80H);默认的段地址为CS。 W DS:0 2 0 1 注释:写磁盘扇区要慎用。 14.其他命令 比较命令C C 范围 地址;将指定范围内的内容与以指定地
12、址为起点的内容相比较。 16进制数计算命令H H 数1,数2(H 数1 数2);同时计算两个数字的和与差。 查找命令S S 范围 数据;在指定范围内查找指定数据。 输入命令I I 端口地址;输入一个字节并显示。 输出命令O O 端口地址 字节数据;输出到指定的端口。 传送命令M M 范围 地址;将指定范围的内容传送到以指定地址为起点的存储单元。3、实验体会: 通过本次实验,练习了各条常用DEBUG命令的使用,同时也在DBBUG条件下,运行了一些代码,能够得到理想中的答案,同时也发现指令中的值须全部转化为16进制的值,那样才能正常的运行。同时也加深了自己对指令的理解。南昌航空大学实验报告课程名称
13、: 微机原理 实验名称:完整汇编源程序的上机过程班 级: 110451 学生姓名: 曹海潮 学号: 11045106 教师评定: 签 名: 一、实验要求:学会完整汇编源程序的上机过程和常用的DOS命令。二、实验内容:编写一段汇编源程序,在MASM中运行。同时学会对MASM的灵活运用。三、实验步骤:3.1 编辑录入源程序 EDIT 盘符路径程序基本名。ASM例如:D:languageMASM50edit aa.asm3.2 汇编汇编指令格式如下:MASM 盘符路径程序基本名.ASM例如:D:languageMASM50masm aa若没有错误显示如下:Microsoft(R) Macro Ass
14、mbler Version 5.10Copyright (C) Microsoft Corp 1981,1988,All rights reserved.Object filename aa.OBJ:Sourse listingNUL.LST:Cross-reference NUL.CRF: 49576+420869 Bytes symbol space free 0 Warning Errors 0 Severe Errors若有错时则会显示出相应错误信息,如下:AA.ASM (6): Warning A4001:Extra characters on lineAA.ASM (7):error A2062:Missing or unreachable CSAA.ASM (8):error A2009:Symbol not defined: DI 49510+411821 Bytes symbol space free 1 Warning Errors 2 Severe Errors3.3 连接连接命令格式如下: LINK 盘符路径程序基本名.OBJ例如:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1