汇编语言上机实验指导书

汇编语言上机实验指导书
汇编语言上机实验指导书

《汇编语言程序设计课程》实验教学指导书

课程编号:XXXXXXX

撰写人:刘玮

审核人:XXX

重庆师范大学涉外商贸学院

数学与计算机学院

二○一三年11月17日

前言

一、实验总体目标

本课程是计算机专业的专业课。汇编语言是面向机器的程序设计语言,直接使用机器指令编程,要求学生具有较多的计算机硬件知识。

通过本课程的学习,学生应该了解计算机的基本结构,INTEL微处理器的发展和计算机语言及汇编语言的特点。应具有使用宏汇编编写程序的能力,对顺序、分支、循环三大程序结构在汇编语言的实现方法有较好的掌握,对模块化设计技术有进一步的了解。对于可能在将来从事计算机控制工作的学生打下必要的基础。学生还可以对新型主流CPU如Pentium CPU的工作模式及扩充指令有所了解。以跟踪微型计算机新技术的发展,为后续的专业技术课程打下坚实基础。

二、适用专业年级

专业:计算机科学与技术,网络工程

年级:二年级

三、先修课程

(数字逻辑,计算机组成原理,C语言程序设计,微型计算机与接口技术)

四、实验项目及课时分配

五、实验总体要求

汇编语言是一门实践性很强的课程,只用通过大量的上机实践过程,才能更好的掌握汇编语言程序设计技术。为保证教学效果与质量,以下几点是学好这门课程的必要的要求和注意事项。

1、汇编语言程序设计的实验课主要是供学生测试、调试汇编语言程序。

2、必须充分重视实验课。实验课是汇编语言程序设计课程的重要组成部分,是理论联系实践的重要环节。通过它,能够培养学生独立分析和解决问题的能力。

3、在每个实验之前,学生必须准备好被测程序的有关设计资料(包括程序的基本设计说明、程序流程图、汇编语言程序清单等)、测试数据、测试驱动程序、测试需要的“桩模块”等。

4、必须做好实验前的一切准备工作,包括程序测试∕调试的详细过程安排等。在实验中应严格按照预先确定的实验过程进行实验,决不允许在实验过程中准备实验程序、测试数据与测试∕调试过程计划。凡未做好实验准备者,一律禁止进入实验室。

5、应当系统记录实验过程中的现象(通过情况、排除问题的调试过程等),以便写出充实的实验报告。

六、本课程的重点、难点及教学方法建议

重点:远过程性质的汇编语言子程序的设计;良好程序设计习惯的培养;程序测试-调试能力的培养。

难点:开发可被高级语言程序调用的汇编语言子程序;测试数据的设计;调试器命令的熟练使用;汇编语言程序设计能力的提高。

建议:学生最好是将在高级语言程序设计课程中已完成的、程序效率受制于硬件资源利用率的综合性程序改用汇编语言程序实现;在实验前系统地“走查”被测程序,并使之成为习惯。

七、主要参考书目

蔡启先,王智文,黄晓璐,汇编语言程序设计实验指导,北京:清华大学出版社,2008年3月

冯康,范理,王利丽,汇编语言,武汉:武汉大学出版社,2007年5月

实验项目一

周数: 2 学分:2

实验项目:汇编程序与调试器的使用计划学时:2 一、实验作用和目的

熟悉DOS操作系统环境下汇编程序的编辑、编译、链接及运行过程,掌握汇编源程序的基本结构,编译运行的基本环境,熟练使用edit.exe或者qe.exe,masm.exe以及link.exe。

二、实验内容与步骤

1、源程序的编辑:编写一个名字为ABCD.ASM的源程序,该程序的功能是在计算机屏幕上显示一个字符串“HELLO!”

2、源程序的汇编:C:>MASM ABCD.ASM

3、目标文件的链接:LINK ABCD.OBJ

4、可执行文件的调试。

三、实验环境条件

个人计算机:40台

Win32操作系统

MS DOS

MASM 6.0及其以上版本的汇编程序及其配套的80X86汇编程序开发环境。

四、实验报告要求

1、总结用EDIT或者QE编辑源程序的方法。

2、说明源程序的连接、汇编过程

3、分析运行结果。

4、按要求写出完整的实验报告(必须列出程序清单)。

五、实验注意事项

预习80X86微处理的结构

预习程序发展的三个阶段

预习汇编源程序的基本框架

六、思考题

编译后的OBJ文件和连接后的EXE文件的本质区别是什么?

实验项目二

周数: 2 学分:2

实验项目:顺序程序设计实验计划学时:2

一、实验作用和目的

掌握顺序程序设计方法。

熟悉数据传送及算术和逻辑运算指令的用法。

学会在PC上建立,汇编,连接,调试和运行80X86汇编程序的过程。

二、实验内容与步骤

1、复习教材中顺序程序结构设计的相关内容

2、源程序的编辑:编写一程序计算以下表达式的值。

W=(v-(x*y+z-540))/x

式中x,y,z,v均为有符号字数据

3、汇编,链接并调试运行上述程序

三、实验环境条件

个人计算机:40台

Win32操作系统

MS DOS

MASM 6.0及其以上版本的汇编程序及其配套的80X86汇编程序开发环境。

四、实验报告要求

1、列出源程序(加以注释),说明程序的基本结构,并给出程序流程图。

2、说明程序中各部分所用的算法以及上机调试中可能遇到的问题。

3、分析运行结果。

4、按要求写出完整的实验报告。

五、实验注意事项

注意:win7禁止第三方软件直接写屏,运行结果只能通过debug 来查看,具体方法查看书中DEBUG调试相关内容。

六、思考题

数字在内存中的表示方法以及数制之间的转换。

实验项目三

周数: 2 学分:2

实验项目:分支结构程序设计计划学时:2 一、实验作用和目的

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

掌握分支结构程序的设计,调试方法

熟悉汇编语言的汇编,连接及调试方法

二、实验内容与步骤

1、预习教材中分支程序设计的相关内容

2、源程序的编辑:已知在内存中有一个字节单元NUM,存有带符号数据,要求计算出它的绝对值后,放入RESULT单元中。

3、画出流程图,编写程序

4、汇编,连接和调试运行程序

三、实验环境条件

个人计算机:40台

Win32操作系统

MS DOS

MASM 6.0及其以上版本的汇编程序及其配套的80X86汇编程序开发环境。

四、实验报告要求

1、画出流程图,并用EDIT或者QE编辑源程序(加以注释)。

2、说明程序中各部分所用的算法以及上机调试中可能遇到的问题。

3、说明源程序的连接、汇编过程

4、分析运行结果。

五、实验注意事项

注意单分支和多分支的结构特征

注意无条件跳转和条件跳转的区别

六、思考题

一个多分支可以用多个单分支来设计实现吗?

实验项目四

周数: 2 学分:2

实验项目:循环结构程序设计计划学时:2 一、实验作用和目的

加深对循环结构的理解。

掌握循环程序的设计方法。

进一步熟悉汇编程序的汇编、连接及调试技术

二、实验内容与步骤

1、预习循环程序设计的相关内容

2、画出流程图,用EDIT或者QE编辑扩展名为.ASM的源程序源程序:在以BUF为首址的字存储区中存放有N个有符号数,采用“冒泡法”将它们按从大到小的顺序排列在BUF存储区中。

3、编译、连接生成可执行程序

4、运行程序

三、实验环境条件

个人计算机:40台

Win32操作系统

MS DOS

MASM 6.0及其以上版本的汇编程序及其配套的80X86汇编程序开发环境。

四、实验报告要求

1、列出源程序(加以注释)。

2、说明程序中各部分所用的算法以及上机调试中可能遇到的问题。

3、说明源程序的连接、汇编过程

4、分析运行结果。

五、实验注意事项

循环计数器的存放

循环的入口和出口

六、思考题

循环嵌套的次数与循环复杂性的关系?

实验项目五

周数: 2 学分:2

实验项目:子程序设计计划学时:2 一、实验作用和目的

学习子程序的定义和调用方法,加深对子程序的了解。

学习子程序设计、编写及调试方法。

二、实验内容与步骤

1、预习教材中与子程序设计相关的内容。

2、利用EDIT或者QE编写扩展名为.ASM的源程序:已知3个8位无符号数X、Y、Z,分别存放于BUF、BUF+1和BUF+2存储单元里,计算2X+5Y+8Z,结果送RES和RES+1单元。利用段内调用实现对子程序的调用访问。

3、编译和连接源程序

4、运行程序

三、实验环境条件

个人计算机:40台

Win32操作系统

MS DOS

MASM 6.0及其以上版本的汇编程序及其配套的80X86汇编程序开发环境。

四、实验报告要求

1、列出源程序(加以注释)。

2、说明程序中各部分所用的算法以及上机调试中可能遇到的问题。

3、说明源程序的连接、汇编过程

4、分析运行结果。

五、实验注意事项

子程序类型与其调用关系

子程序调用中的参数传递

六、思考题

模块化程序设计思想与子程序设计

实验项目六

周数: 2 学分:2

实验项目:字符处理程序设计计划学时:2 一、实验作用和目的

学习字符处理的相关指令,加深对这些指令的理解和运用

掌握字符处理程序设计、及调试方法。

掌握在程序设计中合理利用字符串的尾符。

二、实验内容与步骤(4号宋体加粗)

1、预习教材中与字符处理设计相关的内容。

2、利用EDIT或者QE编写扩展名为.ASM的源程序:

3、编译和连接源程序

4、运行程序

三、实验环境条件(4号宋体加粗)

个人计算机:40台

Win32操作系统

MS DOS

MASM 6.0及其以上版本的汇编程序及其配套的80X86汇编程序开发环境。

四、实验报告要求

1、列出源程序(加以注释)。

2、说明程序中各部分所用的算法以及上机调试中可能遇到的问题。

3、说明源程序的连接、汇编过程

4、分析运行结果。

五、实验注意事项

字符在存储器里的保存办法

六、思考题

字符的运算以及实现方法

实验项目七

周数: 2 学分:2

实验项目:输入输出程序设计计划学时:2 一、实验作用和目的

学习输入、输出的相关指令,加深对输入,输出相关指令的理解。

掌握输入、输出程序设计编写及调试的方法。

加深对输入、输出端口的理解。

二、实验内容与步骤

1、预习教材中与输入输出设计相关的内容。

2、利用EDIT或者QE编写扩展名为.ASM的源程序,实现读取COMS 实时钟,并把读到的时、分和秒保存到相应的变量中。

3、汇编和连接源程序

4、执行生成的可执行

三、实验环境条件(4号宋体加粗)

个人计算机:40台

Win32操作系统

MS DOS

MASM 6.0及其以上版本的汇编程序及其配套的80X86汇编程序开发环境。

四、实验报告要求

1、列出源程序(加以注释)。

2、说明程序中各部分所用的算法以及上机调试中可能遇到的问题。

3、说明源程序的连接、汇编过程

4、分析运行结果。

五、实验注意事项

CMOS时钟端口的设置以及测试

六、思考题

端口输入输出的原理。

实验项目八

周数: 2 学分:2

实验项目:中断程序设计计划学时:2

一、实验作用和目的

学习中断的原理和设置中断向量,加深对中断处理程序的理解。

掌握中断的分类、中断向量的设置。

会编程实现简单中断。

二、实验内容与步骤

1、预习教材中有关中断程序设计的内容。

2、利用QE编译源程序:编写一个中断处理程序,在主程序运行的过程中,每隔10s响铃一次,同时在屏幕上显示“The bell is ring!”

3、编译和连接源程序,生成可执行程序

4、执行可执行程序。

三、实验环境条件

个人计算机:40台

Win32操作系统

MS DOS

MASM 6.0及其以上版本的汇编程序及其配套的80X86汇编程序开发环境。

四、实验报告要求

1、列出源程序(加以注释)。

2、说明程序中各部分所用的算法以及上机调试中可能遇到的问题。

3、说明源程序的连接、汇编过程

4、分析运行结果。

五、实验注意事项

调用一些常见中断处理程序(例如DOS 功能调用-键盘输入和屏幕显示以及常见的BIOS显屏操作)

六、思考题

中断程序的调用和普通子程序的调用有什么区别?

执笔人:刘玮 2012年11月

审定人:××××××年×月

教学单位负责人:××××××年×月第二部分各实验程序参考清单

实验一:汇编语言基本操作实验

Data segment

S1 db ‘hello!’,‘$’

Data ends

Stack segment para stack

Db 64 dup(?)

Stack ends

Code segment

Assume cs: code, ds:data Start: mov ax, data

Mov ds, ax

Mov ah, 09h

Mov dx,offset s1

Int 21h

Mov ah, 4ch

Int 21h

Code ends

Ends start

实验二:顺序程序设计

Data segment

X dw 200

Y dw 100

Z dw 3000

V dw 10000

W dw 2 dup(?)

Data ends

Code segment

assume ds: data, cs: code start:

mov ds, ax mov ax, x

imul y

mov cx, ax mov bx, dx mov ax, z

cwd

add cx, ax adc bx, dx sub cx, 540 sbb bx, 0

mov ax, v

cwd

sub ax, cx sbb dx, bx idiv x

mov w, ax mov w+2, dx mov ah, 4ch int 21h code ends

实验三:分支程序设计

Data segment

Num db ―25

Result db ?

Data ends

Code segment

Assume ds:data,cs:code Start:

Mov ax,data

Mov ds,ax

Mov al,num

Cmp al,0h

Jge next

Neg al

Next:

Mov result,al

Mov ah,4ch

Int 21h

Code ends

End start

实验四:循环程序设计

.model small

.stack

.data

Buf dw 13,-4,6,9,8,2,11,-8,-6,-20,30 N=($-buf)/2

.code

Start: mov ax,@data

Mov ds,ax

Mov cx,n

Dec cx

Loop1: mov dx,cx

Mov bx,0

Loop2: mov ax,buf(bx)

Cmp ax,buf(bx+2)

Jge next

Xchg ax,buf(bx+2)

Mov buf(bx),ax

Next: add bx,2

Loop loop2

Mov cx,dx

Loop loop1

Mov ax,4c00h

Int 21h

End start

实验五:子程序设计

Data segment

Buf db 71h,0a4h,9bh

Res db 2 dup(?)

Data ends

Stack segment para stack‘stack’

Stack db 100 dup(?)

Top equ length stapn

Stack ends

Code segment

Assume cs:code,ds:data,ss:stack Start: mov ax,data

Mov ds,ax

Mov ax, stack

Mov ss,ax

Mov ax,top

Mov sp,ax

Mov ax,0

Mov word ptr res,ax

Lea bx,buf

Mov al,2

Call mull

Mov al,5

Call mull

Mov al,8

Call mull

Mov ah,4ch

Int 21h

Mull proc

Mul byte ptr[bx]

Add word ptr res,ax

Mov ax,0

Inc bx

Mull endp

Code ends

End start

实验六:字符处理程序设计

Data segment

String db ‘abcefghil50xyz’,0dh Result db ?

Cr equ 0dh

Data ends

Code segment

Assume cs:code,ds:data,es:data Start: push ds

汇编语言程序上机过程

汇编语言程序上机过程 实验目的: 1、掌握常用工具软件 PE,MASM和LINK的使用。 2、伪指令: SEGMENT,ENDS,ASSUME,END,OFFSET,DUP。 3、利用的 1号功能实现键盘输入的方法。 4、了解.EXE文件和.COM文件的区别及用INT 21H 4C号功能返回系统的方法。 程序: datasegment messagedb'This is a sample program of keyboard and disply' db0dh,0ah,'Please strike the key!',0dh,0ah,'$' dataends stacksegmentpara stack 'stack' db50 dup(?) stackends codesegment assumecs:code,ds:data,ss:stack start:movax,data movds,ax movdx,offset message movah,9 int21h again:movah,1 int21h cmpal,1bh jeexit cmpal,61h jcnd cmpal,7ah jand andal,11011111b nd:movdl,al movah,2 int21h jmpagain

exit:movah,4ch int21h codeends endstart 实验步骤: 1、用用文字编辑工具(记事本或EDIT)将源程序输入,其扩展名为.ASM。 2、用MASM对源文件进行汇编,产生.OBJ文件和.LST文件。若汇编时提示有错,用文字编辑工具修改源程序后重新汇编,直至通过。 3、用TYPE命令显示1产生的.LST文件。 4、用LINK将.OBJ文件连接成可执行的.EXE文件。 5、在DOS状态下运行LINK产生的。EXE文件。即在屏幕上显示标题并提示你按键。每按一键在屏幕上显示二个相同的字符,但小写字母被改成大写。按ESC键可返回DOS。若未出现预期结果,用DEBUG检查程序。 实验报告: 1、汇编,连接及调试时产生的错误,其原因及解决办法。 2、思考: 1)若在源程序中把INT 21H的'H'省去,会产生什么现象? 2)把 INT 21H 4CH号功能改为 INT 20H,行不行?

计算机组成原理实验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】如果在运行到第五步时没有出现应该出现的界面,用户需要检查是不是打开了两个软件界面,若是,关掉其中一个再试; 【3】有时若TEC-XP16实验系统不通讯,也可以重新启动软件或是重新启动PC再试; 【4】在打开该应用软件时,其它的同样会用到该串口的应用软件要先关掉。

汇编实验指导书

汇编语言实验指导书 授课教师李娜 授课对象 05计科、网络、06计科 授课时间 07-08学年第一学期 授课地点一、二、四机房 课程简介 一.实验课程的性质和目的 汇编语言程序设计是计算机专业的一门专业基础课,是学好计算机底层系统构成的课程。汇编语言程序设计是一门实用性很强的课程。汇编语言程序程序设计实验教案是教案的重要环节,是理论教案的重要补充,只有通过实验,学生才能熟练掌握汇编语言程序设计的基本方法,并对其有更深刻的认识。本门实验课是单独设课。 二.实验教案的方法和手段 为了提高实验教案效果,实验严把预习、实验、实验报告3个环节。实验在软件实验室机房完成,单独设组,个人完成实验,每项实验以小班为单位,实验考勤采用电子签到制度。 预习:安排学生学习实验内容,了解实验的过程和操作规程,并布置思考题和预习报告,让学生有目的地去查阅与实验相关的资料。 实验:实验开始前由指导教师讲解实验要点,提出注意事项。实验过程中,主题是学生,教师是辅助作用,要求学生独立完成实验。 实验报告:实验结束后,强调学生及时填写实验记录表,对实验过程进行详细记录,对实验结果细致地分析、讨论,完成相关思考题作业。 三.课程学时 本实验课实验总学时为32学时。 四.实验成绩的考核方法 汇编语言实验成绩按百分制核定。实验过程占50%,实验报告占50%。五.大纲的适用范围 本大纲适用计算机科学与技术专业和计算机应用与维护专业学生。 六.主要设备与器材配备

七.实验项目汇总表 实验一熟悉汇编语言编程环境 一.实验目的 <1)熟悉汇编语言编程环境; <2)掌握基本汇编程序。。 二.实验仪器设备 计算机 三.实验重点、难点 熟悉汇编语言编程环境; DEBUG常用命令的正确使用。-T/-U/-Q/-G 四.实验题目 比较两个字符串string1和string2所含的字符是否相同,若相同则显示‘metch’,否则,显示’no match’。 五.实验内容、步骤 1.调用EDIT建立ASM源文件。 2.用汇编程序MASM对源文件汇编产生目标文件OBJ。 <如有问题,可用DEBUG调试。) 3.用LINK联接程序产生执行文件EXE。 4.执行程序。 附:源程序 ;PROGRAM TITLE GOES HERE—COMPARE STRING ;******************************************************** data segment string1 db 'move the cursor backward.' String2 db 'move the cursor backward.'

汇编语言上机操作

汇编语言上机操作 一、建立子文件夹 如:D:\hb\masm 二、复制相关文件 把masm.exe、link.exe、ml.exe三个文件复制到上述文件夹中。 三、进入DOS方式 开始/运行/cmd 当前提示符可能是: C:\documents and settings\administrator> 四、常用DOS操作命令 1、改变当前盘 输入d: 并回车,屏幕显示: D:\> 2、改变当前目录 1)进入下一级目录 D:\>cd hb 回车后,屏幕显示: D:\hb>cd masm 回车后,屏幕显示: E:\hb\masm> 问题:可以一次进入下面二级或多级目录吗? 2)返回上一级目录 D:\hb\masm>cd.. 回车后,屏幕显示: D:\hb\>cd.. 回车后,屏幕显示: D:\> 问题:可以直接返回根目录吗? D:\hb\masm>cd\ 回车后,屏幕显示: D:\> 3、显示当前目录容 D:\>dir /p 分页显示当前目录容 问题:如何显示d:\text中的容? D:\>dir d:\text↙ 4、DOS方式下如何运行程序? DOS方式下的可执行文件(即程序文件)扩展名为.exe或.,运行时只需要在系统提示符下输入文件主名即可。例如,有一个文件名为test.exe,存入在D:\hb\masm 中,运行时,可以这样做: D:\hb\masm>test↙ 五、汇编语言上机过程 1、编辑源程序 运行:edit 回车后,进入EDIT环境,输入完后存盘(file/save)并退出(file/exit)。

2、汇编 D:\hb\masm>masm add5.asm↙ 生成目标程序文件add5.obj。(如果有语法错误,会提示错误所在行号和错误类型)3、连接 D:\hb\masm>link add5↙ 生成可执行文件add5.exe。 六、DEBUG程序调用及汇编语言程序调试方法 调试程序DEBUG是DOS支持的又一种系统软件,主要用于汇编语言程序的调试。汇编和连接过程只能查出源程序的语法错误,不能查出功能上的错误和程序不完善的地方。DEBUG程序为用户提供多种命令,大致有:显示和修改寄存器和存贮单元的容;执行程序中任意一段或一条指令;汇编单条源语句和反汇编机器码指令;查找字符代码;端口的输入和输出;文件装入存和写入磁盘等。用户利用这些命令可以查出任何程序功能上的错误。下面说明DEBUG程序的启动方法和主要命令意义。 (一)DEBUG程序的启动 DEBUG程序有两种启动方法。DEBUG程序是在DOS盘上的一个独立的可执行程序(扩展名为.COM),所以,DEBUG程序的第一种启动方法就是把它看作和一般的可执行程序一样,只要打入DEBUG和回车键,就可以把它装入存。但是这样启动只把DEBUG 程序本身装入存并进入等待DEBUG命令状态,还没有把要调试的程序装入存。第二种启动DEBUG的程序的方法是一次相继装入DEBUG程序和要调试的程序。打入的命令格式如下: DEBUG[d:][path]filename[.ext][parml][parm2] 其中的Filename是要调试程序的文件名,可选项[d:][path]和[.ext]分别是要调试程序的所在盘符、路径和扩展名。可选项[parml]和[parm2]是DEBUG程序为要调试程序准备的参数(一般不用)。 例进入DEBUG程序并装入要调试程序。其操作如下: D:\hb\masm>DEBUG add5.exe (进入DEBUG,并装配add5.exe) 此时屏幕上出现一个短线,这表示可以使用DEBUG命令了。 如果启动DEBUG时没有指定要调试的文件名,则需要用N命令指定要调试的文件,再用L命令将其装入存。操作如下: D:\hb\masm>debug↙ - n add5.exe↙ - l↙ (二)DEBUG命令 在说明每个命令之前,先说明一些共同信息: ■DEBUG命令都是以一个英文字母开头,后面跟一个或多个参数。 ■命令字母和参数可用大写或小写或混合形式。 ■命令字母和参数中,相邻两个十六进制之间必须用逗号或空格分开.其它各部分之间有无空格或逗号都可以。 ■执行任何命令期间都可用Ctrl+Break键方法结束命令的执行。

汇编语言程序设计实验指导书

汇编语言实验报告题目:子程序设计 班级:rbw111 姓名:吴德鹏 学号:201107092416 完成日期:2013.12.22

概述: 《汇编语言程序设计》实验指导书是非计算机、非电类的其他专业:包括纺织、机械、热能等专业的《汇编语言程序设计》课程配套使用的实验指导。在理论课的教学中着重介绍微机系统的组成及工作原理,针对INTEL 8088/8086系列介绍相应的指令系统和汇编语言程序设计,介绍了接口的一般概念和CPU与外设交换信息的常用方式的软硬件设计思想。实验课测重培养学生的汇编语言设计能力及一些简单接口程序设计的方法,训练学生汇编语言程序调试的能力。通过实验,使学生加深对课堂教学内容的理解,培养学生综合使用微型机的初步能力。其中实验一、实验二是后续实验的基础,通过该实验,学生应能了解汇编语言源程序的一般格式,熟悉汇编语言程序的上机过程和调试程序的基本方法,重点放在DEBUG调试程序的命令使用方法上。也可以将实验一、实验二合并为一个实验,按照*实验一的要求进行;实验三、四、五进一步培养学生的各种结构的程序设计能力;实验六主要是简单接口的综合应用,为学生建立一个微机应用系统的概念,使学生通过具体的实例对相关的接口有感性认识,提高学生的实际动手能力和独立解决问题的能力。教师可以根据专业学时的多少和学生的具体情况来开设实验。 一、实验目的: 1.进一步熟悉分支、循环程序设计的方法及用DEBUG调式程序的方法。 2.熟练掌握子程序的参数传递的方式、子程序的嵌套、递归调用及其设计方法和技巧。 3、培养学生创新精神和独立运用所学基本知识和技能分析问题和解决问题的能力。 二、实验属性: 显示学生名次表:编制一程序,要求接收从键盘输入的一个班的学生成绩,并存放于50字的grade数组中,其中grade+i保存学号为i+1的学生的成绩。然后根据grade中的学生成绩,把学生名次填入50字的rank数组中,其中rank+i的内容是学号为i+1学生的名次。再按学号顺序把名次从终端上显示出来。 说明:程序设计中应体现出模块化程序设计思想和方法。 三、实验仪器设备: 提供实验条件。 Pc机并在debug的环境下进行调试

汇编语言上机实验十2015李中

实验十输入/输出与中断实验 一、实验目的 1.掌握输入/输出与中断指令的使用方法; 2.掌握中断向量表的结构及使用方法; 3.掌握INT 指令的使用方法; 4.掌握BIOS 中断功能调用的使用方法; 5.掌握DOS 功能调用的使用方法。 二、实验要求 1.了解INT 指令与CALL 指令的不同点; 2.会用DEBUG 观察中断向量表; 3.会用DEBUG 的T 和P 命令执行INT 指令; 4.会用INT 10H、INT 16H 编制程序; 5.会用DOS 功能调用的02H、09H 功能编制程序 三、实验题目 1. 编制程序。利用IBM PC BIOS 功能调用的INT 16H 功能,编制一个从键盘上接收若干个字符串的程序。 2.编制程序。利用IBM PC BIOS 功能调用的INT 10H 功能,编制一个在屏幕上指定位置显示若干个字符串的程序。 四、实验思路 1调用INT16号功能实现输入字符,并且用int10号功能实现显示字符,并且将字符保存到data开始的内存单元中,如果不是ctrl+c的话循环输入输出,是的话结束程序.

2用INT10中03功能读出当前光标位置,然后保存当前的光标位置,只有用INT10中的02号功能设置要显示字符的位置,调用INT10的0E号功能循环显示字符,遇到结尾符号0的时候结束输出,然后恢复光标位置,调用INT10的1号功能恢复光标类型,用INT10的2号功能设置光标位置,使光标位置回到起点,结束程序. PUSH DX;保存当前光标位置 PUSH CX;保存光标类型 MOV DX,1020H;设置光标位置 MOV AH,02H INT 10H;设置光标位置 五、实验程序 1 DSEG SEGMENT;数据段开始 DATA DB 80 DUP (0);存储数据的单元 DSEG ENDS ;数据段结束 CSEG SEGMENT;代码段开始 ASSUME CS:CSEG,DS:DSEG;段假设 START: MOV AX,DSEG MOV DS,AX;段地址初始化

汇编语言上机指导

实验一DEBUG常用命令及8086指令使用 实验目的: 通过实验掌握下列知识: 1、8086指令: MOV,ADD,ADC,SUB,SBB,DAA,XCHG 2、DEBUG命令: A,D,E,F,H,R,T,U。 3、ASCII码及用16进制数表示二进制码的方法。 4、8086寄存器: AX,BX,CX,DX,F,IP。 内容及步骤: 一、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 AX,BX MOV AH,35 MOV AL,48

MOV DX,75AB XCHG AX,DX 2)用U命令检查键入的程序并记录,特别注意左边的机器码。 3)用T命令逐条运行这些指令,每运行一行检查并记录有关寄存器及IP的变化情况。并注意标志位有无变化。 2、加减法指令: 1)用A命令在内存100H处键入下列内容: MOV AH,34 MOV AL,22 ADD AL,AH SUB AL,78 MOV CX,1284 MOV DX,5678 ADD CX,DX SUB CX,AX SUB CX,CX 2)用U命令检查键入的程序及对应的机器码。 3)用T命令逐条运行这些指令,检查并记录有关寄存器及ZF情况。 3、带进位加减法: 1)用A命令在内存200H处键入下列内容,并用U命令检查: MOV AH,12 MOV AL,84 MOV CH,56 MOV CL,78 ADD AL,CL ADC AH,CH MOV DH,A7 MOV DL,58 SUB DL,7F

汇编语言程序设计-实验指导书

汇编语言程序设计 实验指导书 编写:郑利平 合肥工业大学计算机与信息学院 2008-9-1

汇编语言程序设计实验指导书 《汇编语言程序设计》实验是学习本课程的每个考生必须要通过的一个重要的实践环节,根据“汇编语言程序设计自学考试大纲”规定:上机实验单独作为本课程的实验考核成绩。《汇编语言程序设计》是一门实践性很强的课程,只有多上机操作,对汇编语言源程序进行编辑、汇编、连接、调试和运行全过程的训练,才能加深对本课程基本知识的理解,才能熟练地掌握程序设计的方法与技巧,才能学好本课程。 本实验指导书是完全按照《汇编语言程序设计自学考试大纲》中“实验大纲”的要求编写的,为便于考生较好完成上机操作和实验报告,特此作出如下说明和要求: (1)做好上机实验的准备工作:应考者对每个实验需要进行预习,了解相关内容和具体要求,熟悉上机操作步骤,学会相关系统软件的使用,掌握各种操作调试命令。 (2)编写源程序:按照实验题目的要求,应考者要事先独立完成汇编语言源程序的编写工作,并对源程序进行认真的静态检查,减少错误的发生。 (3)完成实验报告:做完上机实验,应考者要严格按照实验报告的格式要求写出实验报告。实验报告的内容为:实验名称、实验的目的、实验的内容和要求、实验步骤、实验结果并附上源程序清单和程序流程图。

实验一DEBUG的使用 (一)实验目的 1、熟悉DEBUG程序中的命令,学会在DEBUG下调试运行汇编语言源程序。 2、掌握8086/8088的寻址方式及多字节数据的处理方法。 (二)实验设备 硬件环境:IBM-PC及其兼容机 软件环境:操作系统DOS3.0版本以上 调试程序https://www.360docs.net/doc/f515243651.html, (三)实验内容和要求 实验内容: 1、利用DEBUG程序中的“E”命令,将两个多字节数“12345678H”和“FEDCBA98H”分别送入起始地址为DS:0200H和DS:0204H两个单元中。 2、分别用直接寻址方式和寄存器间接寻址方式编写程序段,实现将DS:0200H单元和DS:0204H单元中的数据相加,并将运算结果存放在DS:0208H 单元中。 实验要求: 本次实验的内容均在DEBUG下完成,实现数据的装入、修改、显示;汇编语言程序段的编辑、汇编和反汇编;程序的运行和结果检查。 (四)预习要求 1、复习DOS启动方式和DOS有关命令的使用; 2、阅读本书后的附录,熟悉掌握DEBUG调试程序中的A、D、E、G、Q、R、T、U命令的书写格式及功能; 3、复习寻址方式和相关的数据传送指令及算术运算指令。 (五)实验步骤 1、启动DOS操作系统 2、运行https://www.360docs.net/doc/f515243651.html,程序(若当前盘为C) C:>DEBUG↙ – ;(“–”为DEBUG提示符,仅当屏幕出现该提示符后,才可输入DEBUG 命令) 3、用“A”命令编辑和汇编源程序 –A ↙ 186E:0100 MOV AX,[0200]↙ 186E:0103 MOV BX,[0202]↙ 186E:0107 ADD AX,[0204]↙ 186E:010B ADC BX,[0206]↙ 186E:010F MOV [0208],AX↙ 186E:0112 MOV [020A],BX↙

实验一熟悉汇编语言上机环境.pdf

实验一熟悉汇编语言上机环境 一、实验目的 熟悉在微机上建立、汇编、连接、调试和运行汇编语言程序的全过程。 二、实验要求 1.仔细阅读本实验教程的第一章和第二章; 2.学会使用EDIT建立汇编语言源程序文件; 3.学会使用MASM将汇编语言源程序编译为目标程序的两种方法; 4.学会使用LINK将目标程序连接为可执行程序的两种方法; 5.学会使用DEBUG中的U、D、G命令。 三、实验举例 【例3.1】 编辑、汇编、连接、执行下列程序,观察实验结果。 【程序功能】该程序的功能是利用BIOS功能调用,从键盘上接收若干个字符,并将它们的ASCII码与键盘扫描码以十六进制的形式显示出来,当按下+键时,停止程序的执行。 【步骤一】 用EDIT编辑源程序,并以EXAM1.ASM为文件名存入磁盘。 程序清单如下: SSEG SEGMENT STACK STK DB 80H DUP(?) SSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,SS:SSEG HTOA PROC NEAR ;该子程序的功能是将AL内容转换为ASCII码 AND AL,0FH CMP AL,10 JC HTOA1 ADD AL,07 HTOA1: ADD AL,30H RET HTOA ENDP BHTOA PROC NEAR ;该子程序的功能是将AL内容转换为ASCII码 PUSH CX MOV CH,AL MOV CL,04 SHR AL,CL CALL HTOA MOV AH,AL MOV AL,CH CALL HTOA POP CX RET BHTOA ENDP DISASC PROCN EAR ;该子程序的功能是在光标处显示AL中的字符 PUSH AX

实验3-汇编语言程序上机过程

实验3 汇编语言程序上机过程 3.1 实验目的 (1)掌握常用工具软件EDIT,MASM,和LINK的使用。 (2)伪指令:SEGMENT ,ENDS,ASSUME,END, OFFSET,DUP. (3)利用INT 21H的1号功能实现键盘输入的方法。 (4)了解.EXE和.COM文件的区别及用INT 21H 4C号功能返回系统的方法。 3.2 实验类型 验证型实验 3.3 实验内容 data segment message DB 'THIS IS A SAMPLE PROGRAM OF KEY AND DISPLAY' DB 0DH, 0AH, 'PLEASE STRIKE THE KEY!', 0DH, 0AH,'$' data ends stack segment PARA STACK'STACK' DB 50 DUP(?) stack ends code segment assume CS:COE, DS:DATA, SS:STACK start: mov ax, data mov ds, ax mov dx, OFFSET MESSAGE mov ah, 9 INT 21h ; add your code here AGAIN: MOV AH,1 INT 21H CMP AL,61H JE ND CMP AL,61H JC ND CMP AL,74H JA ND AND AL,11011111B ND: MOV DL,AL MOV AH,2 INT 21H JMP AGAIN EXIT: MOV AH,4CH INT 21H CODE ENDS END START

汇编语言上机实验指导书(不含源代码)

汇编语言上机实验指导书 一、概述 上机实验总学时为14学时,其中综合性实验为2学时。实验共有6项暂定为7次,每次2学时。 1.实验辅导的主要内容 实验辅导的内容包括每个实验的实验目的;实验内容;对实验的算法及实验方法的必要说明;实验准备;实验步骤;实验报告要求;实验程序及参考框图。开始的实验介绍较细,后面的实验简要介绍。 2.实验的软硬件要求 关于汇编语言程序设计的硬件要求不高,有IBM-PC/XT即可,但应有彩色显示器以便进行图形实验。软件方面应有MASM.EXE5.0版(包括LINK.EXE),与MS-DOS版本配套的DEBUG程序和EDIT.EXE编辑软件(其它编辑软件也可以)。 3.加强实践能力的培养 实验目的不光是为了验证书本理论,更重要的是对实践能力的培养。其中包括: 实际调试程序的能力,例如修改程序参数的能力,查看结果的能力,设置断点调试运行的能力等; 开发汇编语言应用程序的能力,例如应用有关汇编软件的能力,进行系统调用和BIOS功能调用的能力,进行模块程序设计的能力等。 对某一问题用不同的程序实现的能力,例如我们为每个实验提供了参考程序(或程序段),目的是让每个实验者参照样板程序将实验成功地实现,在掌握其方法后,自己改变程序或自己编制程序加以实现。 实验一汇编语言运行环境及方法、简单程序设计(2学时、验证性) 1.实验目的: (1) 熟悉汇编语言运行环境和方法 (2)了解如何使用汇编语言编制程序 (3) 熟悉DEBUG有关命令的使用方法 (4) 利用DEBUG掌握有关指令的功能 (5) 利用DEBUG运行简单的程序段 2.实验内容 (1)学会输入、编辑汇编语言程序 (2)学会对汇编语言程序进行汇编、连接和运行 (3)进入和退出DEBUG程序 (4)学会DEBUG中的D命令、E命令、R命令、T命令、A命令、G命令等的使用。对于U命令、N命令、W命令等,也应试一下。 3.实验准备 (1)仔细阅读有关汇编语言环境的内容,事先准备好使用的例子。 (2)准备好源程序清单、设计好调试步骤、测试方法、对运行结果的分析。 (3) 编写一个程序:比较2个字符串所含的字符是否相同。若相同则显示’Match.’,否则显示’No match!’; (1)仔细阅读有关DEBUG命令的内容,对有关命令,都要事先准备好使用的例子。 4.实验步骤 (1)在DOS提示符下,进入MASM目录。 (2)在MASM目录下启动EDIT编辑程序,输入源程序,并对其进行汇编、连接和运行。 ①调用edit输入、编辑源程序并保存在指定的目录中;例:edit abc.asm ②用汇编程序masm对源程序汇编产生目标文件obj。例:masm abc 不断修改错误,直至汇编通过为止。 ③用连接程序link产生执行文件exe.例:link abc

余敦辉《汇编语言》实验指导书实验1-实验3

《汇编语言》实验指导书

目录 实验一Debug命令的使用 (3) 实验二基本汇编指令的使用 (9) 实验三汇编语言程序的调试与运行 (13) 实验四系统功能调用程序的调试与运行………………错误!未定义书签。 实验五分支程序设计……………………………………错误!未定义书签。 实验六循环程序设计……………………………………错误!未定义书签。 实验七子程序设计………………………………………错误!未定义书签。 实验八高级汇编语言程序设计…………………………错误!未定义书签。 实验九I/O程序设计……………………………………错误!未定义书签。 实验十中断程序设计……………………………………错误!未定义书签。 实验十一综合程序设计 (38)

实验一Debug命令的使用 一、知识点 1、DEBUG简介 DEBUG.EXE是DOS提供的用于调试可执行程序的一个工具软件。在汇编语言程序调试中很常用。 DEBUG的提示符是“-”,所有DEBUG调试命令军在此提示符下输入。 DEBUG命令都是一个字母,后跟一个或多个参数,也可使用默认参数。 DEBUG命令的使用注意问题: (1)字母不分大小写 (2)只使用十六进制数,但没有带后缀字母“H” (3)命令如果不符合DEBUG的规则,则将以“error”提示,并以“^”指示出错位置。 (4)每个命令只有按下回车键后才有效,可以用Ctrl+Break终止命令的执行。 2、Debug的调入和退出 以WIN7环境为例,点击“开始/运行…”,在“运行”对话框中输入命令:cmd,然后点击“确定”,进入DOS命令行状态: C:\Documents and Settings\lfy> 然后输入命令: >Debug 进入Debug调试状态,出现Debug命令提示府“-”,在此提示符下可运行所需要的Debug 命令了。 退出Debug的命令:Q 3、Debug常用命令 (1)汇编命令A,格式为: - A [地址] 功能:从指定地址开始允许输入汇编指令,并将该指令汇编成机器指令代码从指定地址开始存放。若不指定地址,则系统从默认的地址开始存放。按回车键退出汇编状态 应用:用于调试一条指令或几条指令组成的一个程序段。

汇编语言上机实验汇总

汇编语言程序设计的实验环境及实验步骤 知识提要: 1、汇编语言源程序编写好以后, (1) 编辑源程序(生成 .ASM (2) 汇编源程序(.ASM → .OBJ (3) 连接目标程序(.OBJ → .EXE (4) 调试可执行程序(使用调试程序Debug 调试生成的.EXE 文件) (5) 运行程序输出结果。 2、 Windows 环境下的汇编语言集成编程环境的使用 实验一 汇编语言上机实验(一) 一、实验要求和目的 1、掌握汇编语言程序设计的基本方法和技能; 2、熟练掌握使用全屏幕编辑程序EDIT 编辑汇编语言源程序; 3、熟练掌握宏汇编程序MASM 的使用; 4、熟练掌握连接程序LINK 的使用。 二、软硬件环境 1、硬件环境:微机CPU 486以上,500MB 以上硬盘,32M 以上内存; 2、软件环境:装有MASM 、DEBUG 、LINK 等应用程序。 三、实验内容与步骤 1、实验内容 编写程序,判断一个年份是否是闰年。 2、实验步骤 汇编语言程序设计上机过程如图1.1所示。 图1.1 汇编语言程序上机过程 (一)用编辑程序EDIT 建立汇编语言源程序文件(ASM 文件)

建议源程序存放的目录名为MASM中,MASM子目录在D盘的根目录下。 可以在DOS模式下用编辑程序EDIT.EXE建立汇编语言源程序文件ABC.ASM,注意文件名的扩展名必须是.ASM。也可以在Windows 2000或者在Windows XP环境下鼠标单击“开始”→“运行”,在“运行”中输入“CMD”进入DOS模式,运行EDIT软件,例如:C:\documents and settings\administrator>cd\ *进入C盘根目录 C:\>d: *进入D盘 D:\>md masm *在D盘创建MASM文件夹D:\>cd masm *进入MASM文件夹 D:\masm>edit run.asm *建立run源文件 进入EDIT的程序编辑画面时,编写程序,判断一个年份是否是闰年的汇编语言源程序,输入汇编语言源程序如下: DATA SEGMENT INFON DB 0DH,0AH,'Please input a year: $' Y DB 0DH,0AH,'This is a leap year! $' N DB 0DH,0AH,'This is not a leap year! $' W DW 0 BUF DB 8 DB ? DB 8 DUP(?) DATA ENDS STACK SEGMENT 'stack' DB 200 DUP(0) STACK ENDS CODE SEGMENT ASSUME DS:DATA,SS:STACK,CS:CODE START: MOV AX,DATA MOV DS,AX LEA DX,INFON MOV AH,9 INT 21H LEA DX,BUF MOV AH,10 INT 21H MOV CL, [BUF+1] LEA DI,BUF+2 CALL DATACATE CALL IFYEARS JC A1 LEA DX,N MOV AH,9 INT 21H JMP EXIT A1: LEA DX,Y MOV AH,9 INT 21H EXIT: MOV AH,4CH INT 21H DATACATE PROC NEAR

汇编语言上机实验

汇编语言程序设计的实验环境及实验步骤 知识提要: 1、汇编语言源程序编写好以后,必须经过下列几个步骤才能在机器上运行: (1) 编辑源程序(生成.ASM文件) (2) 汇编源程序(.ASM → .OBJ) (3) 连接目标程序(.OBJ → .EXE ) (4) 调试可执行程序(使用调试程序Debug调试生成的.EXE文件) (5) 运行程序输出结果。 2、Windows环境下的汇编语言集成编程环境的使用 实验一汇编语言上机实验(一) 一、实验要求和目的 1、掌握汇编语言程序设计的基本方法和技能; 2、熟练掌握使用全屏幕编辑程序EDIT编辑汇编语言源程序; 3、熟练掌握宏汇编程序MASM的使用; 4、熟练掌握连接程序LINK的使用。 二、软硬件环境 1、硬件环境:微机CPU 486以上,500MB以上硬盘,32M以上内存; 2、软件环境:装有MASM、DEBUG、LINK等应用程序。 三、实验内容与步骤 1、实验内容 编写程序,判断一个年份是否是闰年。 2、实验步骤 汇编语言程序设计上机过程如图1.1所示。 图1.1 汇编语言程序上机过程 (一)用编辑程序EDIT建立汇编语言源程序文件(ASM文件)

建议源程序存放的目录名为MASM中,MASM子目录在D盘的根目录下。 可以在DOS模式下用编辑程序EDIT.EXE建立汇编语言源程序文件ABC.ASM,注意文件名的扩展名必须是.ASM。也可以在Windows 2000或者在Windows XP环境下鼠标单击“开始”→“运行”,在“运行”中输入“CMD”进入DOS模式,运行EDIT软件,例如:C:\documents and settings\administrator>cd\ *进入C盘根目录 C:\>d: *进入D盘 D:\>md masm *在D盘创建MASM文件夹D:\>cd masm *进入MASM文件夹 D:\masm>edit run.asm *建立run源文件 进入EDIT的程序编辑画面时,编写程序,判断一个年份是否是闰年的汇编语言源程序,输入汇编语言源程序如下: DATA SEGMENT INFON DB 0DH,0AH,'Please input a year: $' Y DB 0DH,0AH,'This is a leap year! $' N DB 0DH,0AH,'This is not a leap year! $' W DW 0 BUF DB 8 DB ? DB 8 DUP(?) DATA ENDS STACK SEGMENT 'stack' DB 200 DUP(0) STACK ENDS CODE SEGMENT ASSUME DS:DATA,SS:STACK,CS:CODE START: MOV AX,DATA MOV DS,AX LEA DX,INFON MOV AH,9 INT 21H LEA DX,BUF MOV AH,10 INT 21H MOV CL, [BUF+1] LEA DI,BUF+2 CALL DATACATE CALL IFYEARS JC A1 LEA DX,N MOV AH,9 INT 21H JMP EXIT A1: LEA DX,Y MOV AH,9 INT 21H EXIT: MOV AH,4CH INT 21H DATACATE PROC NEAR

实验指导书参考2

汇编语言程序设计实验指导书

汇编语言程序设计实验指导书 《汇编语言程序设计》实验是学习本课程的每个考生必须要通过的一个重要的实践环节,根据“汇编语言程序设计自学考试大纲”规定:上机实验单独作为本课程的实验考核成绩。《汇编语言程序设计》是一门实践性很强的课程,只有多上机操作,对汇编语言源程序进行编辑、汇编、连接、调试和运行全过程的训练,才能加深对本课程基本知识的理解,才能熟练地掌握程序设计的方法与技巧,才能学好本课程。 本实验指导书是完全按照《汇编语言程序设计自学考试大纲》中“实验大纲”的要求编写的,为便于考生较好完成上机操作和实验报告,特此作出如下说明和要求: (1)做好上机实验的准备工作:应考者对每个实验需要进行预习,了解相关内容和具体要求,熟悉上机操作步骤,学会相关系统软件的使用,掌握各种操作调试命令。 (2)编写源程序:按照实验题目的要求,应考者要事先独立完成汇编语言源程序的编写工作,并对源程序进行认真的静态检查,减少错误的发生。 (3)完成实验报告:做完上机实验,应考者要严格按照实验报告的格式要求写出实验报告。实验报告的内容为:实验名称、实验的目的、实验的内容和要求、实验步骤、实验结果并附上源程序清单和程序流程图。

实验一DEBUG的使用 (一)实验目的 1、熟悉DEBUG程序中的命令,学会在DEBUG下调试运行汇编语言源程序。 2、掌握8086/8088的寻址方式及多字节数据的处理方法。 (二)实验设备 硬件环境:IBM-PC及其兼容机 软件环境:操作系统DOS3.0版本以上 调试程序https://www.360docs.net/doc/f515243651.html, (三)实验内容和要求 实验内容: 1、利用DEBUG程序中的“E”命令,将两个多字节数“12345678H”和“FEDCBA98H”分别送入起始地址为DS:0200H和DS:0204H两个单元中。 2、分别用直接寻址方式和寄存器间接寻址方式编写程序段,实现将DS:0200H单元和DS:0204H单元中的数据相加,并将运算结果存放在DS:0208H 单元中。 实验要求: 本次实验的内容均在DEBUG下完成,实现数据的装入、修改、显示;汇编语言程序段的编辑、汇编和反汇编;程序的运行和结果检查。 (四)预习要求 1、复习DOS启动方式和DOS有关命令的使用; 2、阅读本书后的附录,熟悉掌握DEBUG调试程序中的A、D、E、G、Q、R、T、U命令的书写格式及功能; 3、复习寻址方式和相关的数据传送指令及算术运算指令。 (五)实验步骤 1、启动DOS操作系统 2、运行https://www.360docs.net/doc/f515243651.html,程序(若当前盘为C) C:>DEBUG↙ – ;(“–”为DEBUG提示符,仅当屏幕出现该提示符后,才可输入DEBUG 命令) 3、用“A”命令编辑和汇编源程序 –A↙ 186E:0100 MOV AX,[0200]↙ 186E:0103 MOV BX,[0202]↙ 186E:0107 ADD AX,[0204]↙ 186E:010B ADC BX,[0206]↙ 186E:010F MOV [0208],AX↙ 186E:0112 MOV [020A],BX↙

汇编语言上机过程

第一步:编写程序 用记事本编写汇编语言程序,保存为.ASM 文件,保存时,保存类型选择“所有文件”。注意,应将汇编语言程序保存在包含MASM.EXE 及LINK.EXE 的目录下(本例中假定在C盘的MASM目录下,即“C:\MASM”)。 第二步:编译 进入DOS命令提示符环境。该环境的访问方法一:windows “开始”->“运行”,输入“cmd”),如下图: 访问方法二:windows “开始”->“程序”->“附件”->“命令提示符”,如下图所示:

进入DOS命令提示符方式: 用CD 命令进入MASM目录,如下图所示: (若个人的MASM目录在D盘下,可如下操作:)

回车后即进入存放有MASM.EXE LINK.EXE EX11.ASM 的目录D:\MASM : 现在开始用汇编程序MASM.EXE 编译汇编语言源程序EX11.ASM: 回车后开始编译:

若编译出现0处错误(如上图椭圆框内),则表示编译通过,正确生成EX11.OBJ文件: 接下来转入第四步。否则,若出现如下类似界面: 表示出现一处错误,该错误在EX11.ASM的第七行,错误为“出现未定义的符号AS”,则转入第三步。 第三步:编辑程序 用 EDIT.EXE 编辑出现错误的程序 EX11.ASM:

回车后,出现如下界面: 找到第7行,并修改相应错误。修改完成后,点击菜单“File”或用“ALT”回车打开“File”菜单,首先选择“Save”保存修改,然后选择“Exit”退出编辑状态: 重复如下编译过程,重新编译修改过的EX11.ASM,直至全部错误修改完成:

汇编语言实验指导书.

汇编语言实验指导书纪平张雷编写 安徽工业大学计算机学院 二00四年三月 目录 实验一DEBUG的启动及其基本命令的使用 (2 实验二内存操作数及寻址方法 (6 实验三汇编语言程序的调试与运行 (8 实验四查表程序设计 (10 实验五系统功能调用 (12 实验六循环程序设计 (13 实验七分支程序设计 (15 实验八子程序设计 (18 实验九综合程序设计 (20 附录实验报告 (21 实验一DEBUG的启动及其基本命令的使用一.实验目的: 掌握DEBUG 的基本命令及其功能 二.实验内容:

DEBUG是专门为汇编语言设计的一种调试工具,它通过步进,设置断点等方式为汇编语言程序员提供了非常有效的调试手段。 1、DEBUG程序的启动 在DOS提示符下,可键入命令: C>DEBUG[d:][path][文件名][ 参数1][参数2] 其中文件名是被调试文件的名称,它须是执行文件(EXE,两个参数是运行被调试文件时所需要的命令参数,在DEBUG程序调入后,出现提示符“-”,此时,可键入所需 的DEBUG命令。 在启动DEBUG时,如果输入了文件名,则DEBUG程序把指定文件装入内存。用户可以通过DEBUG的命令对指定文件进行修改、显示和执行。如果没有文件名,则是以当前内存的内容工作,或者用命名命令和装入命令把需要的文件装入内存,然后再用DEBUG的命令进行修改、显示和执行。 2、DEBUG的主要命令 (1汇编命令A,格式为: -A[地址] 该命令从指定地址开始允许输入汇编语句,把它们汇编成机 器代码相继存放在从指定地址开始的存储器中。 (2反汇编命令U,有两种格式: 1-U[地址] 该命令从指定地址开始,反汇编32个字节,若地址省略,则从上 一个U命令的最后一条指令的下一个单元开始显示32个字节。

相关文档
最新文档