《汇编语言程序设计》实验指导书(2016)

合集下载

汇编语言实验指导书(第1组)

汇编语言实验指导书(第1组)

实验一、Debug调试实验指导书一、实验目的1.进一步学习汇编语言基本指令使用方法;2.学习DEBUG调试工具的基本使用方法;掌握debug调试命令a、u、r、d、t、g等3.逐条观察程序指令的执行过程,理解指令的功能,理解程序自动、顺序地执行的概念,实践其过程(重点)。

二、实验题目1.编写、输入一个32位二进制数相加程序,逐条执行指令,观察指令执行情况。

2.使用已经过汇编和连接的小程序(t3-2.exe),将其装入内存,逐条执行指令,观察执行过程和结果。

在实验过程中,使用D命令修改XXX和YYY单元中的数据,再重新计算其结果。

三、编程提示1.启动计算机的WINDOWS操作系统,运行DEBUG程序。

2.方法1:在开始菜单中找到“运行”,输入“cmd”后回车,启动ms-dos command程序,再在该程序内输入“DEBUG”并按回车,即启动DEBUG调试程序。

3.方法2:在开始菜单中找到“运行”,输入“DEBUG”后确定,即启动DEBUG调试程序。

4.开始编程方法1:在debug中输入a命令,并回车。

显示出的地址是当前指令代码所存放的地址。

接着,逐条有序地输入汇编指令,直接回车即可结束程序指令的输入过程。

如需修改程序,则先确定错误指令的地址,再使用“a 地址号”命令修改。

注意,修改前后指令长度如发生改变,会对该指令以后的指令码的存储造成影响,使程序不能正确执行。

(为什么?)方法2:将事先已经准备好的可执行程序(.exe文件)装入存储器,使用如下命令:debug 文件名.exe。

(.exe必须写全,否则找不到程序文件,为什么?)5.程序调试过程(1)使用u命令将程序反汇编,观察其汇编指令的与源程序的对应关系,观察每一条指令的代码、存放地址、指令代码长度等;(重要)(2)使用r命令读出各寄存器中的数值,从CS:IP寄存器中的数值确定程序当前应执行的指令;(结合计算机硬件知识加以理解)(3)察看当前指令的长度、指令代码、指令功能、操作数的寻址方式、所涉及的寄存器和存储器中的数值;(4)使用d命令读出所关注的存储器中的数值,并计算其地址顺序;(5)使用t命令执行单条指令,察看指令执行后相关存储器和存储器中的数值变化情况,察看标志位寄存器的变化情况,判断指令执行后的计算结果是否正确?如遇到条件转移指令时要判断是否转移,转移或不转移时下一条指令的地址是什么?(重要)(6)使用e命令读出、修改存储器中的相关数据,可重新执行相关计算指令,再观察结果。

汇编语言实验指导书 2016

汇编语言实验指导书 2016

汇编语言实验指导书实验环境:1. 硬件:PC微机2. 软件:DOS系统、EDIT.EXE、MASM.EXE、LINK.EXE、DEBUG.EXE注:DOS系统(WINDOWS下的虚拟8086方式)上机注意事项●进入”命令提示符(DOS空间)”有多种方法:1. 通过附件进入:命令提示符↓2.“开始”→“运行”→敲入命令“cmd”;3.键盘 wir + r →敲入命令“cmd”●dos命令窗口大小调整办法:在DOS窗口标题栏上点击右键,选择“属性”,在“布局”标签页中修改“窗口大小”设置。

●常用DOS命令:回根目录命令:cd..↓ cd\↓(一次退到根)转到D盘命令: D:↓看D盘目录命令:D:\>dir↓进入文件夹命令:cd xxx↓●用编辑软件输入完整的汇编语言源文件,在Windows系统下用记事本即可;在DOS 系统下用EDIT软件编辑。

要求编辑完成的文件扩展名一定是.asm实验一DEBUG命令实验一.实验目的:熟悉DEBUG程序和命令,并用它运行基本指令和察看运行结果。

○1怎样调用Debug②如何显示和修改内存单元③如何显示和修改CPU的寄存器④各标志位的状态是如何表示的,怎样修改标志寄存器⑤怎样汇编与反汇编⑥怎样执行程序⑦怎样跟踪程序⑧怎样退出Debug二.实验内容:DEBUG是专门为汇编语言设计的一种调试工具,它通过步进,设置断点等方式为汇编语言程序员提供了非常有效的调试手段。

1、DEBUG程序的启动DEBUG的命令格式:[drive:][path] DEBUG [d:][p][filename][.ext][param...]其中:drive: 是指定DEBUG文件的磁盘驱动器标识符,DEBUG是外部DOS命令,所以必须把它从磁盘读入内存。

若未指定,DOS将使用当前默认磁盘驱动器。

path: 是DOS查找DEBUG文件的一个子目录串表示的路径。

若未指定,DOS将使用当前工作目录。

《汇编_语言》实验__指导书

《汇编_语言》实验__指导书
DATA SEGMENT
BUF DB “hello,world!$”
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
6、汇编命令A:
A命令的格式为:
-A [address]
该命令允许键入汇编语言语句,并能把它们汇编成机器代码,相继地存放在从指定地址开始的存储区中。
7、反汇编命令U :
U命令有两种格式:
1)从指定地址开始,反汇编32个字节,其格式为:
-U[address]
例如:
067C:0110 03 41 42 43 44 45 46 47 - 48 49 4A 4B 4C 4D 4E 4F .ABCDEFGHIJKLMNO
067C:0120 41 A
说明:
左边是用十六进制表示的存储单元地址,0100至0120是DEBUG要显示的存储单元段内偏移地址,而067C是当前数据段的段首址。中间是每个字节存储单元的内容。右边表示每个字节可以显示的字符,“.”表示是不可显示的字符。D命令一行显示16个字节单元的内容,前8个字节与后8个字节之间用-连接。
一般情况下,MASM汇编程序的主要功能有以下3点:
(1)检查源程序中存在的语法错误,并给出错误信息。
(2)源程序经汇编后没有错误,则产生目标程序文件,扩展名为.OBJ。
(3)若程序中使用了宏指令,则汇编程序将展开宏指令。
源程序建立以后,在DOS状态下,可以采用宏汇编程序MASM对源程序文件进行汇编,方法是在DOS提示符下键入以下命令:
2.修改存储单元内容的命令E:
E命令有两种格式如下:
第一种格式可以用给定的内容表来替代指定范围的存储单元内容。命令格式为:

汇编语言程序设计指导书

汇编语言程序设计指导书

《汇编语言程序设计》实验指导书适用于计科专业2004级前言汇编语言实验主要使学生掌握DEBUG调试程序中各命令的利用方式,掌握MASM汇编程序对汇编语言源程序进行编辑、汇编、连接、装配、调试到运行的上机操作方式。

本实验大纲要求学生熟练掌握汇编语言指令练习、顺序程序设计、分支程序设计、循环程序设计和子程序设计。

一、实验环境汇编语言程序设计的实验环境如下:1.硬件环境微型运算机(Intel x86系列CPU)一台2.软件环境Windows98/2000/XP操作系统任意一种文本编辑器(EDIT、NOTEPAD(记事本)、UltraEDIT等)汇编程序(或)连接程序(或)调试程序(或)文本编辑器建议利用EDIT或NOTEPAD,汇编程序建议利用,连接程序建议利用,调试程序建议利用。

二、上机实验步骤1.肯定源程序的寄存目录建议源程序寄存的目录名为ASM(或MASM),并放在C盘或D盘的根目录下。

2.成立ASM源程序成立ASM源程序能够利用EDIT或NOTEPAD(记事本)文本编辑器。

注意,汇编语言源程序文件的扩展名最好起名为.ASM,如此能给后面的汇编和连接操作带来专门大的方便。

3.用汇编源程序产生OBJ目标文件源文件成立后,要利用汇编程序对源程序文件汇编,汇编后产生二进制的目标文件(.OBJ文件)。

具体操作如下:方式一:在Windows中操作用资源管理器打开源程序目录C:\ASM,把拖到程序图标上。

方式二:在DOS命令提示符窗口中操作选择“开始”→“程序”→“附件”→“命令提示符”,打开DOS命令提示符窗口,然后用CD命令转到源程序目录下,接着输入MASM命令:D:>C:<回车>C:>CD \ASM<回车>C:\ASM>MASM <回车>操作时的屏幕显示如图1所示。

图1 在DOS命令提示符窗口中进行汇编无论用以上二个方式中的哪个方式,进入MASM程序后,都会提示让你输入目标文件名(Object filename),并在方括号中显示默许的目标文件名,建议输入目标文件的完整路径名,如:C:\ASM\〈回车〉。

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

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

前言《汇编语言程序设》在计算机科学中是一门综合性的专业基础课,是计算机专业的核心课程。

它不仅是一般程序设计的基础,而且也是设计和实现编译程序、操作系统及其它系统程序和大型应用程序的重要基础。

它为后续专业课程的学习打下了理论基础和实践基础。

由于汇编语言程序设中有大量的指令,因此汇编语言程序设实验课在教学中占有重要的地位。

通过实验可以使学生更好的巩固和掌握所学的内容,进一步增强动手能力和解决实际问题的能力。

为了提高实验的效率,任课教师提前一周布置实验任务,并且进行一定的分析和讲解,要求学生进行准备工作。

准备工作包括查找资料,设计算法,写出预习报告,其中预习报告包括题目的解题思想,概要设计,实现算法的源代码清单等。

每次实验前,学生应向实验指导教师上交实验预习报告,预习报告经指导教师认可后方能进行实验。

实验完毕写出实验报告,用A4纸打印成册(源程序存盘),由学习委员统一收齐交指导教师审阅评定。

实验成绩考核:实验成绩占《数据结构》总评成绩的20%,其中实验效果占10分,出勤率和实验报告各占5分。

有以下情形之一者,实验成绩为不及格:1.迟到,早退,无故缺勤总共3次及以上者;2.未按时完成实验达4次及以上者;3.缺交实验报告3次及以上者。

实验一简单程序编制和上机过程一.实验目的1.掌握计算机常用代码的软件转换技术。

2.熟悉DEBUG软件的使用。

3.掌握简单程序的编程方法。

二.实验内容代码转换是计算机和I/O设备进行信息交换的重要技术之一。

各种I/O设备所提供和接收的数据编码不尽相同。

为了处理这些信息,计算机必须将各种不同编码形式的信息转换成别种适当的数据形式。

例如,键盘输入的数据均为ASC Ⅱ码形式存储在内存中,通常要求将其转换成相应的数据形式。

一般实现代码转换有两种方法:1.软件法利用CPU的算术逻辑运算功能,通过运算或查表实现各种数据代码间的转换。

该方法经济但速度慢。

2.硬件法利用专用代码转换集成电路进行转换。

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

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

汇编语言程序设计实验指导【实验提要】以下列举的10个实验,都是以Intel的8086及后续系列微处理器的指令系统为核心,采用宏汇编工具MASM6. X以及调试工具DEBUG或DEBUG32,针对本教材所述内容进行相关的上机实践。

旨在帮助学生加深认识和理解理论教学知识,通过大量的上机实验熟悉8086 CPU的指令功能、用途和使用技巧,进而提高汇编语言程序设计的能力。

(带*号的为选作内容)实验一调试工具DEBUG的应用实验目的通过实验掌握下列知识:1、8086指令: MOV,ADD,ADC,SUB,SBB,DAA,XCHG的功能;2、DEBUG命令: A,D,E,F,H,R,T,U的使用;3、BCD码、ASCII码及用十六进制数表示二进制码的方法;4、寄存器: AX,BX,CX,DX,FLAGS,IP。

内容及步骤注:本次实验可以参照教材上关于DEBUG的叙述内容进行。

一、DEBUG 命令使用1、开机后,切换到命令提示符窗口下,出现提示符后键入命令DEBUG, 进入调试环境,显示提示符 '- '。

2、用命令 F 200 220 'AB' 将'AB'的两个ASCII码循环填入内存。

注:第一个参数200是当前段的起始偏移地址,第二个参数220是终了偏移地址,第三个参数‘AB’是被填入的数值,若不给出第二个参数则填入128(8行)个字节。

3、用命令 D200 观察内存中的十六进制码及屏幕右边的ASCII字符。

4、用命令 F230 23F 12 重复上二项实验,观察结果并比较。

5、用命令 E200 41 42 43 44 45将A-E的ASCII码写入地址为200开始的内存单元中,再用D命令观察结果,看键入的十六进制数和ASCII码的对应关系。

6、用H命令检查下列各组十六进制数的和与差(补码表示):(1)56H,34H (2)23H,45H (3)AB,3045H注:输入 H 12 34 则在下一行显示0046 FFDE,即二者的补码和与差。

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

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

实验一汇编语言上机过程一、上机前的软件准备:MS-DOS操作系统(如:MSDOS6.22 , MSDOS7.0 等)文本编辑器(如: , TURBO.EXE , TC.EXE , C.EXE 等)汇编程序(如:MASM.EXE , ASM.EXE,TASM.EXE 等)连接程序(如:LINK.EXE 等)调试程序(如:DEBUG.EXE 等)二、汇编程序建立过程:通过a.建立汇编源程序────→b.编译为目标文件──┬─→d.连接为可执行文件↑↓ ↓│ c.不通过,重新修改(语句错误)││├──────────────────────┘│↑ f.不正确,用调试工具调试,重新修改(逻辑错误)↓└────────────────────────────←e运行↓正确g.完成三、现在对(二)的每一个标有字母的过程(PROCEDURE)进行详细说明PROCEDURE a:建立汇编源程序(即:建立文件名.asm)这个过程就相当于我们在纸上编写源程序代码一样,只不过是将纸变为了计算机,这个过程也称源代码录入。

将源程序代码录入计算机的方法很多,下面将介绍具体方法。

1.通过MD-DOS自带的EDIT.EXE文本编辑器进行输入,在DOS提示符下键入:EDIT回车,这时如果你系统内可调用时,EDIT的操作画面便会出现在屏幕上,你就可在提示下进行录入了,当录入完毕后,选择存盘并给你输入的文件起一个文件名,形式:filename.asm ;(其中filename为你起的文件名,由1-8个字符组成),asm 是为汇编程序识别而必须加上去的,不可更改。

存盘后在DOS下可用DOS命令DIR来查看,如果看到了所存的文件存在,就可以进行进程b。

2.如果你的系统中没有EDIT,也可用你所熟悉的文本编辑器进行录入、编辑,如可用c语言和pascal语言的文本编辑器来编辑,最后将文件存为filename.asm的形式即可。

PROCEDURE b:编译目标文件(即:编译为.obj .lst .crf文件)这个过程计算机将把你编的正确的源代码编译为机器语言、程序清单及交叉引用表的目标文件。

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

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

实验一宏汇编MASM5.0运行环境一、实验目的1、熟悉的MASM5.0宏汇编程序运行环境2、掌握用MASM5.0运行汇编语言程序的步骤3、学习及掌握的debug程序的各种命令并调试汇编语言程序。

二、实验仪器计算机、masm汇编运行环境三、实验原理1、建立汇编语言的工作环境(1)编辑程序:EDIT .COM(2)汇编程序:MASM .EXE(3)连接过程:LINK.EXE(4)调试程序:DEBUG .EXE2、运行汇编语言程序的步骤(汇编语言程序的上机过程)在汇编实验步骤的word文档中(请下载参考)。

(1)用汇编程序建立源文件(*.asm)汇编程序:记事本,写字板或EDIT.EXE 。

(文本文件编辑器)扩展名为:.asm(2)用汇编程序(MASM、EXE)产生OBJ文件。

(3)用连接程序(LINK 、EXE)生成EXE文件。

(4)程序的执行直接输入文件名LINKEDIT记事本写字板MASM3、用DEBUG 运行、调试汇编语言程序(1)进入DEBUGC:\ DEBUG (前提DEBUG .COM 程序在C 盘)屏幕显示:- “-”这个符号是进入DEBUG的提示符,在该提示符下可键入任意DEBUG 命令,现在用A命令送程序。

(2)送程序并汇编-A 100169C:0100 MOV DL ,33169C:0102 MOV AH ,2169C:0104 MOV INT 21169C:0106 MOV INT 20169C:0101此程序已送完,并汇编成机器指令(3)现在用G命令一运送程序-G3看一下机器指令是什么样的用反汇编命令U(4)反汇编-U 100 :108段地址偏移地址指令169C :0100 B233 MOV DL ,33169C :0102 B402 MOV AH ,02169C :0104 CD21 INT 21169C :0106 CD20 INT 20169C :D108(5)用Q命令退出DEBUG 返回DOS-QC:\4、DEBUG 命令(1)汇编命令A格式1)A < 段寄存器名>:<位移> ;(段寄器)为段地址2)A <段地址> :<位移> ;(c s) 为段地址3)A <位移> ;4)A ;以CS:100作地址功能:键入该命令后显示的地址和位移并等待用户从键盘逐条键入汇编命令。

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

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

第2章汇编语言程序设计实验2.1、实验1-1——多字节数的运算1、实验目的熟悉汇编语言的上机环境和各种工具(编辑、汇编、连接、调试);掌握完整段和简化段两种汇编程序的编写;掌握简单汇编程序的处理和调试过程。

2、实验内容⑴、两个长度为3个字节(3B)的二进制无符号数,分别存放在首地址为buf1和buf2的连续内存单元中,编程求这两者之和,并将结果放在起始地址为res的内存单元中。

例如,这两个数据为888888H、456789H,则其和应为[1]345671H。

(00CDF011H,对应十进制数表示13496337,)要求:☞用完整段和简化段两种方式实现。

☞观察它们的反汇编结果并进行比较,单步运行程序。

注意:☞程序运行前先将res清0,程序运行后观察res单元中的数据是否符合预期。

☞数据存放应“高对高、低对低”。

⑵、将两数改为3B的压缩BCD码,重复以上实验过程。

例如,这两个数据为888888H、456789H,则其和应为[1]345677H(表示[1]345677)。

☞注意,每两个字节相加后,应紧接着进行二-十进制调整。

3、实验扩展和思考⑴、计算两个长度为3B的二进制数据之差应如何进行操作?⑵、计算两个长度为3B的压缩BCD码数据之差应如何进行操作?================================================================================实验报告================================================================================●方案描述●程序清单2.2、实验1-2——BCD码操作(参考课本P72,例3.5)(如果要求转换为ASCII 码显示出来呢?)1、实验目的掌握BCD码的操作,包括压缩BCD码的分离和非压缩BCD码的压缩等。

2、实验内容⑴、将存放在首地址为buf的5B的压缩BCD码分离为10B的非压缩BCD码,并存于首地址为res的单元中。

《汇编语言程序设计》实验指导手册解析

《汇编语言程序设计》实验指导手册解析

《汇编语言程序设计》实验指导手册《汇编语言程序设计》实验是学习本课程的每个考生必须要通过的一个重要的实践环节。

本指导手册依照我系各类计算机专科专业教学大纲,根据人民邮电出版社的《汇编语言程序设计》(梁发寅著)教材编写而成。

本指导手册共计有编有10个实验,在实际实验过程中可以按照实际教学进度情况加以增删。

每个实验都应做到:1.做好上机实验的准备工作:应考者对每个实验需要进行预习,了解相关内容和具体要求,熟悉上机操作步骤,学会相关系统软件的使用,掌握各种操作调试命令。

2.编写源程序:按照实验题目的要求,应考者要事先独立完成汇编语言源程序的编写工作,并对源程序进行认真的静态检查,减少错误的发生。

3.完成实验报告:做完上机实验,应考者要严格按照实验报告的格式要求写出实验报告。

实验报告的内容为:实验名称、实验的目的、实验的内容和要求、实验步骤、实验结果并附上源程序清单和程序流程图。

实验一汇编语言上机环境(一)实验目的1熟悉汇编语言上机环境;2掌握汇编语言上机过程与步骤。

(二)实验器材与实验准备实验器材:硬件:微机一台软件:DOS或WIN98/2000/XPMASM . EXE和LINK . EXE实验准备:cs1 segmentassume cs : cs1 , ds : cs1start: push cspop dsmov ah,0int 10hlea dx , str0mov ah,9int 21hmov ah,4chint 21hstr0 db 'hello' , '$'cs1 endsend start(三)实验内容和要求1.建立汇编源程序文件2.逐步汇编,连接生成可执行文件3.运行生成的可执行文件(四)实验步骤:1.在记事本中创建和编辑源文件2. 将MASM . EXE和LINK . EXE以及源文件拷贝在同一目录下3. 汇编源文件4. 连接目标文件5. 执行可执行文件(五) 实验结果分析在生成可执行文件过程中,一共生成了多少个相关的文件,它们的作用分别是什么?实验二 DEBUG 的使用(一)实验目的1、熟悉 DEBUG 程序中的命令,学会在 DEBUG 下调试运行汇编语言源程序。

汇编语言指导书

汇编语言指导书

实验内容及步骤 一、利用查表方法把DX的内容(十六进制数)转换成ASCII码 1、用A命令键入下列程序: MOV BX,1000 MOV DI,2000 MOV CX,4 LOP: PUSH CX MOV CL,4 ROL DX,CL POP CX MOV AL,DL AND AL,0F XLAT CLD STOSB LOOP LOP INT 20 2、用A命令在1000H处键入下列ASCII码并用D命令检查之: DB …0123456789ABCDEF? 用D命令检查时注意左边的ASCII码值和右边的字符。 4、用T命令逐条运行这程序到LOOP指令处,观察并记录每次运行结果,特别是SP和堆栈内容(用D命令检查)。 5、用G命令将此程序运行到结束,并用D命令检查2000H处所转换的结果。可注意屏幕右边的ASCII字符与DX是否一致。 二、数据串搬家程序: 1、用A命令键入下列程序: MOV SI,1000 MOV DI,1500 MOV CX,0F LOP: MOV AL,[SI] MOV [DI],AL INC SI INC DI LOOP LOP INT 20 2、用A命令DB伪指令在1000H键入下列字符串: ‘IBM_PC COMPUTER'
在操作时要注意提示信息,并按提示操作。 二、DEBUG 命令使用 1、键入 DEBUG 进入 DEBUG 控制状态,显示提示符 '- '。 2、用命令 F100 10F 'A' 将'A'的ASCII码填入内存。 3、用命令 D100 10F 观察内存中的十六进制码及屏幕右边的ASCII字符。 4、用命令 F110 11F 41 重复上二项实验,观察结果并比较。 5、用命令 E100 30 31 32 …… 3F将30H-3FH写入地址为100开始的内存单元中,再用D命令观察结果,看键入的十六进制数是 什么字符的ASCII码? 6、用H命令检查下列各组十六进制数加减结果并和你的手算结果比较: (1)34H,22H (2)56H,78H (3)A5,79H (4)1284H,5678H (5)A758H,347FH 7、用R命令检查各寄存器内容,特别注意AX,BX,CX,DX,IP及标志位中ZF,CF和AF的内容。 8、用R命令将AX,BX内容改写为1050H及23A8H。 三、熟悉汇编语言的编程过程 1、首先在运行菜单中运行CMD命令,进入DOS状态。 2、切入D:盘,进入MASM。 3、用EDIT <文件名.asm> 命令编辑下列源程序。 data segment message db "Hello World!",'$' data ends code segment assume cs:code,ds:data begin:mov ax,data mov ds,ax mov dx,offset message mov ah,9 int 21h mov ah,4ch int 21h code ends end begin 4、用MASM <文件名> 命令编译源程序。(如果出错,则需要重新编 辑,修改错误)。 5、用LINK <文件名>命令连接目标文件,生成可执行文件。(可以用 DIR命令查一下—)。 6、运行该可执行文件,检查是否正常输出字符串。 实验报告要求

汇编语言实验指导书

汇编语言实验指导书

实验目的与要求一、实验目的学习程序设计的基本发方法和技能,熟练掌握用汇编语言设计、编写、调试和运行程序的方法。

为后续课程打下坚实的基础。

二、实验要求1、上机前要作好充分准备,包括程序框图、源程序清单、调试步骤、测试方法、对运行结果的分析等。

2、上机时要遵守实验室的规章制度、爱护实验设备。

要熟悉与实验有关的系统软件(如编辑程序、汇编程序、连接程序和调试程序等)的使用方法。

在程序的调试过程中,有意识地学习及掌握debug程序的各种操作命令、以便掌握程序的调试方法和技巧。

3、每个实验完成后,应写出实验报告。

实验报告的要求如下:①实验目的②实验内容③算法分析及详细的寄存器和变量分配④流程图⑤程序代码⑥实验结果⑦分析总结(心得体会)实验一、汇编语言上机操作过程一、实验目的1、熟悉汇编语言程序的调试环境2、掌握部分DEBUG命令二、实验内容编写一个汇编语言程序,计算1+2+3+…+99+100,并将结果存入SUM字单元。

通过调试程序熟悉汇编语言的上机操作过程及部分命令。

三、上机操作过程1、建立ASM文件(编辑源程序)使用编辑程序EDIT在磁盘上建立源程序EX.ASM例如:D:\MASM>EDIT EX.ASM2、用MASM程序产生OBJ文件源文件建立后,就要用汇编程序对源文件汇编,汇编后产生二进制的目标文件(OBJ 文件)例如:D:\MASM>MASM EX3 、用LINK程序产生EXE文件汇编程序已产生出二进制的目标文件(OBJ),但OBJ文件并不是可执行文件,还必须使用连接程序(LINK)把目标文件转换为可执行的EXE文件例如:D:\MASM>LINK EX4、调试运行在建立了EXE文件后,就可以直接从DOS执行程序。

如果用户程序有错误或者没有直接将结果在终端上显示出来,程序执行完之后无法看见正确的结果。

那么怎么知道程序执行的结果是正确的呢?此外,大部分程序必须经过调试阶段才能纠正程序执行中的错误,得到正确的结果。

简化:《汇编语言程序设计》实验指导书-定稿

简化:《汇编语言程序设计》实验指导书-定稿

---------------------------------------------------------------最新资料推荐------------------------------------------------------ 简化:《汇编语言程序设计》实验指导书-定稿《汇编语言程序设计》实验指导书(第一版)邵桂芳黄贤英刘政肖朝晖编重庆工学院计算机学院 2006 年年10 月目录有关汇编语言 ........................................................ ........................................................... .. 3 实验一汇编语言上机操作过程(验证性实验) ...................................................... ..... 4 实验二DEBUG 的使用(验证性实验) ...................................................... ................ 12 实验三基本运算程序设计(设计性实验) ...................................................... ........... 22 实验四顺序程序设计(设计性实验) ............................................ 错误! 未定义书签。

实验五字符处理程序设计(设计性实验) .................................... 错误! 未定义书签。

实验六分支程序设计(设计性实验) ............................................ 错误! 未定义书签。

实验七循环程序设计(设计性实1 / 3验) ............................................ 错误! 未定义书签。

(完整word)《汇编语言》实验指导书-201610,推荐文档

(完整word)《汇编语言》实验指导书-201610,推荐文档

《汇编语言》实验指导书计算机学院网络工程系李冬艳2016.10.1实验一汇编语言上机环境及基本操作一、实验目的及要求1.学习及掌握汇编语言源程序的书写格式和要求,明确程序中各段的功能和相互之间的关系。

2.熟练掌握在计算机上建立、汇编、连接、调试及运行程序的方法。

二、实验内容1.汇编语言源程序的建立本例中给出的程序是要求编写3+5=8的程序,并把8存入AL或AX中。

设定源程序的文件名为ABC.ASM 。

(用任何一个种文本编辑器编写此程序,存盘)或双击桌面的“Masm for Windows 集成实验环境 2012.5”快捷文件图标,进入汇编语言集成开发环境DATAS SEGMENT;此处输入数据段代码DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AX;======================================MOV AX ,3 ;自己写的代码Mov BX ,5 ;自己写的代码ADD AX ,BX ;自己写的代码(只有3条);此处输入代码段代码;======================================MOV AH,4CHINT 21HCODES ENDSEND START程序输入完毕后一定要将源程序文件存入盘中,以便进行汇编及连接,也可以再次调出源程序进行修改。

2.将源程序文件汇编成目标程序文件一般情况下,汇编程序MASM.exe的主要功能有以下3点:(1)检查源程序中存在的语法错误,并给出错误信息。

(2)源程序经汇编后没有错误,则产生目标程序文件,扩展名为.OBJ。

(3)若程序中使用了宏指令,则汇编程序将展开宏指令。

3.用链接程序link.exe生成可执行程序文件经汇编以后产生的目标程序文件(.OBJ文件)并不是可执行程序文件,必须经过链接以后,才能成为可执行文件(即扩展名为.EXE)。

汇编语言程序设计实验指导书、实验教学大纲

汇编语言程序设计实验指导书、实验教学大纲

附件1-3《汇编语言程序设计课程》实验教学指导书课程编号:撰写人:刘伏贵审核人:湘潭大学信息工程学院二○○七年十月十八日前言一、实验总体目标《汇编语言程序设计》是一门重要的专业选修课,同时也是一门实践性很强的课程。

通过实验使学生对所学的汇编语言程序设计内容加深理解,增强实践动手能力,培养学生分析问题和解决问题的能力,以及进行汇编语言程序设计的实践。

在汇编语言程序设计课程的学习过程中,将分别开出《汇编程序与调试器的使用》、《DOS 命令与磁盘文件操作》、《汇编语言与结构化程序设计》、《汇编语言子程序设计》、《十进制数据直接处理程序设计》、《结构数据与汇编语言程序设计》、《记录数据与汇编语言程序设计》、《汇编语言程序设计综合实验》等八个实验。

由于汇编语言程序设计涉及到硬件、操作系统等诸方面的知识,完成实验的难度大。

因此,要求每一个学生必须按照教师的安排和要求,认真完成每一个实验,从而达到培养现代程序设计基本素养的目的。

二、适用专业年级专业:计算机科学与技术、网络工程年级:二年级三、先修课程《C语言程序设计》、《计算机组成原理》四、实验项目及课时分配五、实验环境个人计算机:120台Win 32 操作系统MS DOSMASM 6.0 及其以上版本的汇编程序及配套的80x86 汇编语言程序开发环境六、实验总体要求1、汇编语言程序设计的实验课主要是供学生测试、调试汇编语言程序。

2、必须充分重视实验课。

实验课是汇编语言程序设计课程的重要组成部分,是理论联系实践的重要环节。

通过它,能够培养学生独立分析和解决问题的能力。

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

4、必须做好实验前的一切准备工作,包括程序测试/调试的详细过程安排等。

在实验中应严格按照预先确定的实验过程进行实验,决不允许在实验过程中准备实验程序、测试数据与测试/调试过程计划。

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

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

《汇编语言程序设计》课程实验指导书(Assembly Language Programming)计算机科学与技术系杨定安编写佛山科学技术学院摘要汇编语言实验主要使学生掌握DEBUG或DEB2000调试程序中各命令的使用方法,掌握MASM汇编程序对汇编语言源程序进行编辑、汇编、连接、装配、调试到运行的上机操作方法。

本实验大纲要求学生熟练掌握汇编语言指令练习、顺序程序设计、分支程序设计、循环程序设计和子程序设计。

目录实验一宏汇编程序(MASM)及汇编语言上机过程 (3)实验二程序的基本结构练习 (8)实验三汇编编译器的使用及程序调试 (11)实验四分支程序设计 (17)实验五循环程序设计 (19)实验六子程序设计 (23)实验七汇编语言与C语言混合程序设计 (29)实验一宏汇编程序(MASM)及汇编语言上机过程一、实验目的1.通过实验了解和熟悉微机系统的配置。

2.学习在DEBUG状态下输入汇编源程序的方法。

3.初步掌握调试(在DEBUG状态下)的过程。

二、实验原理1. 本实验要求在DEBUG状态下输入汇编源程序,并用DEBUG命令进行调试。

用单步跟踪的方法验证指令的功能。

2. 以下是给定的参考程序,并在实验时在每条指令的“;”符号右边按要求填写指令的执行结果。

注:⑴微机进入DEBUG状态下之后,一切立即数和地址数据均被默认为十六进制数,在输入时数的后面不加后缀“H”;⑵在DEBUG状态下执行程序时,“INT 20H”指令可使系统执行完该指令前的程序时返回到“-”提示符状态,并且恢复CS和IP寄存器原来的值。

三、实验仪器微机一台,U盘一块。

四、实验步骤1.开机和关机操作顺序开机:先打开微机外部设备电源开关,如显示器,最后打开主机电源开关。

关机:与开机相反,先关掉主机电源开关,然后关闭所有外设的电源开关。

2. 装入DEBUG程序若计算机系统启动正常,可以进入MASM文件夹或MASM5文件夹从磁盘上调用DEBUG,程序到内存。

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

print2: add bh,30h
mov ax,data
div bl
mov dl,bh
mov ds,ax
mov bh,ah
mov ah,2
cmp al,0
int 21h
mov bx,0
je print
exit: mov ax,4c00h
mov si,0
add al,30h
int 21h
mov di,0
四、实验步骤:
1)打开汇编语言入口,进入命令提示符下; 2)键入 EDIT,编辑源程序; 3)键入 MASM XXX.ASM; 编译源程序; 4)键入 LINK XXX.OBJ; 连接目标程序; 5)键入 DEBUG XXX.EXE, 调试可执行文件。
附实验参考源程序 data segment adb '请输入一个小写字 母:$' bdb '你输错了,请重新 输入:$' data ends
jmp input second: mov dl,0dh
mov ah,2 int 21h mov dl,0ah int 21h mov dl,bl mov ah,2 int 21h inc dl int 21h mov dl,0dh mov ah,2 int 21h mov dl,0ah int 21h jmp input error: lea dx,b mov ah,9 int 21h mov dl,0dh mov ah,2 int 21h mov dl,0ah int 21h jmp input exit: mov ax,4c00h
实验三 伪指令
一、实验目的:
掌握 DB, DW, SEGMENT, ENDS, ASSUME 等宏汇编伪指令的功能,使用规则及使用场 合。
二、实验环境:
硬件:IBM PC 及其兼容机;软件:Windows 7、Debug 、Masm.exe、 Link.exe。
三、实验内容:
请把一个由 26 个大写字母和 26 个小写字母组成的 52 个字母的字符串从源缓冲区传送 到目的缓冲区。
mov ax,extra
b_buffer db 52 dup (?)
mov es,ax
lea si,a_buffer lea di,b_buffer cld mov cx,52 rep movsb
mov ax,4c00h int 21h code ends end start
实验四 顺序程序设计
一、实验目的:
四、实验步骤:
1)打开汇编语言入口,进入命令提示符下; 2)键入 EDIT,编辑源程序; 3)键入 MASM XXX.ASM; 编译源程序; 4)键入 LINK XXX.OBJ; 连接目标程序; 5)键入 DEBUG XXX.EXE, 调试可执行文件。 附实验参考源程序
data segment
extra ends
三、实验内容:
见教材 P35 实验一
四、实验步骤:
1)打开汇编语言入口,进入命令提示符下; 2)键入 DEBUG,进入 DEBUG; 3)逐条运行 DEBUG 的 A,R,D,E,U,T,P,G 命令,掌握这些命令的用法及其功能。
实验二 [BX]和 loop 的使用
一、实验目的:
熟练掌握[BX]和 LOOP 的使用。
shift1: lea dx,b mov ah,9 int 21h mov dl,0dh mov ah,2 int 21h mov dl,0ah int 21h jmp input2
exit: ret main endp code ends end start
2. 编写程序,将一个含有 20 个数据的数组 M 分成两个数组,正数组 P 和负数组 N, 并分别把两个数组中数据的个数显示出来。
《汇编语言程序设计》
实 验 指 导 书
淮南师范学院计算机学院
实验一 利用 DEBUG 查看 CPU 和内存
一、实验目的:
熟练使用 DEBUG 的 A,R,D,E,U,T,P,G 命令,掌握这些命令的用法及其功能。
二、实验环境:
硬件:IBM PC 及其兼容机;软件:Windows 7、Debug 、Masm.exe、 Link.exe。
p1: mov P[si],ax add si,2
int 21h lea dx,B mov ah,9 int 21h mov ax,n_cnt
data ends
inc word ptr
mov bl,10
P_CNT
div bl
code segment
mov bh,ah
main proc far
xiugai: add bx,2
cmp al,0
assume
loop compare
je print2
cs:code,ds:data
lea dx,A
add al,30h
start:
mov ah,9
mov dl,al
push ds
int 21h
mov ah,2
sub ax,ax
mov ax,p_cnt
int 21h
push ax
mov bl,10
cs:code,ds:data start:push ds sub ax,ax push ax mov ax,data mov ds,ax lea dx,A mov ah,9 int 21h
mov dl,0dh mov ah,2 int 21h mov dl,0ah mov ah,2 int 21h
code segment assume cs:code,ds:data பைடு நூலகம்tart:
mov ax,data mov ds,ax input: lea dx,a mov ah,9 int 21h mov dl,0dh mov ah,2 int 21h mov dl,0ah int 21h
mov ah,1 int 21h mov bl,al cmp bl,0dh jz exit1 cmp bl,'a' jl error je first cmp bl,'z' je special1 jg error mov dl,0dh
int 21h
code ends end start
实验五 分支程序设计
一、实验目的:
掌握画分支程序流程图的方法。掌握使用分支指令如 JZ,JS,JMP 等指令设计分支 程序。
二、实验环境:
硬件:IBM PC 及其兼容机;软件:Windows 7、Debug 、Masm.exe、 Link.exe。
int 21h
mov dl,0dh mov ah,2 int 21h mov dl,0ah mov ah,2 int 21h
jmp input1 shift: lea dx,b mov ah,9 int 21h mov dl,0dh mov ah,2 int 21h mov dl,0ah int 21h jmp input1
mov dl,'=' mov ah,2 int 21h
add bl,bh mov al,bl mov ah,0 mov bl,10 div bl mov bh,ah cmp al,0 je disp add al,30h mov dl,al mov ah,2 int 21h
disp: add bh,30h mov dl,bh mov ah,2
input1:mov ah,01 int 21h mov bl,al cmp bl,0Dh jz exit cmp bl,39h jnle shift sub bl,30h
mov dl,'+' mov ah,2 int 21h
input2:mov ah,01 int 21h mov bh,al cmp bh,0Dh jz exit cmp bh,39h jnle shift1 sub bh,30h
mov dl,0dh
Pdw 20 dup (?)
add di,2
mov ah,2
Ndw 20 dup (?)
inc word ptr
int 21h
P_CNT dw 0
N_CNT
mov dl,0ah
N_CNT dw 0 Adb '正数的个数 是:$' Bdb '负数的个数 是:$'
jmp near ptr xiugai
三、实验内容:
1. 编制一个在屏幕显示两个一位十进制数相加,并输出其和的汇编语言程序。
(参考源程序如下):
data segment A db '本程序是用
来做(0—9)加法运算$' B db '输入错误!请
重试:$' data ends
code segment main proc far assume
二、实验环境:
硬件:IBM PC 及其兼容机;软件:Windows 7、Debug 、Masm.exe、 Link.exe。
三、实验内容:
见教材 P121 实验四
四、实验步骤:
1)打开汇编语言入口,进入命令提示符下; 2)键入 EDIT,编辑源程序; 3)键入 MASM XXX.ASM; 编译源程序; 4)键入 LINK XXX.OBJ; 连接目标程序; 5)键入 DEBUG XXX.EXE, 调试可执行文件。
mov dl,al
code ends
mov cx,20
mov ah,2
end start
compare:
int 21h
四、实验步骤:
1)打开汇编语言入口,进入命令提示符下; 2)键入 EDIT,编辑源程序; 3)键入 MASM XXX.ASM; 编译源程序; 4)键入 LINK XXX.OBJ; 连接目标程序; 5)键入 DEBUG XXX.EXE, 调试可执行文件。
相关文档
最新文档