汇编语言实验指导书2.docx

上传人:b****5 文档编号:7632292 上传时间:2023-01-25 格式:DOCX 页数:11 大小:20.62KB
下载 相关 举报
汇编语言实验指导书2.docx_第1页
第1页 / 共11页
汇编语言实验指导书2.docx_第2页
第2页 / 共11页
汇编语言实验指导书2.docx_第3页
第3页 / 共11页
汇编语言实验指导书2.docx_第4页
第4页 / 共11页
汇编语言实验指导书2.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

汇编语言实验指导书2.docx

《汇编语言实验指导书2.docx》由会员分享,可在线阅读,更多相关《汇编语言实验指导书2.docx(11页珍藏版)》请在冰豆网上搜索。

汇编语言实验指导书2.docx

汇编语言实验指导书2

 

《汇编语言》

实验指导书

 

编写人:

谢俊屏贾建军

 

计算机科学系

2006年8月

前言

汇编语言程序设计是计算机科学与技术专业必修的专业基础课程,汇编语言程序设计实验的目的是掌握用汇编语言编程的基本方法,了解底层I/O驱动软件的编程技巧,为后续课程的学习打下扎实的基础。

基本要求是通过实验教学,培养用汇编语言进行编程的思路、方法,养成良好的程序设计习惯。

《汇编语言》实验课是汇编语言课程的重要组成部分,其目的是培养学生分析和解决实际问题的能力,使学生掌握指令级的编程方法,有效地开发计算机的系统资源。

通过实验不仅可以帮助学生深入理解和掌握其基本指令、语句、程序结构及基本算法,而且能锻炼学生独立解决问题的能力,同时学习程序设计的基本方法和技能,熟练掌握用汇编语言设计、编写、调试和运行程序的方法。

教学形式:

本课程实验以上机验证性为主。

要求学生课前预习实验指导书,写出预习报告,指导教师应概述实验的原理、方法及仪器使用等,并作针对性指导,具体实验步骤和结果分析、处理由学生独立完成。

 

目录

实验一熟悉汇编语言程序开发环境3

实验二系统功能调用5

实验三分支程序设计6

实验四循环程序设计7

实验五子程序设计8

实验六综合程序设计9

附录--DEBUG使用手册10

实验一熟悉汇编语言程序开发环境

一、实验学时:

2

二、实验类型:

验证性

三、开出要求:

必修

四.实验目的

1、熟悉在PC机上编辑、汇编、连接、调试和运行汇编语言程序的过程。

2、熟悉汇编过程中一些常见出错信息。

五.实验内容

1、启动EDIT编辑软件,输入下面的汇编源程序(不包括行号),用S+学号后4位+.ASM作为文件名保存到D:

盘上,然后汇编、连接并调试运行。

1datasegment

2out1db'Helloworld$’

3axdb'MynameisDJX$';有错行,将ax改为ax1

4dataens;有错行,将ens改为ends

5

6codesegment

7assumecs:

code;ds:

data

8start:

movax,data

9movds,ax

10leadx,out1

11movah,9

12int21h

13

14movdl,0a35h;有错行,将0a35h改为0ah

15movah,2

16int21h

17movdl,0dh

18mooah,2;有错行,将moo改为mov

19int21h

20

21leadx,ax;有错行,将ax改为ax1

22movah,9

23int21h

24movah,4ch

25int21h

26codeends

27endstart

六、实验条件

DOS运行环境

七.实验报告

1、写出编辑、汇编、连接和运行汇编语言程序的完整实验步骤及运行结果。

2、理解汇编出错信息并写出中文含义。

3.实验体会

八、思考问题

1、上机过程中遇到的问题以及是如何解决的。

九、实验成绩评定办法

根据学生的实验预习、实验纪律、实验动手能力、实验报告结果及编程技巧,进行综合评定,给出A(90)、B(80)、C(70)、D(60)、E(不及格)。

 

实验二系统功能调用

一、实验学时:

2

二、实验类型:

验证性

三、开出要求:

必修

四、实验目的

1、掌握接受键盘数据的方法,并了解将键盘数据显示时,须转为ASCII码的原理。

2、掌握DOS功能调用的编程方法。

五、实验内容

试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。

六、实验条件

DOS运行环境

七、实验步骤

编写汇编语言程序,利用DOS系统功能调用INT21H的1号功能从键盘输入一个字符并利用2号功能在显示器上显示这个字符。

八、实验报告

1、程序的功能、结构,程序流程图。

2、上机实验步骤、实验所遇到的问题及解决的方法,实验体会。

九、实验成绩评定办法

根据学生的实验预习、实验纪律、实验动手能力、实验报告结果及编程技巧,进行综合评定,给出A(90)、B(80)、C(70)、D(60)、E(不及格)。

 

实验三分支程序设计

一、实验学时:

2

二、实验类型:

验证性

三、开出要求:

必修

四、实验目的

1、掌握分支程序的结构。

2、掌握分支程序的设计方法。

五、实验内容

1.试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来,输入的其余字符用“?

”号显示。

2.试编写一个汇编语言程序,要求从键盘输入任意2个1位数,计算其乘积,然后除以10,将其商输出,若输入其它字符,则输出“pleaseinputnumberbetween0and9!

”号。

(选做)。

六、实验条件

DOS运行环境

七、实验报告

1、程序的功能,程序流程图。

2、上机实验步骤、实验所遇到的问题及解决的方法,实验体会。

八、思考问题

1、大小写字母之间的转换和数字与数字字符之间转换的不同点

2、如何同时将大写转小写和将小写转大写。

九、实验成绩评定办法

根据学生的实验预习、实验纪律、实验动手能力、实验报告结果及编程技巧,进行综合评定,给出A(90)、B(80)、C(70)、D(60)、E(不及格)。

 

实验四循环程序设计

一、实验学时:

2

二、实验类型:

验证性

三、开出要求:

必修

四、实验目的

1、掌握循环程序的结构。

2、掌握循环程序的设计方法

五、实验内容

1.试编写一个汇编语言程序,要求依次输出ASCII码0---127对应的128个字符。

2.假设以GRADE为首地址的10个字的数组中存有一组学生成绩:

89,79,20,60,98,81,78,83,93,71,请编一完整程序找出GRADE中第一位学生的成绩名次并输出名次。

(提示:

一个学生的名次等于成绩高于等于该学生的人数加1)。

六、实验条件

DOS运行环境

七、实验报告

1、程序的功能、结构,程序流程图。

2、上机实验步骤、实验所遇到的问题及解决的方法,实验体会。

八、思考问题

1、控制循环程序的方法,划分该程序的四个组成部分

2、如何求出每位学生的成绩名次。

九、实验成绩评定办法

根据学生的实验预习、实验纪律、实验动手能力、实验报告结果及编程技巧,进行综合评定,给出A(90)、B(80)、C(70)、D(60)、E(不及格)。

实验五子程序设计

一、实验学时:

2

二、实验类型:

验证性

三、开出要求:

必修

四、实验目的

1、掌握程序设计方法,合理划分层次

2、掌握子程序的调用与返回的方法

3、了解子程序的嵌套

五、实验内容

以GRADE为首地址的10个字的数组中保存有学生成绩。

建立一个10个字的RNAK数组,根据GRADE中的学生成绩求出每位学生的成绩名次并将学生名次显示在屏幕上。

要求在屏幕上显示名次用子程序实现。

1程序MAIN

功能:

根据GRADE中学生成绩,计算出每位学生名次(可参照循环程序中的程序段)并显示。

2程序BINDEC

功能:

二进制转换十进制,并在屏幕上显示。

3程序DEC_DIV

功能:

BX的内容除以CX的内容,并在屏幕上显示一位商。

由BINDEC子程序调用。

六、实验条件

DOS运行环境

七、实验报告

1、说明所有程序的功能、结构,画出主程序流程图。

2、说明上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。

3、写出程序运行结果。

4、体会和意见。

八、思考问题

1、实现键入一个班的学生成绩,并存放于30字的ERADE数组中的算法,

九、实验成绩评定办法

根据学生的实验预习、实验纪律、实验动手能力、实验报告结果及编程技巧,进行综合评定,给出A(90)、B(80)、C(70)、D(60)、E(不及格)。

 

实验六综合程序设计

一、实验学时:

4

二、实验类型:

综合性

三、开出要求:

必修

四、实验目的

1、掌握分支、循环、子程序调用、DOS功能调用等基本的程序结构。

2、掌握综合程序的编制及调试方法。

五、实验内容

设有十个学生成绩分别是76,69,84,90,73,88,99,63,100和80分。

试编制一个子程序,统计低于60分,60~69分,70~79分,80~89分,90~99分和100分的人数,并输出显示统计结果。

六、实验条件

DOS运行环境

七、实验步骤

1、编写的程序中,成绩分等部分要求采用分支结构,统计所有成绩则用循环结构完成,显示统计结果采用DOS功能调用。

2、统计学生成绩和显示统计结果两部分程序要求用子程序结构来完成。

八、实验报告

1、说明程序的功能、结构,画出程序框图。

2、说明上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。

3、写出程序执行结果。

4、体会和意见。

九、实验成绩评定办法

根据学生的实验预习、实验纪律、实验动手能力、实验报告结果及编程技巧,进行综合评定,给出A(90)、B(80)、C(70)、D(60)、E(不及格)。

附录--DEBUG使用手册

DEBUG是专门为汇编语言设计的一种调试工具,它通过步进,设置断点等方式为汇编语言程序员提供了非常有效的调试手段。

(一)DEBUG程序的启动

在DOS提示符下,可键入命令:

C>DEBUG[d:

][path][文件名][参数1][参数2]

其中文件名是被调试文件的名称,它须是执行文件(EXE),两个参数是运行被调试文件时所需要的命令参数,在DEBUG程序调入后,出现提示符“-”,此时,可键入所需的DEBUG命令。

在启动DEBUG时,如果输入了文件名,则DEBUG程序把指定文件装入内存。

用户可以通过DEBUG的命令对指定文件进行修改、显示和执行。

如果没有文件名,则是以当前内存的内容工作,或者用命名命令和装入命令把需要的文件装入内存,然后再用DEBUG的命令进行修改、显示和执行。

(二)DEBUG的主要命令

(1)汇编命令A,格式为:

-A[地址]

该命令从指定地址开始允许输入汇编语句,把它们汇编成机器代码相继存放在从指定地址开始的存储器中。

(2)反汇编命令U,有两种格式:

1)-U[地址]

该命令从指定地址开始,反汇编32个字节,若地址省略,则从上一个U命令的最后一条指令的下一个单元开始显示32个字节。

2)-U范围

该命令对指定范围的内存单元进行反汇编,例如:

-U04BA:

01000108或–U04BA:

0100L9

此二命令是等效的。

(3)运行命令G,格式为:

-G[=地址1][地址2[地址3。

]]

其中地址1规定了运行起始地址,后面的若干地址均为断点地址。

(4)追踪命令T,有两种格式:

1)逐条指令追踪:

-T[=地址]

该命令从指定地址起执行一条指令后停下来,显示寄存器内容和状态值。

2)多条指令追踪:

-T[=地址][值]

该命令从指定地址起执行n条命令后停下来,n由[值]确定。

(5)显示内存单元内容的命令D,格式为:

-D[地址]或-D[范围]

(6)修改内存单元内容的命令E,它有两种格式:

1)用给定的内容代替指定范围的单元内容:

-E地址内容表

例如:

-E2000:

0100F3“XYZ”8D

其中F3,“X”“Y”“Z”和8D各占一个字节,用这五个字节代替原内存单元2000:

0100到0104的内容,“X”“Y”“Z”将分别按它们的ASCII码值代入。

2)逐个单元相继地修改:

-E地址

例如:

-E100:

18E4:

010089.78

此命令是将原100号单元的内容89改为78。

78是程序员键入的。

(7)检查和修改寄存器内容的命令R,它有三种方式:

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

-R

R命令显示中标志位状态的含义如下表所示:

标志名

置位

复位

溢出Overflow(是/否)

OV

NV

方向Direction(减量/增量)

DN

UP

中断Interrupt(允许/屏蔽)

EI

DI

符号Sign(负/正)

NG

PL

零Zero(是/否)

ZR

NZ

辅助进位AuxiliaryCarry(是/否)

AC

NA

奇偶Parity(偶/奇)

PE

PO

进位Carry(是/否)

CY

NC

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

-R寄存器名

例如打入:

-RAX

系统将响应如下:

AXFIF4

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

-RBX

BX0369

059F

则BX内容由0369改为059F

3)显示和修改标志位状态,命令格式为:

-RF

系统将给出响应,如

OVDNEINGZRACPECY-

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

OVDNEINGZRACPECY-PONZDINV

(8)命名命令N,格式为:

-N文件名

此命令将文件名格式化在CS:

5CH的文件控制块内,以便使用L或W命令把文件装入内存进行调试或者存盘。

(9)装入命令L,它有两种功能:

1)把磁盘上指定扇区的内容装入到内存指定地址起始的单元中,格式为:

-L地址驱动器扇区号扇区数

2)装入指定文件,格式为:

-L[地址]

此命令装入已在CS:

5CH中格式化的文件控制块所指定的文件。

在用L命令前,BX和CX中应包含所读文件的字节数。

(10)写命令W,有两种格式:

1)把数据写入磁盘的指定扇区:

-W地址驱动器扇区号扇区数

2)把数据写入指定文件中:

-W[地址]

此命令把指定内存区域中的数据写入由CS:

5CH处的FCB所规定的文件中。

在用W命令前,BX和CX中应包含要写入文件的字节数。

(11)退出DEBUG命令Q,该命令格式为

Q

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 设计艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1