当前位置:首页 > 汇编语言程序设计实验指导书
《汇编语言》实验指导书 第2部分 汇编语言实验
实验1 Debug基本命令使用
一.实验目的
1、掌握DEBUG 的基本命令及其功能,学会用DEBUG调试程序; 2、掌握8086 CPU指令的功能,体会寄存器的作用;
3、了解数据在内存中的存放方式和内存操作数的几种寻址方式; 4、了解简单指令的执行过程。
二.实验内容
1、设堆栈指针SP=2000H,AX=3000H,BX=5000H;请编一程序段将AX和BX的内容进行交换。要求:(1)用3种方法实现;(2)用DEBUG调试程序进行汇编与调试
2、分别执行以下指令,比较立即寻址和直接寻址间的区别,寄存器寻址,寄存器间接寻址和相对寄存器寻址间的区别。
(1) Mov ax,1000H
Mov ax,[1000h] (2) mov ax,bx mov ax,[bx] mov ax,10[bx]
要求:在执行以上指令时,记下当时DS数据段的值,写出每条指令执行后AX的值。 3、已知有如下程序段: MOV AX,1234H MOV CL,4
在以上程序段的基础上,分别执行以下指令,观察AX的值的变化 ROL AX,CL ROR AX,CL SHL AX,CL SHR AX,CL SAR AX,CL RCL AX,CL RCR AX,CL
试在DEBUG下用A命令汇编以上程序段,用T命令跟踪,观察以下内容: (1)每条指令执行完后,AX寄存器的内容是什么?
(2)每条指令执行完后,进位、符号和零标志的值是什么?
4、教材的例2-16、例2-18、例2-20、例2-29、例2-31、例2-35。 三.实验要求
1、预习DEBUG常用命令,预习所有指令。
2、实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,以及对程序结果的分析等。
3、本实验只要求在DEBUG调试程序状态下进行,包括汇编程序、调试程序和执行程序。 四.实验报告书写要求
- 8
《汇编语言》实验指导书 1、写出在DEBUG状态下编写、运行程序的过程以及调试所中遇到的问题是如何解决的,并对调
试过程中的问题进行分析,对执行结果进行分析。
2、写出源程序段清单和执行结果。 3、写出本次上机的体会或收获。
实验2 汇编语言程序的上机过程
一.实验目的
1、学习汇编语言源程序的编辑、汇编、连接、调试过程 2、熟悉和掌握汇编常用指令的功能和用法 二.实验内容
1、执行下列指令后,AX寄存器中的内容是什么?
TABLE DW 10H,20H,30H,40H,50H ENTRY DW 3 ┇
LEA BX,TABLE ADD BX,ENTRY MOV AX,[BX]
┇
要求:(1)将以上程序段补充成完整的汇编程序,并调试运行。
(2)将以上程序段中的TABLE DW 10H,20H,30H,40H,50H修改为TABLE DW 10,20,30,40,50,再补充成完整的汇编程序并调试运行,观察并记录AX的内容。
2、观察下列语句所分配的存储空间及初始化的数据值。要求填充完整的程序段,并调试运行.
(1)BR DB‘BYTE’,12,-12H,3 DUP(0,?,2 DUP(1))
(2)WR DW 5 DUP(0,1),?,-5,’BY’
要求:观察变量的数据分配,并以简易图的形式表示当前的变量存储情况。 3、教材P61的习题14、16、17、33(2、3)31、34,实验指导书P51的3-③。
三.实验准备与要求
1、预习第3章中的所有指令,熟悉顺序程序设计方法; 2、预习DEBUG调试程序的使用方法;
3、根据实验内容要求,编写好实验源程序。
4、实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,以及对程序结果的分析等。
四.实验报告要求
1、列出源程序清单。
2、分析实验中所遇到的一些问题,分析错误原因。 3、说明本实验中是如何使用DEBUG进行调试的。 4、写出本次上机的体会或收获。
-
9
《汇编语言》实验指导书 实验3 顺序程序设计
一、实验目的
1、熟悉运算类指令对标志位的状态影响以及标志位状态的表示方法; 2、熟悉逻辑类指令的用法; 3、掌握最基本的程序设计方法。
二、实验内容
1、求内存单元中两个连续字节的和。要求使用三种不同的方法,下面已给出一种方法,请自编出另外两种程序实现。
(1)用定义字的形式; (2)用直接寻址方法实现; DATA SEGMENT A DB 5CH,85H B DB 43H,0ABH DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA START:
MOV AX,DATA mOV DS,AX MOV SI,0 MOV AL,A[SI] ADD AL,B[SI] MOV A[SI],AL INC SI
MOV AL,A[SI] ADC AL,B[SI] MOV A[SI],AL MOV AH,4CH INT 21H CODE ENDS
END START
2、试编写一程序计算以下表达式的值。
w=(v-(x*y+z-540))/x 式中x、y、z、v均为有符号字数据。
设x、y、z、v的值存放在字变量X、Y、Z、V中,结果存放在双字变量W之中。 三、实验准备与要求
请运行以上源程序,并在DEBUG状态下观察程序运行结果。 四.实验报告要求
1、程序说明。说明程序的功能、结构。
2、调试说明。包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。
3、写出源程序清单和执行结果,必要时画出流程图。
- 10
《汇编语言》实验指导书 实验4 分支程序设计
一、实验目的
1、熟悉运算类指令对标志位的状态影响以及标志位状态的表示方法; 2、掌握条件转移、无条件转移指令的使用方法; 3、掌握分支程序设计、编写、调试和运行的方法。
二、实验内容
1、已知两个整数变量A和B,试编写完成下述操作的程序:
(1)若两个数中有一个是奇数,则将奇数存入A中,偶数存入B中。 (2)若两个数均为奇数,则两数分别加1,并存回原变量。 (3)若两个数均为偶数,则两变量不变
2、编写程序计算|X-Y|的值,其中:X和Y为存放于X单元和Y单元的16位操作数,要求将结果存入result单元中。部分程序如下,要求填充完整的程序段,:
┇
MOV AX,X
SUB AX,Y JNS NONNEG NEG AX
NONNEG: MOV RESULT,AX
┇
3、编写程序,实现将小写字母字符串转换成大写字母字符串。
设:字符串的首地址为STRING,字符串的长度在LEN单元内。数据段定义如下:
DATA SEGMENT
STRING DB ‘I am a student!’ LEN equ 15 DATA ENDS 4、编一汇编语言程序,统计BX中1的个数。
三、实验准备与要求
1、预习条件转移指令和无条件转移指令; 2、熟悉分支程序设计方法;
3、实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,以及对程序结果的分析等。
四.实验报告要求
1、程序说明。说明程序的功能、结构。
2、调试说明。包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。
3、写出源程序清单和执行结果,画出流程图。
实验5 循环程序设计
一、实验目的
1、掌握循环指令LOOP、LOOPZ、LOOPNZ的使用方法;
2、掌握实现单重、多重循环程序设计、编写、调试和运行的方法。 3、掌握串指令的应用。
- 11
共分享92篇相关文档