微机原理实验一调试程序的使用

合集下载

微机原理实验指导书

微机原理实验指导书

实验一初级程序的编写与调试一、实验目的1、熟练掌握的DEBUG常用命令,学会用DEBUG调试程序;2、深入了解数据在存储器中的存取方法,及堆栈中数据的压入与弹出;3、掌握各种寻址方法以及简单指令的执行过程。

二、实验内容1、设堆栈指针SP=2000H,AX=3000H,BX=5000H,请编一程序段将AX的内容和BX的内容进行交换。

请用堆栈作为两寄存器交换内容的中间单元,用DEBUG调试程序进行汇编与调试。

2、设DS=当前段地址,BX=0300H,SI=0002H,请用DEBUG的命令将存储器偏移地址300H—304H连续单元顺序装入0AH、OBH、0CH、0DH、0EH。

在DEBUG状态下送入下面程序,并用单步执行的方法,分析每条指令源地址的形成过程。

当每条数据传送完毕时,AX中的内容是什么。

程序清单如下:MOV AX,BXMOV AX,0304HMOV AX,[0304H]MOV AX,[BX]MOV AX,0001[BX]MOV AX,[BX][SI]MOV AX,0001[BX][SI]HLT3、设AX=0002H,编一个程序段将AX的内容乘10,要求用移位的方法完成。

三、实验要求1、实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,对程序结果的分析等。

2、本实验要求在PC机上完成。

3、本实验只要求在DEBUG调试程序状态下进行,包括汇编程序,调试程序,执行程序。

4、编程提示:(1)、实验内容1将两个寄存器内容进行交换时,必须有一个中间寄存器才能进行内容的交换。

如果用堆栈作为中间存储单元,必须遵循先进后出的原则。

(2)、实验内容2[1] 其中数据段寄存器中的段地址为进入DEBUG状态后系统自动分配的段地址。

[2] SI和BX的初值可在DEBUG的状态下,用R命令装入,也可以在程序中用指令来完成。

[3] 用T命令执行程序,可进行单步跟踪执行,每执行一条指令就可以看到各寄存器的状态,也可用R命令直接调出寄存器,来检查各寄存器内容是否正确。

微机原理 实验一 DEBUG调试工具

微机原理 实验一  DEBUG调试工具

实验一DEBUG调试工具、数据传送指令一、实验目的1、熟练掌握DEBUG常用命令的使用。

2、掌握数据传送类指令的使用。

二、实验内容注:debug所有数均看作16进制数,所有数均不需加H符号。

1.输入以下命令查看内存单元内容(1)-D-D DS:100-D DS:100 110-D SS:200(2)-E100f2 ab 12 34-D 100(3)运行下两条指令,并用D命令查看对应内容-E200 F364 2345-E 100eb 'abcd' 342.(1)运行R命令,查看AX内容及标志寄存器的内容,同时查看下一条要运行的指令。

(2)用R修改BX内容为12H,DX寄存器的内容为1A2BH。

3.运行汇编命令-A 100后,将语句MOV AX,1234、MOV BX,5678写入后用-T=100运行第一条指令,查看运行结果;再用-T命令运行第二条语句,查看运行结果。

4.用反汇编命令U查看汇编结果:-U100-U1001085.用DEBUG进行调试MOV AX,12MOV BX,34PUSH AXPUSH BXPOP BX运行之前用R查看:SP=__,运行上述语句后SP=__,AX=__,BX=__。

6.运行下列指令,并查看所对应的内存单元容。

MOV AX,1122MOV BX,100MOV[BX],AX7.运行下列指令看SP变化POP BXPOP AX问运行前运行后(2)PUSH AXPOP AXPUSH BXPOP BX 问运行前后SP有什么变化8.从代码段中偏移地址EA为400H的单元开始写入下列指令,单条看运行结果运行前查看AX=____BX=____EA为150H的字单元内容=____EA为160H字单元内容=____MOV AX,1122 ;AX=____MOV BX, 3344 ;BX=____MOV [150], AX ; EA为150H的字单元内容为____MOV [160], BX ;EA为16H的字单元内容为____MOV CX, [160] ;CX=____XCHG [150],CX ;EA为150H的字单元内容为____XCHG [160],CX ;EA为160H的字单元内容为____运行后记录标志寄存器的内容:____其对应值为(1,0):____三、实验要求:认真做实验,写实验报告。

[微机原理与接口技术课件]实验一DEBUG软件的使用

[微机原理与接口技术课件]实验一DEBUG软件的使用

实 验 一 DEBUG 软 件 的 使 用是专为8086/8088汇编语言设计的一种调试工具,是汇编语言程序设计者必须掌握的工具。

具有显示、修改、动态跟踪等功能。

使用它可以对*.COM 、*.EXE文件进行动态跟踪。

DEBUG可以显示和修改内存与寄存器内容,以便在调试中检查程序,查找与改错;亦支持小汇编,直接对小段程序进行汇编;也可对磁盘进行读写。

一、实验目的1.通过实验掌握DEBUG软件的基本使用方法。

2.进一步熟悉、理解8088/8086的寻址方式。

3.掌握数据传送、算术运算、逻辑运算等类指令的基本操作。

二、实验内容与步骤本实验进行前必须保证系统盘上有DEBUG.EXE文件。

进入DEBUG只需在DOS环境下执行 DEBUG命令,即键入DEBUG回车后,屏幕上显示 DEBUG提示符:“_”(短划线)。

操作如下:C:>DEBUG-注: 字符下有下划线的为键入的内容,\代表回车,后面内容均如此.1.程序输入汇编命令(A命令)在输入程序应注意以下几点:(1)输入的数字必须是十六进制数,并且不输入H。

(2)分号后面的内容(注释)不要输入。

(3)不输入标号,条件转移指令中的标号用偏移地址代替。

方法:先用一个离本转移指令的IP不远的但不一定准确的偏移地址代替标号 ,待程序输入且完成反汇编后获得标号所在处的准确的偏移地址时再修改。

在DEBUG提示符下键入A即进入汇编输入状态-A \键入下面的汇编程序13F2:0100 MOV AX,200013F2:0103 MOV DS,AX13F2:0105 MOV SS,AX13F2:0107 MOV BX,205013F2:010A MOV SI,BX13F2:010C MOV DI,305013F2:010F MOV SI,DI13F2:0111 MOV SP,5FFF13F2:0114 MOV CL,1913F2:0116 MOV BL,CL13F2:0118 MOV AH,F013F2:011A MOV CH,AH13F2:011C MOV BYTE PTR [DI],4013F2:011F MOV WORD PTR [SI],010013F2:0123 MOV DL,[SI+01]13F2:0126 MOV DH,[SI+01]13F2:0129 MOV AL,[SI+01]13F2:012C MOV WORD PTR [BX+SI],0022 13F2:0130 MOV [BX+SI+02],BX13F2:0133 MOV [BX+SI+02],BX13F2:0136 MOV BP,[BX+DI+02]13F2:0139 MOV [BX+DI],BX13F2:013B MOV AX,[BP+DI]13F2:013D MOV BL,AL13F2:013F MOV ES,BX13F2:0141 PUSH BX13F2:0142 PUSH DI13F2:0143 PUSH DI13F2:0144 POP CX13F2:0145 POP DX13F2:0146 XCHG BP,AX13F2:0147 XCHG DH,BL13F2:0149 SAHF13F2:014A CMC13F2:014B LAHF13F2:014C STD13F2:014D CLI13F2:014E PUSHF13F2:014F CLD13F2:0150 POPF13F2:0151 INT2113F2:0153 ^C重新回到DEBUG提示符“-”状态,表示汇编命令已结束。

微机原理与接口技术 DEBUG 调试程序的应用(1)

微机原理与接口技术 DEBUG 调试程序的应用(1)

实验一Debug 调试程序的应用一、实验目的1.掌握Debug常用命令的应用。

2.利用Debug调试可执行文件(*.EXE)。

二、实验内容1. 进入Debug,使用A命令将源程序写入100H开始的内存并汇编,然后使用G命令运行程序,接着用U命令反汇编,将机器指令送到起始地址为200H 的若干单元并加以验证,用Q命令退出Debug,返回DOS提示符。

2. 进入Debug,使用A命令将源程序写入100H开始的内存并汇编,然后使用G命令运行程序,接着用D命令观察运行结果后,在用U命令反汇编,用Q命令退出Debug,返回DOS提示符。

3.进入Debug,用A命令写入汇编源程序,接着用R命令显示状态,并用T命令单条执行指令,注意在执行命令的同时观察相应寄存器的状态。

4.练习使用填充命令F、搬家命令M和比较命令C。

5.利用Debug调试可执行文件(*.EXE)。

三、实验仪器、材料1. 软件DOSBOX、MASM2. PC微机一台四、实验步骤1.进入debug,使用A命令:-a100写入以下代码:MOV DL, 33H ;字符3的ASCII送DLMOV AH, 2 ;使用DOS的2号功能调用INT 21H ;进入功能调用,输出‘3’INT 20H ;执行INT 20H中断服务程序,结束程序,返回DOS 写完回车两下,再用-g=起始地址结束地址命令回车,再用-u命令回车,用-d100可得如图1-1,然后用-e200命令空格依次输入:B2 33 B4 02 CD 21 CD 20回车,用-d200可得如图1-2,用q退出debug。

2.进入dedug,使用A命令:-a300 写入以下代码MOV AL, [0120]ADD AL, [0122]DAAMOV BY[0124],ALMOV AL, [0121]ADC AL, [0123]DAAMOV BY[0125],ALINT 20用-g命令,再-d100查看结果如图2-1,在用U命令反汇编,用Q命令退出debug。

微机原理实验与调试软件的使用

微机原理实验与调试软件的使用
二.实验内容
1.(重做,用宏定义表格,不用xlat指令,)定义一数据段data,从 10H开始存放y函数值表,table为首指针( Y=X2-2X+3 ; X=3,4,5,6,7,8,9,10)。编一程序根据X值查table表,把对应Y值存入 Y变量中。
2.字节变量BCDC中定义了10个字节的压缩BCD码(20十进制数), 编一程序按顺序把它们转换成字符(ASC码),存入ASCC开始的 字节数据区。
四.实验小结(或收获、感受、经验、意见、建议等)
指令学习: 实验三 分支程序设计与调试
一.实验目的:
1.学习条件转移指令功能和简单分支程序设计。 2.学习在debug中调试分支程序的方法。 二.实验内容
1.写一段程序完成Z=|X-Y|,设X和Y为单字节无符号数, 分别在[10]和[20],Z在[30]单元。
实验一 debug调试工具软件的使用
三.实验步骤(根据具体题目细化) 1.进入DOS模式界面窗口,进入DEBUG。(根据实验室 系统介绍WIN98或WIN XP系统的进入方法) 2.用A和U命令输入和检察程序(注程序空间的选取)。 3.用E和D命令输入和检察数据(注数据空间的选取)。 4.用T、G或P命令运行。 5.检察运行结果,并调试程序。 6.用不同数据反复验正程序的正确性。 7.综合实验结果,得出结论或感受。
实验三 分支程序设计与调试
三.实验步骤(根据具体题目细化) 1.进入DOS模式界面窗口,进入DEBUG。(根据实验 室系统介绍WIN98或WIN XP系统的进入方法) 2.用A和U命令输入和检察程序(注程序空间的选取)。 3.用E和D命令输入和检察数据(注数据空间的选取)。 4.用T、G或P命令运行。 5.检察运行结果,并调试程序。 6.用不同数据反复验正程序的正确性。 7.综合实验结果,得出结论或感受。

实验一 DJ-598KC微机原理实验系统的使用

实验一  DJ-598KC微机原理实验系统的使用

实验一 DJ-598KC 8086/88微机实验开发系统基本使用一、实验目的1、了解8086/88微机实验开发系统的硬件组成;2、熟悉DJ8086K的集成调试仿真软件及键盘监控程序的功能和操作的使用,初步掌握程序的调试方法,包括跟踪、单步运行和断点设置等;3、熟悉8086/8088的指令系统,掌握汇编语言程序的设计方法。

二、实验仪器1、DJ-598KC开发系统 1台2、PC机 1台三、实验内容(一)DJ-598KC 8086/88微机实验开发系统介绍1. 系统概述介绍1.1 系统主要特点1) 598K是集51、96、8088(以下简称88)三大系列CPU于一体的三合一实验系统。

内置5196仿真器和8086实验系统。

该系统以8086实验系统作为基板,自成一体,可单独作为8086微机原理和接口实验使用,也可分别叠插51或96CPU卡,构成51/96单片机实验开发系统,598K系统结构紧凑,资源充分共享,无总线开关切换,自动识别CPU的类型。

2) 8086实验系统采用主频为14.7MHZ的8088CPU为CPU,并以最小工作方式构成系统。

3)配有二片61C256静态RAM构成系统的64K基本内存,存放用户程序/数据,地址范围为00000H-0FFFFH,其中00000H-00FFFH监控占用。

配有二片W27C512 EEPROM(64K),EP1存放监控程序,地址范围F0000H-FFFFFH;EP2存放实验程序,为实验系统独立运行时下载实验程序提供方便。

4)自带键盘、显示器,能独立运行,为实验程序调试带来方便。

5)配备Windows/XP仿真调试软件,支持机器码、汇编、C等三种语言的开发和调试。

6)提供标准RS232异步通讯口,以连接IBM-PC机。

7)配有各种微机常用I/O接口芯片,定时/计数接口芯片8253、A/D转换芯片0809、D/A转换芯片0832、中断控制器8259、键盘显示接口8279、并行I/O接口芯片8255、通讯接口芯片8250、8251、485和DMA控制器8237等。

微机原理实验一调试程序的使用

物理与机电工程系(2015——2016 学年第一学期)《调试程序的使用》上机实验报告专业:电子信息科学与技术学号: 52姓名:刷卡机任课教师:风机房实验地点:理工实验楼9007项目编号:实验一命令执行结果如下:执行R命令,即查看、修改CPU寄存器的内容,此时执行结果为:AX =0000 DS=1420BX=0000 SS=1420CX=0000 CS=1420DX=0000 ES=1420执行D命令,即显示存储单元中的内容命令,此时执行结果为:1420:0100 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................1420:0110 00 00 00 00 00 00 00 00-00 00 00 00 34 00 0F 14 ................1420:0120 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................1420:0130 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................1420:0140 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................1420:0150 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................1420:0160 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................1420:0170 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................执行A命令,即汇编命令,此时输入汇编命令为:1420:0100 mov al,111420:0102 mov bl,22(1)用七种(除隐含寻址外)不同的寻址方式实现数据的传送。

微机原理实验报告

微机原理实验报告实验⼀DEBUG 调试实验类型:实验课时:指导教师:时间:2013 年⽉⽇课次:第节教学周次:第周实验分室:实验台号:实验员:⼀、实验⽬的1.练习使⽤DEBUG,调试简单汇编程序。

⼆、实验要求1.掌握DEBUG的使⽤,调试程序。

2.读懂程序中各条指令,说明程序功能。

三、实验内容1.启动DEBUG,⽤A命令输⼊并汇编下列程序段。

100 MOV SI,200103 MOV CX,10106 MOV AL,0108 MOV [SI ],AL10A INC SI10B INC AL10D DEC CX10E JNZ 108110 INT 3四、实验结果及分析实验⼆简单汇编语⾔设计实验类型:实验课时:指导教师:时间: 2012 年⽉⽇课次:第节教学周次:第周实验分室:实验台号:实验员:⼀、实验⽬的1.巩固DEBUG及宏汇编的使⽤。

2.加深对指令的理解。

⼆、实验要求1.设堆栈指针SP=2000H,(AX)=3000H,(BX)=5000H。

请编⼀程序将AX的内容和BX的内容进⾏交换。

请⽤堆栈作为两寄存器交换内容的中间存储单元,⽤DEBUG调试程序进⾏汇编与调试。

2.设DS=当前段指地址,(BX)=0300H,(SI)=0002H,请⽤DEBUG的命令将存储器偏移地址300H~304H连续单元顺序装⼊0AH、0BH、0CH、0DH、0EH。

在DEBUG状态下送⼊下⾯程序,并⽤单步执⾏的⽅法,分析每条指令源地址的形成过程?当数据传送完毕时,AX中的内容是什么?程序清单如下:MOV AX,BXMOV AX,0304HMOV AX,[0304H]MOV AX,[BX]MOV AX,0001[BX]MOV AX,[BX][SI]MOV AX,0001[BX][SI]HLT3.设(AX)=0002H,编⼀个程序段将AX的内容乘10,要求⽤移位的⽅法完成。

三、思想描述实验内容1将两个寄存器的内容进⾏交换时,必须有⼀个中间寄存器才能进⾏内容的交换,如果⽤堆栈做为中间存储单元,必须遵循先进后出的原则。

微机原理及应用实验教程参考答案

参考程序:
DATA SEGMENT
DW 6666H, 7777H, 8888H, 9999H, 0AAAAH, 0BBBBH, 0CCCCH, 0DDDDH, 0EEEEH, 0FFFFH
3) 用W命令将程序写入到一个指定的地方或由计算机选择转载地址。
例:-W xxxx:xxxx 或-W
(3)用Q命令退出DEBUG。
(4)用DEBUG 路径\文件名.COM 的方式,将刚才保存的文件重新装入到内存。
(5)用U命令,查看程序转载的地址。
(6)用G命令运行程序。
例:-G=xxxx:xxxx 从程序转载处的地址开始运行
2、求某数据区内负数的个数。
设数据区的第一个单元存放数据的个数,从第二个单元开始存放数据,在最后一个单元存放结果。
参考程序一如下:
STACK SEGMENT STACK
DB 32 DUP (?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE
START: MOV DX, 0001H
MOV BL, 02H
A1: MOV AL, BL
INC BL
MUL BL
ADD DX, AX
CMP AX, 00C8H
JNA A1
INT 03H
CODE ENDS
END START
参考程序二、(数据段内的数据可根据需要改变)
STACK SEGMENT STACK
DW 64 DUP(?)
STACK ENDS
(2)用MASM.EXE编译源程序,编译无错后,生成相应的OBJ目标文件。
(3)用LINK. EXE 连接OBJ文件,生成可执行的EXE文件。
(4)运行程序:根据需要,可选择直接通过文件名的方式运行程序,或者是用DEBUG将可执行的EXE文件跳入内存后,用G命令运行。

微机原理软件实验报告

信息与通信工程学院微机原理软件实验报告班级:姓名:学号:日期:2011年12月实验一DEBUG的使用 (1)一、实验目的 (1)二、实验内容 (1)三、预习思考 (3)四、实验过程 (4)五、实验总结 (9)实验二分支、循环程序设计 (10)一、实验目的 (10)二、实验内容 (10)三、预习思考 (10)四、实验过程 (10)(一)、流程图 (11)(二)、源代码 (11)(三)、实验分析 (11)五、实验总结 (14)实验三代码转换程序设计 (15)一、实验目的 (15)二、实验内容 (15)三、预习思考 (15)四、实验过程 (16)(一)流程图 (16)(二)模块层次图 (16)(三)源代码 (17)(四)实验分析 (21)五、实验总结 (22)实验四子程序设计 (23)一、实验目的 (23)二、实验内容 (23)三、预习思考 (23)四、实验过程 (24)(一)流程图 (24)(二)模块层次图 (25)(三)源代码 (25)(四)实验分析 (34)五、实验总结 (35)实验五中断程序设计 (37)一、实验目的 (37)二、实验内容 (37)三、预习思考 (37)四、实验过程 (38)(一)流程图 (38)(二)源代码 (39)(三)实验分析 (45)五、实验总结 (46)实验一 DEBUG 的使用一、实验目的1.掌握汇编程序的编辑、编译、连接和执行的全过程;2.学习和掌握用DEBUG调试程序的方法。

二、实验内容1.用编辑软件,输入以下汇编语言源程序:DAT SEGMENTA DB 20B DB 15Y DB 3 DUP(0)Z DB 0,0DAT ENDSSTA SEGMENT STACKDW 50 DUP(?)STA ENDSCOD SEGMENTASSUME CS:COD,DS:DATSTAR PROC FARPUSH DSXOR AX,AXPUSH AXMOV AX,DATMOV DS,AXMOV AX,STAMOV SS,AXMOV AL,AMOV Z,ALMOV Z+1,ALCALL SUB1MOV AL,BMOV Z,ALMOV Z+1,ALCALL SUB1MOV AL,AMOV Z,ALMOV AL,BMOV Z+1,ALCALL SUB1ADD WORD PTR Y,AXADC BYTE PTR[Y+2],0RETSTAR ENDPSUB1 PROCMOV AL,ZMOV AH,Z+1MUL AHADD WORD PTR Y,AXADC BYTE PTR[Y+2],0RETSUB1 ENDPCOD ENDSEND STAR2.通过编译,连接形成可执行文件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

物理与机电工程系
(2015——2016 学年第一学期)
《调试程序的使用》
上机实验报告
专业:电子信息科学与技术
学号: 1524812252
姓名:刷卡机
任课教师:风机房
实验地点:理工实验楼9007
项目编号:实验一
执行R命令,即查看、修改CPU寄存器的内容,此时执行结果为:
AX =0000 DS=1420
BX=0000 SS=1420
CX=0000 CS=1420
DX=0000 ES=1420
执行D命令,即显示存储单元中的内容命令,此时执行结果为:1420:0100 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 1420:0110 00 00 00 00 00 00 00 00-00 00 00 00 34 00 0F 14 ................ 1420:0120 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 1420:0130 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
-T
AX=EE9A BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=1420 ES=1420 SS=1420 CS=1420 IP=0129 NV UP EI NG NZ AC PE NC 1420 : 0129 0000 ADD [BX+SI] , AL DS:0000=D1
这是第一条指令执行后的结果和各寄存器内的存储变化码以及其机器显示,此时的标志位为NV UP EI NG NZ AC PE NC 即
溢出标志OF=0 不溢出方向标志DF=0增)
中断标志IF=1开中断符号标志SF=1为负
零标志ZF=0为非零辅助进位AF=1辅助有进位
即:
-T
AX=EE9A BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=1420 ES=1420 SS=1420 CS=1420 IP=0137 NV UP EI PL NZ AC PO CY 1420 : 0137 0000 ADD [BX+SI] , AL DS:0000=07
这是第一条指令执行后的结果和各寄存器内的存储变化码以及其机器显示,此时的标志位为NV UP EI PL NZ AC PO CY。

相关文档
最新文档