实验一 DEBUG 命令的使用
 
   
【实验目的】
1.  学习使 用DEBUG程序的各种命令。
2.  掌握用DEBUG调试自编程序的方法,为以后实验打下基础。
 
【实验内容】
1、请自学并完成如下内容:
    (1)DEBUG的使用方法(1)
    (2)DEBUG的使用方法(2)
 
2、用DEBUG调试、运行可执行程序。
    1)进 入DEBUG后,首先用命令R查看当前DS和IP寄存器内容,记录此值。
    2)学 习R,D,A,U,T,P,G命令的使用。
    3)用命令A汇编下列指令,并判断指令正误并说明原因。
        (1)        LEA DI,[AX]
        (2)        MOV DS,2010
        (3)        PUSH AL
        (4)        MOV [BX],0
 
3.  用A命令汇编下列程序段,完成将DS:2000开始的5个字节内存内容相加,并把相加的结果存 放在DS:2005内存单元中,将程序写到 硬盘上,然后用DEBUG调试﹑运行该程序,查看运行结果,观察程序段能否完成指定功能,若不能, 说明原因。
 
                  MOV CX,5
                  MOV AL,0
                  MOV BX,2000
  NEXT: ADD AL,[BX]
                INC BX
                DEC CX
                LOOP NEXT
                MOV [BX],AL
                INT 3
 
预习要求
1、仔细阅读试验指导的“前言”、“试验环境与上机 步骤”;
汇编指令有多少个
2、自学“DEBUG使用简介”、 “经典 DEBUG”;
2、计算下列表达式,并思考如何运行程序验证它们
  45H + 70H = _____ , OF = _____ , CF = _____ ;
  F6H + 2AH = _____ , OF = _____ , CF = _____ 。
 
【报告要求】
1、每个实验内容的实验调式结果、试验分析以及试验问题回答,需有 必要的屏幕截图。
2、回答思考题。
3、提交电子版试验报告
4、雷同的实验报告将不分青红全部被判为0分。
 
实验提示
1)  DEBUG的进入
如果是首次进入DEBUG编程,则只要在DOS提示符下键入DEBUG ,即可进入DEBUG环境,显示提示符“-”。
如果要对某个程序使 用DEBUG进行调试,只要在DOS提示符 下键入DEBUG 文件名,即可进入DEBUG环境,显示提示符“-”。
 
2)  程序的 汇编与反汇编
源程序可以在DEBUG下,用汇编命令A输入到内存中,只需在DEBUG提示符“-”下,键入汇编命令A ,并在显示“段寄存器地址:偏移地址”后面键入你自己编写的程序,每键入一条,按一次回车键。
 
-A                         ;表示按回车键,下同
127B:0100 MOV CX,5
127B:0103 MOV AL,0
127B:0105 MOV BX,2000
 
如果进入DEBUG时是使用“DEBUG  文件名”进入的,那么在进入DEBUG状态后,可用反汇编命令U,将调入的程序显示出来:
 
-U                         ;表示按回车键
127B:0100    B90500    MOV CX,5
127B:0103    B000      MOV AL,0
127B:0105    BB0020    MOV BX,2000
 
 
3)  在DEBUG状态下,对所编写文件存盘的步骤
      给程序 命名
-N 文件名.COM
    将文件 长度放入BX、CX中(高位放入BX,低位放入CX中)
-R BX 注意!!!由于文件长度一般较小,所以切记BX中付0值)
-R CX (文件最末偏移地址 减去文件开始的偏移地址即文件长度)
    用写盘 命令W把正在调试的内存中程序写入磁盘中
-W 〈地址〉(文件开始 地址)
退出DEBUG状态用Q命令:-Q
 
4)    在DEBUG状态下,建议使用DOS分配给用户的内存可 用区
    在DEBUG状态下,用户可对所有寄存器、RAM内存随意 查看和修改,但由于对DOS操作系统在内存中存放情况不了解,可能会将存放有操作系统程序的内存内 容破坏,从而可能引起系统的异常,出现死机现象,故建议使用DOS分配给用户的内存可用区,其低端 地址是刚进入DEBUG时,用命令R查看到 的DS:IP。
 
5)  用连续 执行命令G应注意问题
用连续执行命令G执行程序时,注意给出执行程序的首地址,并注意执行的程序中有返回DEBUG功能的程序段,如 指令INT 20H或断点设置INT 3,否则发出命令后,很容易出现死机,原因是无返回程序 段使系统返回命令接受状态,CPU将不断到内存中取指令、执行指令,使用户失去对系统的控制。为避 免这种情况,可在用户程序段结尾加上一条INT 20H指令,或INT 3指令。
 
6)  关于任务5
DS:2000单元开始的5个 字节内容,可用填充命令F给其赋值。
      -F 2000 L5 01 02 03 04 05(在执行程序前用F命令给单元赋值)
      之后,运行任务5程序段,检查运行结果是否正确。
 
【思考题】
1.指令MOV [BX],AX中,操作数[BX]的 寻址方式是什么?在DEBUG下执行完该指令后,如何查看执行结果?
2.可否随意在DEBUG提示符“-” 后不带参数发出命令G?什么情况下使用命令G时, 可不用“=”给出执行首地址?
 
 
 
Copyright © 2008-2013 by XinLuo. All Rights Reserved.
 
实验二 汇编语言程序编译
 

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。