汇编语言实验一

合集下载

实验1_认识汇编语言

实验1_认识汇编语言

实验一 认识汇编语言

1.1 实验目的

(1)理解汇编语言的概念及其与高级语言的区别

(2)了解MASM6.11和TASM软件包的安装及配置

(3)了解常用汇编语言集成环境

(4)掌握汇编语言程序的上机过程

1.2 预备知识

1.2.1 系统环境

对汇编语言的初学者来说,DOS环境的优点是:DOS操作系统简单,程序员可以管理系统的所有资源,访问和修改系统中的所有内存(包括内存控制块、中断向量表),直接对I/O端口进行读写,便于对知识的学习和理解。其缺点是:单任务的DOS操作系统只有一个运行级别,任何进程与DOS操作系统都是同等级别的,致使系统中各个进程会相互影响。如果某个进程死机,整个系统就会瘫痪。

但是DOS系统已经退出历史舞台,目前的学生只熟悉Windows环境而对DOS知之甚少,继续要求学生在DOS系统的命令行界面下编写和调试程序,无疑存在巨大的困难。

目前,IBM PC及其兼容机配置的Intel系列微处理器可以工作在实模式、保护模式和虚拟86三种模式下。实模式是汇编语言入门的基础,是汇编语言教学中无法跨越的阶段。了解实模式是理解内存分段式管理和寻址方式的基础。保护模式是Windows系统的工作模式,虚拟86模式则是在保护模式下提供的模拟8086处理器工作的模式,为学习汇编语言提供了便利。DOS汇编程序在Win32环境中运行时,操作系统会模拟实模式运行16位进程。对于一些可能会影响整个操作系统工作的指令,windows操作系统会拒绝执行。64位的Windows 环境则不提供16位应用的虚拟环境。

汇编语言实验一

汇编语言实验一

实验一查看CPU和内存,用机器指令和汇编指令编程

一.实验目的:

掌握DEBUG 的基本命令及其功能

二.实验内容:

1. 预备知识:Debug的使用

(1) 什么是Debug?

Debug是DOS、Windows都提供的实模式(8086方式)程序的调试工具。使用它,可以查看CPU各种寄存器中的内容、内存的情况和在机器码级跟踪程序的运行。

(2) 我们用到的Debug功能

●用Debug的R命令查看、改变CPU寄存器的内容;

●用Debug的D命令查看内存中的内容;

●用Debug的E命令改写内存中的内容;

●用Debug的U命令将内存中的机器指令翻译成汇编指令;

●用Debug的T命令执行一条机器指令;

●用Debug的A命令以汇编指令的格式在内存中写入一条机器指令。

(3) 进入Debug

Debug是在DOS方式下使用的程序。我们在进入Debug前,应先进入到DOS方式。用以下方式可以进入DOS:

①重新启动计算机,进入DOS方式,此时进入的是实模式的DOS。

②在Windows中进入DOS方式,此时进入的是虚拟8086模式的DOS。

(4) 用R命令查看、改变CPU寄存器的内容

1)显示CPU内部所有寄存器内容和标志位状态;格式为:-R

2)显示和修改某个指定寄存器内容,格式为:-R 寄存器名

若要修改一个寄存器中的值,比如AX中的值,可用R命令后加寄存器名来进行,输入“r ax”后按Enter键,将出现“:”作为输入提示,在后面输入要写入的数据后按Enter 键,即完成了对AX中内容的修改。若想看一下修改的结果,可再用R命令查看

汇编语言上机实验一DEBUG常用命令及8086指令使用

汇编语言上机实验一DEBUG常用命令及8086指令使用

汇编语⾔上机实验⼀DEBUG常⽤命令及8086指令使⽤实验⼀DEBUG常⽤命令及8086指令使⽤

实验⽬的:

通过实验掌握下列知识:

1、8086指令: M OV,ADD,SUB,XCHG等

2、DEBUG命令: A,D,E,F,H,R,T,U。

3、ASCII码及⽤16进制数表⽰⼆进制码的⽅法。

内容及步骤:

⼀、DEBUG 命令使⽤:

1、打 DEBUG 进⼊ DEBUG 控制,显⽰提⽰符 '_ '。

2、⽤命令 F100 10F 'A' 将'A'的ASCII码填⼊内存。

3、⽤命令 D100 10F 观察内存中的16进制码及屏幕右边的ASCII字符。

4、⽤命令F110 11F 41 重复上⼆项实验,观察结果并⽐较。

5、⽤命令 E100 30 31 32 …… 3F将30H-3FH写⼊地址为100开始的内存

单元中,再⽤D命令观察结果,看键⼊的16进制数是什么字符的ASCII码?

6、⽤H命令检查下列各组16进制数加减结果并和你的⼿算结果⽐较:

(1)34H,22H (2)56H,78H (3)A5,79H (4)1284H,5678H (5)A758,347FH

7、⽤R 命令检查各寄存器内容,特别注意AX,BX,CX,DX,IP及标志位中ZF,CF

和AF的内容。

8、⽤R命令将AX,BX内容改写为1050H及23A8H。

⼆、8086常⽤指令练习

1、传送指令

1)⽤A命令在内存100H处键⼊下列内容: MOV AX,1234

MOV BX,5678

XCHG A X,BX

MOV AH,35

MOV AL,48

MOV DX,75AB

DSP实验报告五:汇编语言程序设计(1)——定点数除法实验

DSP实验报告五:汇编语言程序设计(1)——定点数除法实验

实验五:汇编语言程序设计(1)——定点数除法实验一、实验目的:

1.熟悉 C54x 指令系统,掌握常用汇编指令,学习设计程序和算法的技巧。

2.学习用减法和移位指令实现除法运算。

二、实验仪器:

安装 CCS3.1(CodeComposerStudioV3.1)的 PC 机。

三、实验内容:

编写一个 16 位的定点除法子程序。

四、实验步骤:

1.以Simulator的方式启动CCSv3.1。

2.在D:\Lab05_Divisio建立工程,工程名为“div”。

3.新建div.asm,编辑内容如下:

4.新建div.cmd,编辑内容如下:

5.汇编/编译与连接

执行Project→Rebuild All 编译链接.如果未对汇编语言修改编译连接环境(参见实验 2),编译时将出现如下错误:warning:entry point symbol _c_int0 undefined出错原因:缺省时CCS设置项目程序为 C 语言编译,因此当我们编译汇编程序时,要对项目作适当配置。发现错误要及时修改,修改方法与实验 2 相似:执行Project→Build Options…打开编译选项;在linker 属性页上单击,把Autoinit Model栏选择为 No Autoinitialization;按“确定”保存对配置的修改。

6. 装载程序准备运行调试

(1)执行 File→Load Program 装载程序,装载完程序后,CCS把指针指向程序区 0000 处。为了执行我们的程序代码,需要修改 DSP 的 PC 值;执行ViewÆCPU RegistersÆCPU Registers 打开寄存器窗口;双击窗口中的 PC 标号,CC 弹出修改对话框供修改寄存器;在对话框中输入”start“,程序将处于我们的程序入口点上。

汇编语言-实验一

汇编语言-实验一

汇编语言实验报告

(实验一)

姓名班级学号

一.实验目的

1.掌握汇编语言程序的上机步骤;

(1)用编辑程序(如EDIT、记事本等)编辑汇编语言源程序(建立.ASM文件)。

(2)用MASM程序产生OBJ文件。

(3)用LIINK程序产生EXE文件。

(4)程序的运行(用DEBUG或在DOS下直接运行)。

2.掌握DEBUG的使用方法。

二.程序说明

1.在数据段DATA中有两个数据X和Y,假设X=1122H,Y=3344H,编程求两个字的和,结果存放到Z单元中。

2.从SOURCE_BUFFER单元开始存放了20个字母A,编程将这个20个字母A 的字符串传送到DEST_BUFFER开始的单元中。

3.从SOURCE_BUFFER单元开始存放了20个字母A,编程将这个20个字母A 的字符串向下移10个单元。

三.设计思想

四.程序代码

五.结果分析并回答:

1.设计的程序包含了几个段

2.你的代码经过编译和连接之后,总共占用多少个字节

3.调用DEBUG进行反汇编,查看程序的第一条指令的地址码是多少?最后一条指令的地址码是多少?

计算机组成原理实验1-汇编语言实验

计算机组成原理实验1-汇编语言实验

微处理器与接口技术

实验指导

实验一监控程序与汇编语言程序设计实验

一、实验要求

1、实验之前认真预习,明确实验的目的和具体实验内容,设计好主要的待实验的程序,做好实验之前的必要准备。

2、想好实验的操作步骤,明确通过实验到底可以学习哪些知识,想一想怎么样有意识地提高教学实验的真正效果。

3、在教学实验过程中,要爱护教学实验设备,认真记录和仔细分析遇到的现象与问题,找出解决问题的办法,有意识地提高自己创新思维能力。

4、实验之后认真写出实验报告,重点在于预习时准备的内容,实验数据,实验过程、遇到的现象和解决问题的办法,自己的收获体会,对改进教学实验安排的建议等。善于总结和发现问题,写好实验报告是培养实际工作能力非常重要的一个环节,应给以足够的重视。

二、实验目的

【1】学习和了解TEC-XP16教学实验系统监控命令的用法;

【2】学习和了解TEC-XP16教学实验系统的指令系统;

【3】学习简单的TEC-XP16教学实验系统汇编程序设计。

三、实验注意事项

(一)实验箱检查

【1】连接电源线和通讯线前TEC-XP16实验系统的电源开关一定要处于断开状态,否则可能会对TEC-XP16实验系统上的芯片和PC机的串口造成损害。

【2】五位控制开关的功能示意图如下:

【3】几种常用的工作方式【开关拨到上方表示为1,拨到下方为0】

(二)软件操作注意事项

【1】用户在选择串口时,选定的是PC机的串口1或串口2,而不是TEC-XP16实验系统上的串口。即选定的是用户实验时通讯线接的PC机的端口;

【2】如果在运行到第五步时没有出现应该出现的界面,用户需要检查是不是打开了两个软件界面,若是,关掉其中一个再试;

汇编语言实验一

汇编语言实验一

实验1

实验学时: 2 实验地点:二综实验日期:2013-10-14

一、实验目的

掌握汇编编程规范,熟悉编程环境。

二、实验内容

1.编程:向内存0:200-0:23F依次传送数据0-63(3FH)。

2. 编程:编写code段代码,用push指令将a段中的word数据逆序存储到b

段中。

三、实验步骤算法及关键代码

1.(1)代码:

assume cs:code

code segment

mov ax,0

mov ds,ax

mov cx,64

mov bx,200h

s:

mov ds:[bx],ax

inc bx

inc ax

loop s

mov ax,4c00H

int 21h

code ends

end

(2)截图:

2、(1)代码:

assume cs:code

a segment

dw 1,2,3,4,5,6,7,8

a ends

b segment

dw 0,0,0,0,0,0,0,0 b ends

code segment

start:

mov ax,a

mov ds,ax

mov bx,0

mov ax,b

mov ss,ax

mov sp,16

mov cx,8 s: push [bx]

add bx,2

loop s

mov ah,4ch

int 21h code ends

end start

(2)截图:

四、实验小结(简单说明实验过程中出现的问题和解决方法)

1、第二个实验时,sp的设置不注意,导致数据没有逆序存放,而自己很难发现问题

解决办法:让同学帮忙查看程序,指出错误

实验一 MASM for Windows 环境下的汇编语言编程环境使用

实验一 MASM for Windows 环境下的汇编语言编程环境使用
MOVCX,COUNT
L1:MOVAL,[SI]
MOV[DI],AL
INCSI
INCDI
DECCX
JNZ L1
EXIT: RET
STARTENDP
CODEENDS
ENDSTART
DHale Waihona Puke Baidubug调试如下
-L
-U
-G
-Dds:0
-R
-E
-U
-T
实验一 MASM for Windows 环境下的汇编语言编程环境使用
源程序如下:
DATASEGMENT
BUF1DB1H,2h,3h,4h,5h,6h,7h,8h,9h,0AH,0BH,0CH,0DH,0EH,0FH
BUF2DB20DUP(?)
COUNTEQU$-BUF1
DATAENDS
STACK1SEGMENTSTACK
DB20DUP(?)
STACK1ENDS
CODESEGMENT
ASSUMEDS:DATA,SS:STACK1,CS:CODE
STARTPROC FAR
PUSHDS
MOVAX,0
PUSHAX
MOVAX,DATA
MOVDS,AX
MOVES,AX
MOVSI,OFFSETBUF1
MOVDI,OFFSETBUF2

实验一汇编语言上机及Debug调试

实验一汇编语言上机及Debug调试

实验一汇编语言程序上机过程以及调试(1)

一、预习内容

1.工具软件MASM、LINK的使用

2.常用DEBUG命令的使用: G,D,R,T,U,Q

3.完整程序设计方法的格式。

二、目的要求

1.掌握常用工具软件MASM、LINK的使用

2.掌握常用DEBUG命令: G,D,R,T,U,Q 能灵活使用这些命令调试程序

3.掌握完整程序设计方法的格式,能正确书写数据段,代码段等。

三、实验内容

比较两个字符串string1和string2所含的字符是否相同,如果相同则显示’Match'否则显示’No match’.请读程序,并将程序补充完整。

DSEG SEGMENT

string1 db 'Move the cursor backward.'

string2 db 'Move the cursor backward.'

mess1 db 'Match.',13,10,'$'

mess2 db 'No match.',13,10,'$'

DSEG ENDS

CSEG SEGMENT

assume cs:CSEG, ds:DSEG, es:DSEG,

MAIN PROC FAR

start: mov ax, dseg

mov ds, ax

mov es, ax

lea si ,string1

cld

repz cmpsb

jz match

lea dx,mess2

jmp short disp

match:

lea dx,mess1

disp: mov ah,09h

int 21h

mov ax, 4c00h

int 21h

MAIN ENDP

CSEG ENDS

汇编语言学习知识程序设计实验

汇编语言学习知识程序设计实验

汇编语⾔学习知识程序设计实验

⽬录

⽬录 (1)

实验⼀利⽤DEBUG熟悉常⽤指令的使⽤ (2)

⼀、实验⽬的 (2)

⼆、⽰例 (2)

三、实验题 (2)

实验⼆汇编程序和连接程序的使⽤ (6)

⼀、实验⽬的。 (6)

⼆、⽰例。 (6)

三、实验题。 (8)

实验三顺序结构程序设计 (11)

⼀、实验⽬的 (11)

⼆、⽰例 (11)

三、实验题 (12)

四、实验报告 (15)

实验四循环结构程序设计 (16)

⼀、实验⽬的 (16)

⼆、⽰例 (16)

三、实验题 (18)

实验五分⽀结构程序设计 (21)

⼀、实验⽬的 (21)

⼆、⽰例 (21)

三、实验题 (22)

实验六⼦程序设计 (29)

⼀、实验⽬的 (29)

⼆、实验题 (29)

实验⼀利⽤DEBUG熟悉常⽤指令的使⽤

⼀、实验⽬的

熟悉指令系统,掌握常⽤指令的⽤法;通过实验加深对各种寻址⽅式的理解;能熟练使⽤DEBUG中的命令对指令进⾏反汇编,观察并了解机器代码。

⼆、⽰例

请分别⽤⼀条汇编语⾔指令完成如下功能:(过程略)。

1.⽤寄存器BX和SI的基址变址寻址⽅式把存储器的⼀个字节与AL寄存器的内容相加,并把结果送到AL中。

ADD AL,[BX][SI]

2.⽤位移量为0520H的直接寻址⽅式把存储器中的⼀个字与3412H相加,并把结果送回该存储单元。

ADD WORF PTR [0520H],3412H

三、实验题

1.调试、验证下列指令的结果,已知(DS)=2000H,(BX)=0100H,(SI)=0002H,(BP)=0200H,(SS)=2300H,(20100)=12H,(20101)=34H,(20102)=56H,(20103)=78H,(21200)=2AH,(21201)=4CH,

汇编语言实验报告

汇编语言实验报告

实验一汇编程序的汇编及运行

1.实验目的和要求

1、熟悉汇编程序的汇编、连接、执行过程

2、生成LST文件,查看LST文件

3、生成OBJ文件,修改语法错误

4、生成EXE文件

5、执行

2.实验环境

IBM—PC机及其兼容机

实验的软件环境是:

操作系统:DOS 2.0以上;调试程序:;文本编程程序:EDIT.EXE、WPS.EXE;宏汇编程序:MASM.EXE(或ASM .EXE);连接装配程序:LINK .EXE;交叉引用程序:CREF.EXE(可有可无)。

3.实验内容及实验数据记录

1、将数据段输入,取名1.txt,保存在MASM文件夹下。生成LST文件,(不必连接、运行)用EDIT查看1.LST文件。试回答:DA1,DA2的偏移量分别是多少?COUNT的值为多少?

DATA SEGMENT

ORG 20H

NUM1=8

NUM2=NUM1+10H

DA1 DB ‘IBM PC’

DA2 DB 0AH, 0DH

COUNT EQU $-DA1

DATA ENDS

END

2、输入有错误的文件,修改错误语句。(MASM没有出现错误即可。不必连

接、运行。)

DATA SEGMENT

VAR1 DB 0, 25, ODH, 300

VAR2 DB 12H, A4H, 6BH

VAR3 DB ’ABCDEF’

VAR4 DW 1234H, 5678H

VAR5 DW 10H DUP(?)

DATA ENDS

CODE SEGMENT

ASSUME CS: CODE, DE: DATA BEING MOV AX, DATA

MOV DS, AX

计算机组成原理与汇编语言实验一 debug调试环境实验

计算机组成原理与汇编语言实验一  debug调试环境实验

实验一 debug调试环境实验

姓名:学号:序号:分数:

1.使用a命令在地址2000:10开始位置输入下面的汇编指令,给出各条指令的保存地址和目标代码;

2.将下面的指令输入到地址2000:10开始的内存中,使用w命令以文件名保存输入的指令,并在

计算机中直接执行程序,给出程序的输出;

mov dl,41

mov ah,02

int 21

mov dl,42

int 21

mov dl,43

int 21

int 20

思考:采用上面的思路,做一个com程序,程序执行后在计算机屏幕上输出自己的名字或者学号实验步骤:

3.用命令u查看8086/8088 cpu在开机后执行的第一条指令

实验步骤:开机时,初始化cs=ffff,ip=0000

4.使用有关debug命令,将2000:10起8个内存地址单元初始化为数据AA,将2000:20

起8个内存单元初始化为数据‘abcdefgh’

实验步骤:

5.区分调试命令t,p,g的不同。

汇编语言实验报告

汇编语言实验报告

汇编语⾔实验报告

汇编语⾔实验报告

专业:

班级:

姓名:

学号:

2011年12⽉14⽇

⽬录

实验1 利⽤DEBUG调试汇编语⾔程序段 (3)

实验2 初级程序的编写与调试实验(⼀) (11)

实验3 初级程序的编写与调试实验(⼆) (20)

实验4 汇编语⾔程序上机过程 (28)

实验5 分⽀程序实验 (33)

实验6 循环程序实验 (40)

实验7 ⼦程序实验 (45)

实验1 利⽤DEBUG调试汇编语⾔程序段⼀.实验⽬的1.熟悉DEBUG有关命令的使⽤⽅法;

2.利⽤DEBUG掌握有关指令的功能;

3.利⽤DEBUG运⾏简单的程序段。

⼆.实验内容

1.进⼊和退出DEBUG程序;

1)开始—运⾏,输⼊cmd,点确定进⼊命令窗⼝

2)在命令窗⼝中输⼊dubug进⼊debug程序

3)进⼊debug窗⼝后,输⼊q命令退出debug

2.学会DEBUG中的

1)D命令(显⽰内存数据D 段地址:偏移地址)

例1:-D100 ;显⽰DS段, 0100开始的128个节内容

说明: 指定要显⽰其内容的内存区域的起始和结束地址,或起始地址和长度。

① D SEGREG[起始地址] [L 长度]

;显⽰SEGREG段中(缺省内默认为DS), 以[起始地址] (缺省内为当前的偏移地址),开始的[L 长度] (缺省内默认为128)个字节的内容.

② D SEGREG[段地址:偏移地址]

;显⽰SEGREG段中(缺省内默认为DS), [段地址:偏移地址] 开始的[L 长度] (缺省内默认为128)个字节内容

-D ;默认段寄存器为DS,当前偏移地址(刚进⼊debug程序偏移地址为0100H)

实验一 ADS集成开发环境及汇编语言指令实验

实验一 ADS集成开发环境及汇编语言指令实验

实验一 ADS集成开发环境及汇编语言指令实验

1.1 实验目的

1.熟悉ADS1.2 软件开发环境;

2.理解ARM920T 汇编指令的用法,并能编写简单的汇编程序;

3.理解常用的ARM伪指令和伪操作的功能和使用。

1.2 实验内容

1.使用LDR 指令读取0x30003100 上的数据,将数据加1,若结果小于10,则使用STR 指令把结果写回原地址,若结果大于等于10,则把0 写回原地址。

2.使用ADS1.2 软件仿真,单步,全速运行程序,设置断点,打开寄存器窗口(ProcessorRegisters)监视R0,R1 的值,打开存储器观察窗口(Memory)监视0x30003100 上的值。

3.使用数据定义伪操作定义两个内存数据块,通过汇编指令将源数据块的内容复制到目的数据块,并对程序运行时相关寄存器、内存中的数据进行跟踪。

1.3 预备知识

1.ARM 指令系统内容;

2.ADS1.2 工程编辑和AXD 调试的内容。

1.4 实验设备

硬件:PC 机一台。

软件:Windows XP系统,ADS1.2 集成开发环境。

1.5 实验步骤

1.启动ADS1.2,使用ARM Executable Image 工程模板建立一个工程arm1.mcp。

2.建立汇编源文件arm1.s,编写实验程序(见1.6实验参考程序1),然后添加到工程中。

3.设置工程连接地址RO Base 为0x30000000,RW Base 为0x30003000,设置options 中的调试口地址Image entry point 为0x30000000。

汇编语言实验一

汇编语言实验一

用CD命令进入Program Files子目录,并查看子目录中的文件。

进入DEBUG,用D命令查看数据段中0100H—0200H单元的内容。

用U命令查看代码段中0100H开始的程序。

用R命令查看并修改IP寄存器的值为0.

用E命令修改数据段5号,6号单元的内容为12、34。

两个操作数相减运算,结果放在数据段的16号单元

一、实验结果分析(运行过程中出现的问题、如何解决的;实验过程中的经验及教训)

1.记不住关键的程序命令,每次再想执行的之后得看书之后输入。

2.各种的寻址的方式记不住,太多,很容易记错,用错。

3.在进行减法运算时,保存的位置出错过。

4.一些快捷键不会利用。

二、实验拓展

立即寻址方式

汇编语言实验一

汇编语言实验一

汇编语言实验一

上机一 EDIT、MASM、LINK、DEBUG程序的使用

一、实验目的

1.熟悉使用DOS命令:DIR,CD等命令的使用;

2.熟悉建立、汇编、连接、调试和运行汇编语言程序的过程。

3. 掌握调试程序DEBUG中的U、G、Q命令的使用。

二、实验内容

1.四个要使用到的程序文件

用DIR和CD命令找出汇编程序设计工作环境中的4个必要的程序文件:(这4个文件在c:\cai\masm文件夹中)

, MASM.EXE, LINK.EXE,

2.编辑、汇编、连接和执行程序(操作时要注意路径)。程序如下:

3. Debug命令的使用

用U、G、Q命令调试程序。

三、实验过程

总的来说,整个过程分为以下几步:

1、输入程序(使用到,也可以使用记事本) → 3、编辑程序(使用到MASM.EXE) → 3、连接程序(使用到LINK.EXE,) →4、运行程序(使用到)

1.用EDIT编辑源程序(也可以用记事本输入,存盘后再改名),启动EDIT编辑器有两种方法:

●在DOS状态下:C:\>EDIT

●在windows状态下:开始---运行(运行对话框中输入“EDIT”)

①屏幕显示EDIT的编辑界面;

②选择File菜单→New命令(激活菜单项用”Alt”键),输入源程序清单。

③待程序输入完后,存盘,文件名为:D:\EX1.ASM。(注意:扩展名一定为ASM)

余下操作在Dos下进行:

启动Dos窗口方法:”开始”---“程序”---“附件”---“命令提示符”如图所示:

2. 利用宏汇编程序MASM 对EX1.ASM 进行汇编。(MASM.EXE, LINK.EXE, 都放在c:\cai\Masm 文件夹

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

淮阴工学院

汇编语言程序设计实验报告

选题名称:实验一调试工具的使用方法训练

系(院):计算机工程学院

专业:计算机科学与技术

班级: 1101 姓名:康志杰学号: 1101301132

指导教师:王福德

学年学期:2013 学年第 2 学期

2013 年 4 月15 日

实验一利用DEBUG调试程序调试程序段

<1 > 实验目的:

(1)熟悉DEBUG有关命令的使用方法

(2)利用DEBUG掌握有关指令的功能

(3)利用DEBUG运行简单的程序段

<2 > 实验内容

(1)进入和退出DEBUG程序

1)开始——运行,输入cmd,点确定或回车键进入DOS环境

2)在命令窗口输入debug进入debug程序

3)进入debug程序后,按q退出

(2) 学会DEBUG中的D命令、E命令、R命令、T命令、A命令、G命令等的使用。对于U命

令、N命令、W命令等,也应试一下。

1 显示存储器单元命令D

格式:D [<地址范围>]

功能:显示指定地址范围内的存储区数据,包括十六进制数据形式及其对应的ASCII码字符显示。

2 写存储器单元命令E

格式:E <地址> [<字符串>]

功能:逐个修改指定单元内容或将字节串写入指定的一组连续单元。

例:将字节串′computer′写入以100H为起始地址的存储器区。

-E 100′computer′

3显示和修改某个指定寄存器内容,

格式为:-R 寄存器名

例如打入:-R AX

系统将响应如下:

AX 0000

表示AX当前内容为0000,此时若不对其作修改,可按ENTER键,否则,打入修改后内容,如:

-R BX

BX 0000

:1000

则BX内容由0000改为1000

4显示和修改标志位状态,

命令格式为:-RF

系统将给出响应,如

NV UP EI PL NZ NA PO NC-

这时若不作修改可按ENTER键,否则在“-”号之后键入修改值,键入顺序任意。如

NV UP EI PL NZ NA PO NC-ZR CY

5汇编命令A

格式:A [<起始地址>]

功能:逐行汇编程序,主要用于小段程序的汇编。

说明:使用A命令,如果未给出起始地址,汇编后的程序代码从指令指针寄存器IP 的值指定的地址开始存放。按两次回车键可退出汇编命令A的状态。

例:

-A 100

13E7:0100 MOV AX,100

13E7:0103 INT 11

13E7:0105 INT 12

13E7:0107

6 反汇编命令U

格式:U [<地址范围>]

功能:在指定地址范围内,将二进制机器指令逐条翻译为汇编语言符号指令。

例:将前一个例子的程序进行反汇编

-

-U 100 104

13E7:0100 B80001 MOV AX,0100

13E7:0103 CD11 INT 11

-

-U100 105

13E7:0100 B80001 MOV AX,0100

13E7:0103 CD11 INT 11

13E7:0105 CD12 INT 12

-

7 退出DEBUG命令Q,

该命令格式为:Q

它退出DEBUG程序,返回DOS,但该命令本身并不把在内存中的文件存盘,如需存盘,应在执行Q命令前先执行写命令W。

(3) 利用DEBUG,验证乘法、除法、加法、减法、带进位加、带借位减、堆栈操作指令、串

操作指令的功能。

1.乘法

2.除法

3.加法

4.减法

5.带进位加

6.带借位减

7.堆栈操作指令

8.串操作指令

<3 > 启动DEBUG后,要装入某一个.EXE文件,应通过什么方法实现?

答:按以下方法装入

<4 > 实验体会:

通过本次实验对汇编语言的运行环境debug有了初步的了解,并对一些汇编语言的基本指令及其功能有了初步的认识。会编写一些基本的汇编指令对汇编的加减乘除等运算进行验证性的实验,如何在debug环境下装入一个.exe的文件。

相关文档
最新文档