汇编上机实验要求
实验一汇编语言程序设计上机实验的基本过程

实验一汇编语言程序设计上机实验的基本过程〇、实验目的和要求:1.熟悉汇编语言程序设计上机实验的计算机软硬件平台。
2.熟悉汇编语言程序设计上机实验的过程。
3.熟练掌握汇编语言源程序的编辑及对其汇编、连接、运行的过程。
4.熟练掌握使用DEBUG调试和运行程序的方法(“工欲善其事,必先利其器!)。
一、实验提要注:以下内容基于初次使用DOS系统和初次上机进行汇编语言程序设计实验以及基本会使用Windows系统的状态,故可根据自己对相关知识得了解和掌握程度,选择性阅读相关内容。
此标注适用于本实验教程的全部内容。
㈠汇编语言程序设计上机实验所需的软硬件平台汇编语言程序设计上机实验需要的计算机软硬件:●装有DOS或Windows操作系统且能正常使用的通用计算机。
●在某个硬盘分区的根目录下创建一个文件夹(类同于DOS系统的目录)。
例如,在计算机的D盘创建一个名为MASM的文件夹(DOS系统对此的标识为“D:\MASM>”,此即所谓的“DOS系统提示符”的表示形式),且在该目录具有以下两个程序:汇编程序MASM.EXE连接程序LINK.EXE而DOS和Windows操作系统本身都提供有以下两个工具程序:文本编辑程序调试程序和两程序文件正常存放在Windows系统的system32文件中(DOS系统中这两文件就存放在于系统文件所在的目录),且默认可以使用于任何工作路径,故在DOS系统状态下,可直接运行EDIT和DEBUG。
其中:可用来编辑和保存汇编语言源程序。
当然,也可使用任何可以编辑纯文本格式的文字编辑软件,诸如Windows系统中自带的记事本等等。
是汇编语言程序设计的得力利器,可以用其完成汇编语言程序设计的几乎整个过程。
本实验教程将详述DEBUG用来调试程序的方法。
此外,据需可选用的软件还有LIB.EXE、CREF.EXE、EXE2BIN.EXE等。
本课程上机实验所用工作平台的建立,将根据所使用的计算机及其所属网络的情况而定。
汇编上机实验报告

汇编上机实验报告实验目的:通过进行汇编语言上机实验,掌握汇编语言的基本语法和编程技巧,培养汇编程序设计能力。
实验内容:实验一:汇编程序的简单输入输出1.编写一个汇编程序,要求从键盘输入两个整数,然后将其相加,并将结果输出到屏幕上。
2. 利用调试器(如DOSBox或emu8086)执行并调试程序,观察程序运行过程和实际输出结果。
实验二:汇编程序的条件跳转1.编写一个汇编程序,要求从键盘输入一个整数,判断其是否大于10,若是,则将其打印到屏幕上;否则,将其乘以5并打印到屏幕上。
2. 利用调试器(如DOSBox或emu8086)执行并调试程序,观察程序运行过程和实际输出结果。
实验三:汇编程序的循环1.编写一个汇编程序,要求计算1到10的累加和,并将结果打印到屏幕上。
2. 利用调试器(如DOSBox或emu8086)执行并调试程序,观察程序运行过程和实际输出结果。
实验四:汇编程序的数组操作1.编写一个汇编程序,要求定义一个长度为10的数组,并将数组中的值初始化为0,然后利用循环将数组中的每一个元素加1,并将每个元素的值打印到屏幕上。
2. 利用调试器(如DOSBox或emu8086)执行并调试程序,观察程序运行过程和实际输出结果。
实验结果:实验一:汇编程序的简单输入输出编写的汇编程序通过键盘输入两个整数,实现了相加并将结果输出到屏幕上的功能。
程序运行正常,输出结果与预期一致。
实验二:汇编程序的条件跳转编写的汇编程序通过键盘输入一个整数,根据条件判断,实现了将输入数大于10时打印在屏幕上,否则将其乘以5并打印在屏幕上的功能。
程序运行正常,输出结果与预期一致。
实验三:汇编程序的循环编写的汇编程序通过循环计算1到10的累加和,并将结果打印在屏幕上。
程序运行正常,输出结果与预期一致。
实验四:汇编程序的数组操作编写的汇编程序通过定义一个长度为10的数组,并将数组中的值初始化为0,利用循环将数组中的每一个元素加1,并将每个元素的值打印到屏幕上。
实验2-汇编语言上机环境及基本操作

实验二汇编语言上机环境及基本操作一、实验目的及要求1 •掌握汇编语言源程序的书写格式和要求2 •掌握在计算机上建立、汇编、连接、调试及运行程序的方法。
3. 学会使用记事本、MASMLINK、DEBU等软件工具。
4 •掌握将数据和代码都放在代码段的程序设计方法。
5. 掌握将数据和代码放不同段的程序设计方法。
6. 掌握用LOOP旨令构建循环程序二、实验内容1.练习:计算机上建立、汇编、连接、调试及运行程序的方法编写程序,计算2A121)在D盘建立一文件夹,命名(例如101),将和复制到此文件夹;在此文件夹中新建文本文件,文件名改为汇编源程序名,例如:用记事本打开,输入源程序并保存。
源程序:assume cs:codecode segme ntmov ax,2mov cx,11s: add ax,axloop smov ax,4c00hint 21hcode endsend2) 汇编源程序点开始菜单,点运行,输入CMD按回车,进入命令提示符窗口;输入D:并回车,打开D盘,再输入CD 101并回车,进入101文件夹;输入MASM 2e12并回车,一路按回车,进行汇编汇编过程的错误分警告错误(Warning Errors )和严重错误(Severe Errors) 两种。
其中警告错误是指汇编程序认为的一般性错误;严重错误是指汇编程序认为无法进行正确汇编的错误,并给出错误的个数、错误的性质。
这时,就要对错误进行分析,找出原因和问题,然后再调用屏幕编辑程序加以修改,修改以后再重新汇编,一直到汇编无错误为止。
汇编通过后,会生成目标文件3) 连接目标程序、输入LINK 2e12并回车,一路按回车连接成功后,会生成可执行文件4) 跟踪并调试可执行程序输入DEBUGS按回车,进入DEBU调试程序单步运行程序,跟踪程序,每执行一条指令,检查相关寄存器或存储器的数据,看看程序是否按我们的意愿运行,若有出入,修改源程序,重新汇编、连接、运行调试,直到成功编写程序计算100X 300,用循环结构实现完成否2 •将数据和代码都放在代码段的程序设计方法程序功能:将8个字数据累加求和,存入AX便于大家检查验证,将8个字设为1, 2,3, 4, 5, 6,7, 8assume cs:codesgcodesg segme ntdw 1,2,3,4,5,6,7,8start : mov bx,0mov ax,0v1.0可编辑可修改mov cx,8s: add ax,cs:[bx]add bx,2loop smov ax,4c00hint 21hcodesg endsend start调试程序,结果是否正确若将程序中的标号start去掉,结果如何DS吗add ax,cs:[bx]语句中段前缀为什么用CS能去掉吗能改为3•将数据和代码都放在不同的段,实现题2的功能assume cs:codesg,ds:datasgdatasg segme ntarray dw 1,2,3,4,5,6,7,8datasg endscodesg segme ntstart :mov ax,datasgmov ds,axmov bx,offset arraymov ax,0mov cx,8s: add ax,ds:[bx]add bx,2loop s mov ax,4c00h int 21hcodesg endsend start调试程序,结果如何比较3和2的源程序,多段程序设计与单一段程序设计4. 对题3的程序稍做修改,求出8个数中的最小数和最大数分别存入MIN和MAX 单元(若能力有限,只求其中之一)提示:用比较指令(P62)结合条件转移指令(P89),产生不同的程序分支要求简要描述解题思路,源程序要加上必要的注释。
汇编语言程序设计上机实验报告(实验三)-循环程序设计

汇编语言程序设计上机实验报告(实验三)一、实验题目、内容及要求:一、实验题目、内容及要求:题目:循环程序设计内容:编写一程序,要求从键盘接收一个4位十六进制数,在终端上显示与它等值的二进制数。
二进制数。
要求:实验前要作好充分准备,包括程序清单、调试步骤、调试方法,对程序结果的分析等。
本实验要求在EDIT 下编写完整的汇编语言程并生成可执行文件运行。
下编写完整的汇编语言程并生成可执行文件运行。
二、实验时间及地点二、实验时间及地点日期:日期: 2011/11/21 节次:节次: 7.8 地点:地点:电子实验楼二楼电子机房电子实验楼二楼电子机房 三、实验目的三、实验目的通过本实验掌握DOS 系统功能调用功能,掌握循环程序设计的方法;学会编写循环结构程序。
构程序。
简述在实验过程中遇到的问题和解决的方法:简述在实验过程中遇到的问题和解决的方法:1、问题:遇到死循环解决方法:程序显示disp 中发现执行int int 21h 21h 会修改al 的值,避免这种情况的方法就是使用堆栈段。
2、问题:调试中出现no data segment 解决方法:start 开始时没有将数据段的IP 地址赋给dx 。
data segment 3、问题:可执行,结果为乱码解决方法:数据划分比较的粗,没有系统的将数据系统划分。
系统划分:<30h other 30h-39h num 39h-41h other 41h-46h big zi mu 46h-61h other 61h-67h small zi mu >67h other 运行结果:(要求用“抓图软件”抓程序的运行结果)(要求用“抓图软件”抓程序的运行结果)结果分析及实验体会:结果分析及实验体会:1、结果0001001000110100是十六进制数1234转化而来。
十六进制数通过ASCII码对照转换为二进制数。
A~F----- -57hA~ f----- -57h0~9 ------ -37h2、学习应用了循环指令并了解了其特点:A、循环指令不影响标志位B、其功能为使寄存器CX的值减1,如果结果不等于0,则循环至标号,否则顺序执行。
汇编上机实验要求

实验一单指令功能测试实验一、实验目的1.会使用DEBUG软件;2.利用DEBUG单步执行功能测试指令的执行。
二、实验内容P131,14题三、实验要求(结果)1. 在上机实验之前,首先做完作业;2. 设计如何验证指令执行的正确性操作,并在作业中描述;3. 周一上机验证,并给出上机结果。
若有出入,简要说明原因。
4. 实验报告当堂提交。
实验二完整的汇编语言程序设计实验一、实验目的1.掌握完整的汇编语言源程序的设计方法;2.掌握汇编语言源程序的执行过程。
二、实验内容设计一个程序,将所有的小写字母转换为大学字母,此程序不能改变除字母a~z外的任何其它字符。
三、实验要求(结果)1. 在上机实验之前,首先编写程序;2. 周一上机调试程序,并给出修改、运行正确的源程序;3. 分析错误原因;4. 实验报告当堂提交。
实验三子程序设计实验一、实验目的1.掌握汇编语言源程序子程序设计方法;2.会使用CV软件工具。
二、实验内容编写子程序:判断三边能否构成三角形;编写主程序:输入三边,调用子程序判断,若能,则输出“Y”,否则输出“N”。
共判断10次。
三、实验要求同实验二。
实验四 宏汇编以及浮点程序设计实验一、实验目的1.掌握宏汇编程序编程技术及宏调用的方法;2. 了解浮点CPU 编程方法及特点。
二、实验内容求(1+2+3+4+5+6+7+8+9)⨯LC π21的和,查看内存写出其值;三、实验要求1. 利用重复宏定义实现1、2、3⋯9数据的定义;2. 编写程序,上机验证结果的正确性。
3. 其它要求同前。
实验五 多模块程序设计实验一、实验目的1.掌握汇编段的属性的含义;2. 掌握利用LINK 将多模块连接起来的方法;3.掌握利用库文件将多模块连接起来的方法。
二、实验内容将实验4分别变成两个主、子模块,分别用LINK 和库方式实现其功能。
实验六 混合程序的开发实验一、实验目的1.了解混合调用中的参数设置;2. 掌握混合调用的方法;二、实验内容用汇编完成两个变量相加的独立子程序,编写C++调用汇编子程序,并将和显示在屏幕上。
汇编语言上机环境及基本操作

实验一汇编语言上机环境及基本操作一、实验目的1.学习及掌握汇编语言源程序的书写格式,明确程序中各段的功能和相互之间的关系。
2.学会使用EDIT、MASM、LINK、DEBUG等软件工具。
3.熟练掌握在计算机上建立、汇编、连接、调试及运行程序的方法。
二、实验要求输入并调试运行程序,完成后写出程序所完成的功能及程序运行结果三、实验内容汇编语言源程序的建立设定源程序的文件名为ABC。
DATA SEGMENTX DB -60Y DB 70Z DB -50W DB -100RESULT DB ?DATA ENDSSTACK SEGMENT STACK ’STACK’STA DB 10 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATAMOV DS,AXMOV AL,XIMUL YMOV BX,AXMOV AL,ZCBWADD AX,BXIDIV WSUB AL, 15MOV RESULT,ALMOV AH,4CHINT 21HCODE ENDSEND START1、进入汇编环境打开开始菜单,点击运行,键入cmd进入DOS环境;键入以下命令:D:\masm>edit abc.asm程序输入完毕后一定要将源程序文件存入盘中,以便进行汇编及连接,也可以再次调出源程序进行修改。
2、将源程序文件汇编成目标程序文件一般情况下,MASM汇编程序的主要功能有以下3点:(1)检查源程序中存在的语法错误,并给出错误信息。
(2)源程序经汇编后没有错误,则产生目标程序文件,扩展名为.OBJ。
(3)若程序中使用了宏指令,则汇编程序将展开宏指令。
3、用连接程序生成可执行程序文件经汇编以后产生的目标程序文件(.OBJ文件)并不是可执行程序文件,必须经过连接以后,才能成为可执行文件(即扩展名为.EXE)。
4、程序的执行当我们建立了正确的可执行文件以后,就可以直接在DOS状态下执行该程序。
汇编语言程序上机实验

设置断点
在需要调试的代码行设置断点,以便在程 序运行时暂停执行。
分析程序的输出结果
运行可执行文件
在实验环境中运行可执行文件,观察 程序的输出结果。
分析结果
根据程序的输出结果,分析程序的逻 辑和功能是否正确实现。如果输出结 果与预期不符,检查源代码和调试过 程,找出问题所在并进行修正。
04
实验内容
根据实验需求选择合适的硬件设备是实验成功的关键,需要 考虑设备的性能、兼容性和可扩展性等因素。
03
实验步骤
编写汇编语言源代码
确定实验题目和要求
根据实验指导书的要求,明确实验目的和任务,确定需要编写的 汇编语言程序。
编写代码
使用汇编语言编写源代码,实现程序的功能。注意语法和指令的 正确性,确保程序逻辑正确。
编写一个简单的汇编语言程序
总结词
了解汇编语言的基本语法和结构
详细描述
编写一个简单的汇编语言程序,如输出“Hello, World!”的程序,了解汇编语言的指令、寄存器、数据和程序结 构等基本概念。
实现一个简单的计算器程序
总结词
掌握汇编语言的算术运算指令
详细描述
编写一个可以进行加、减、乘、除运 算的简单计算器程序,通过汇编语言 的算术指令实现。
了解汇编语言程序的 基本结构,如程序头、 数据段、代码段等。
熟悉子程序和中断服 务程序的编写和使用。
掌握汇编语言程序的 流程控制结构,如顺 序、分支、循环等。
掌握汇编语言的程序调试方法
熟悉汇编语言程序的调试工具, 如调试器、反汇编器等。
掌握调试工具的基本使用方法, 如设置断点、单步执行、查看 寄存器值等。
调试程序并运行可执行文件
打开调试器
汇编语言上机实验报告

汇编语言上机实验报告实验时间:XXXX年XX月XX日实验课程:XXXXX实验室地点:XXXXX一、实验目的:1.熟悉汇编语言的基本语法和指令格式;2.掌握汇编语言程序的编写和调试方法;3.理解汇编语言与计算机硬件之间的关系。
二、实验设备与环境:1.实验设备:个人计算机或计算机终端;2. 实验环境:汇编语言开发工具,如Masm、TASM等。
三、实验内容:本实验通过编写汇编语言程序,实现以下功能:1.输入两个整数,求出其和并输出;2.输入一个正整数,判断其是否为素数并输出结果;3.输入一段字符串,判断其中是否存在一些字符,并输出字符的位置。
四、实验原理与方法:1.汇编语言基本语法:包括数据定义、指令格式、寄存器、标志位等;2.输入输出操作:通过中断调用实现从键盘输入、向屏幕输出;3.常用指令:包括数据传送指令、算术运算指令、逻辑运算指令等;4.判断与分支:通过条件判断指令实现程序流程控制。
五、实验步骤:1. 打开汇编语言开发工具,新建文件,并保存为.asm文件;2.编写程序,包括数据定义、指令编写等;3.进行程序调试,检查程序的正确性和运行结果;4.运行程序,查看程序的输出结果;5.对程序进行优化,确保程序的效率和稳定性;6.编写实验报告,记录实验过程和结论。
六、实验结果与数据分析:1.第一个功能的结果:输入两个整数进行相加并输出;2.第二个功能的结果:输入一个正整数,判断是否为素数并输出结果;3.第三个功能的结果:输入一段字符串,判断是否存在一些字符,并输出字符的位置。
七、实验总结:通过本次实验,我对汇编语言的基本语法和指令格式有了更深入的了解,掌握了汇编语言程序的编写和调试方法,加深对汇编语言与计算机硬件之间关系的理解。
在实验过程中,我遇到了一些困难和问题,但通过不断学习和尝试,最终解决了这些问题。
通过实验,我对汇编语言的应用有了更深入的认识,并体会到了编程的乐趣和挑战。
实验完成后,我深刻感受到了汇编语言的底层性能和灵活性,同时也意识到了其编码复杂和调试困难的一面。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汇编上机实验要求
实验一单指令功能测试实验
一、实验目的
1.会使用DEBUG软件;
2.利用DEBUG单步执行功能测试指令的执行。
二、实验内容
P131,14题
三、实验要求(结果)
1. 在上机实验之前,首先做完作业;
2. 设计如何验证指令执行的正确性操作,并在作业中描述;
3. 周一上机验证,并给出上机结果。
若有出入,简要说明原因。
4. 实验报告当堂提交。
实验二完整的汇编语言程序设计实验
一、实验目的
1.掌握完整的汇编语言源程序的设计方法;
2.掌握汇编语言源程序的执行过程。
二、实验内容
设计一个程序,将所有的小写字母转换为大学字母,此程序不能改变除字母a~z外的任何其它字符。
三、实验要求(结果)
1. 在上机实验之前,首先编写程序;
2. 周一上机调试程序,并给出修改、运行正确的源程序;
3. 分析错误原因;
4. 实验报告当堂提交。
实验三子程序设计实验
一、实验目的
1.掌握汇编语言源程序子程序设计方法;
2.会使用CV软件工具。
二、实验内容
编写子程序:判断三边能否构成三角形;
编写主程序:输入三边,调用子程序判断,若能,则输出“Y”,否则输出“N”。
共判断10次。
三、实验要求
同实验二。
实验四宏汇编以及浮点程序设计实验
一、实验目的
1.掌握宏汇编程序编程技术及宏调用的方法;
2. 了解浮点CPU 编程方法及特点。
二、实验内容
求(1+2+3+4+5+6+7+8+9)?LC π21
的和,查看内存写出其值;
三、实验要求
1. 利用重复宏定义实现1、2、3?9数据的定义;
2. 编写程序,上机验证结果的正确性。
3. 其它要求同前。
实验五多模块程序设计实验
一、实验目的
1.掌握汇编段的属性的含义;
2. 掌握利用LINK 将多模块连接起来的方法;
3.掌握利用库文件将多模块连接起来的方法。
二、实验内容
将实验4分别变成两个主、子模块,分别用LINK 和库方式实现其功能。
实验六混合程序的开发实验
一、实验目的
1.了解混合调用中的参数设置;
2. 掌握混合调用的方法;
二、实验内容
用汇编完成两个变量相加的独立子程序,编写C++调用汇编子程
序,并将和显示在屏幕上。