汇编实验指导(2016)
汇编语言实验指导书(第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
汇编语言实验指导书实验环境: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将使用当前工作目录。
《汇编语言》实验指导书.
《汇编语言》实验指导书目录实验一Debug命令的使用 (3)实验二基本汇编指令的使用 (7)实验三汇编语言程序的调试与运行 (10)实验四系统功能调用程序的调试与运行 (15)实验五分支程序设计 (17)实验六循环程序设计 (20)实验七子程序设计 (23)实验八高级汇编语言程序设计 (25)实验九I/O程序设计 (30)实验十中断程序设计 (33)实验十一综合程序设计 (38)实验一Debug命令的使用一、知识点1、DEBUG简介DEBUG.EXE是DOS提供的用于调试可执行程序的一个工具软件。
在汇编语言程序调试中很常用。
DEBUG的提示符是“-”,所有DEBUG调试命令均在此提示符下输入。
DEBUG命令都是一个字母,后跟一个或多个参数,也可使用默认参数。
DEBUG命令的使用注意问题:(1)字母不分大小写(2)只使用十六进制数,但没有带后缀字母“H”(3)命令如果不符合DEBUG的规则,则将以“error”提示,并以“^”指示出错位置。
(4)每个命令只有按下回车键后才有效,可以用Ctrl+Break终止命令的执行。
2、Debug的调入和退出以WIN2000环境为例,点击“开始/运行…”,在“运行”对话框中输入命令:cmd,然后点击“确定”,进入DOS命令行状态:C:\Documents and Settings\lfy>然后输入命令:>Debug进入Debug调试状态,出现Debug命令提示府“-”,在此提示符下可运行所需要的Debug 命令了。
退出Debug的命令:Q3、Debug常用命令(1)汇编命令A,格式为:- A [地址]功能:从指定地址开始允许输入汇编指令,并将该指令汇编成机器指令代码从指定地址开始存放。
若不指定地址,则系统从默认的地址开始存放。
按回车键退出汇编状态应用:用于调试一条指令或几条指令组成的一个程序段。
(2)显示和修改寄存器命令R,格式为:- R [寄存器名]功能:若指定寄存器,则显示指定的寄存器的内容,并可进行修改;若不要修改,则按Enter 健。
汇编语言和实验指导
2024年国家开放大学电大《公司概论》形考任务参考题库及答案学校:________班级:________姓名:________考号:________一、单选题(18题)1.公司重整不适用哪种公司()A.发行股票的股份公司B.发行公司债券的股份公司C.股份公司D.有限公司2.主持公司的生产经营管理工作,组织实施董事会决议是()的职权。
A.总经理B.董事会C.股东大会D.监事会3.以下哪一点是集中型股权结构容易导致的缺点,()A.对经营者监控失效B.造成经营者短期化经营行为C.控股股东滥用其经营控制权,损害一般股东权益D.易出现内部人控制问题4.企业的“脱壳经营”,即指企业经营陷入困境后,主要人、财、物与原企业脱钩另行组成新的法人进行独立经营,新企业不承担原企业债务,这种行为适用于公司人格否定的哪种情形()A.公司人格混同B.公司资本显著不足C.虚拟股东D.利用公司人格逃避契约义务5.以下哪一点是股份有限公司的缺点()A.承担无限责任B.组建程序简单C.信用程度低D.筹集资本较难6.以下哪一项不是公司人格独立的内涵,()A.公司具有独立的民事权利能力B.股东承担无限责任C.公司拥有独立财产D.公司和股东责任有限7.现代公司产生和发展于()。
A.17-18世纪B.封建社会解体,资本主义迅速发展时期C.19世纪下半叶D.产业革命爆发时8.下列职权中,属于董事会的有()。
A.修改公司章程B.制定公司增减资本、发行公司债券的方案C.提请聘任或解聘公司的副总经理和财务负责人D.选举监事会成员9.兼并指的是()。
A.吸收合并B.新设合并C.承担债务式合并D.购买式合并10.下列哪一项不属于股份有限公司创立大会的职权()A.制定公司章程B.通过公司章程C.选举董事会、监事会成员D.审议发起人关于公司筹办情况的报告11.下列关于产权的说法不正确的是()。
A.产权的基础和核心是所有权B.产权是一组权利C.产权的各项权能可以分离D.产权的各项权能不能转化12.以下哪一个不是吸收合并的特点()A.降低合并的费用B.手续简便C.可以保持公司的连续性D.易于公平协调员工之间的关系13.以下哪个不是公司分立的动机()A.财产分割B.经营分割C.减少竞争对手D.扩大资本控制范围14.下列哪种权利需要股东付出而不是得到()A.投票权B.分红权C.转让权D.A和B15.以下哪一项不是公司制企业的缺点,()A.组建程序复杂B.保密性差C.政府对公司的限制较多D.抗风险能力差16.信誉度最高、利率最低的债券是()。
汇编实验指导新(实验一)
汇编语言程序设计实验指导实验一汇编语言程序设计上机及debug的使用一、实验目的及要求1.学会使用EDIT、MASM、LINK、DEBUG等软件工具。
2.熟练掌握在计算机上建立、汇编、连接、调试及运行程序的方法。
二、实验内容(一) 上机过程1.汇编语言源程序的上机环境硬件环境:目前8086汇编语言程序一般多在IBM PC/XT及其兼容机上运行,因此要求机器具有一些基本配置就可以了,汇编语言对机器硬件环境没有特殊要求。
软件环境:软件环境是指支持汇编语言程序运行和帮助建立汇编语言源程序的一些软件。
编写MASM程序至少需要三个工具,一个是用来准备源文件的文本编辑程序,一个是用来将源文件转换成目标文件的MASM汇编程序,最后一个是用来将多个目标文件连接成一个DOS可执行文件的LINK连接程序。
(1)进入DOS操作系统:汇编语言程序的建立和运行在DOS操作系统支持下进行,要首先进入MS-DOS状态:点击开始菜单/运行在打开提示框中输入cmd再回车cd\apps\masm回车(2)编辑程序:编辑程序是用来输入和建立汇编语言源程序的一种通用的系统软件,通常源程序的修改也是在编辑状态进行的。
编写汇编语言程序的第一步,就是用文本编辑程序编写源文件。
源文件的编写可以利用任何一种文本编辑程序完成,具体使用哪一种,完全取决于个人喜好。
比如,记事本、、WORDSTAR、、等,但要注意,除了注释的内容外,一定要在非文本方式下输入各种语句和间隔符号,否则会汇编出错。
如:Edit abc.asm回车源程序以asm作文件名后缀。
Microsoft公司在推出MASM6.0的同时也提供了优秀的全屏幕文本编辑程序,作为PWB(程序员工作平台)的组成部分。
该编辑程序支持下拉式菜单、鼠标,并可根据用户特定需求进行裁剪。
(3)汇编程序:8086的汇编程序有基本汇编ASM.EXE和宏汇编MASM.EXE两种。
基本汇编ASM.EXE不支持宏操作,因此,一般选用宏汇编MASM.EXE。
汇编实验指导1
《汇编语言程序设计》实验指导书实验1 DEBUG的使用1、实验目的掌握DEBUG常用命令的使用;熟悉8086CPU内部有多少寄存器;掌握访问段式存储器结构地址的表示方法。
2、实验内容将数据段中的两个数求和,结果保存在数据段中。
源程序、机器语言程序如下:CS:0100 Al 00 00MOV AX,[0000]CS:0103 03 06 02 00ADD AX,[0002]CS;0107 A3 04 00MOV [0004],AXCS:010A CB RETF数据段内容如下:DS:0000 2301 2500;两个已知数3、实验步骤(1)用E命令键人上述机器语言程序和数据段的初值。
—E DS:000 2301 2500—E DS:006 2A 2A 2A (2A为*标记,是为便于查看数据段内容而设置)—E CS:100 A1 00 00 03 06 02 00—E CS:107 A3 04 00 CB(2)用D命令检查数据段、代码段内容。
—D DS:0—D CS:100(3)用T命令逐条执行上述程序,注意观察每条指令执行后相应寄存器的变化。
(4)用U命令反汇编本程序。
—U 100 10A(5)用R命令修改IP的内容为0100重新执行上述程序。
—R IP显示:IP 010A:0100(6)用G命令运行程序。
—G =CS:0100 107观察:IP=AX=—G =CS:0100 10A观察:IP=AX=4、实验思考题(1)用A命令输入源程序:CS:0100 MOV AX,FFFFSTC0104 MOV DS,AXMOV BX,DSMOV ES,BXMOV CX,ESMOV SS,CXMOV DX,SSMOV SP,DXMOV BP,SPMOV SI,BPMOV DI,SIJNB 012lXOR AX,DIJNZ 0125CLCJMP 01040121 OR AX,DIJZ 01000125 HLT(2)用T命令单步执行上述程序。
汇编语言程序设计实验指导
汇编语言程序设计实验指导【实验提要】以下列举的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,即二者的补码和与差。
汇编程序实验指导
组成原理与汇编8088/8086汇编语言实验指导仰恩大学计算机学院电子工程系一、实验目的1.初步了解8086/8088汇编程序的基本结构,利用Windows XP附件的写字板编辑简单的汇编语言源程序,形成扩展名为 .ASM 的文本文件格式(即汇编源程序)。
2.学习宏汇编程序MASM.EXE ,连接程序LINK.EXE,调试程序 DEBUG .EXE的使用。
3.在微机上、在Masm for Windows集成实验环境下,运行并调试8086/8088汇编源程序。
二、上机前的准备1. PC机的操作系统可以是Windoes98,也可以是Windows XP。
2.硬盘上安装Masm for Windows集成实验环境软件, 上面应有MASM、LINK、DEBUG等文件,还应有足够的空间以容纳你的汇编源程序。
3. 学习以上三个文件的使用方法,准备好上机的源程序并认真去读懂它。
三、用“写字板”编辑汇编的源程序1. 用“写字板”编辑好源文件LH, LH假设为李华同学的源程序文件名(下同),则文件名是LH.ASM ,文件的扩展名一定要用.ASM。
然后保存在C:盘的目录下。
2.编辑你的源程序时,注意不要有空行、光标也不要超过最后一行。
四、MASM.EXE编译程序的运行在Masm for Windows集成实验环境中打开LH.ASM文件,然后在点击运行项, 在其下拉菜单中点击编译成目标文件(OBJ), 如果你输入的文件完全正确,将在下面的栏中显示:编译源程序C:\>LH.ASM编译成功汇编的目的是要形成目标文件,即机器代码文件,也就是LH.OBJ文件。
该文件不是文本文件,因此用编辑软件是看不到的,看到的只是一些乱码。
五、 LINK.EXE 生成可执行文件的运行在Masm for Windows集成实验环境中点击运行项, 在其下拉菜单中点击生成可执行文件(EXE), 如果你输入的文件完全正确,将在下面的栏中显示:编译源程序C:\>LH.ASM生成EXE文件成功对LH.OBJ文件连接的主要目的是要生成LH.EXE文件。
汇编实验指导书-1
实习一调试工具的使用方法训练1 调试工具DEBUG简介DEBUG是DOS操作系统为汇编语言程序设计者和系统管理员提供的一个通用调试工具,利用DEBUG可以读写、传送、比较、查找和显示存储器单元内容,设置程序起始执行地址或断点,执行程序或分段执行程序,跟踪程序执行,显示处理器状态,汇编或反汇编程序等。
用DEBUG 编程简单、方便和直观,可以直接查看程序执行情况,便于熟悉和理解指令,掌握基本编程技巧。
DEBUG只使用十六进制表示数据(十六进制数后不加“H”),屏幕的显示数据形式如下:1400:0100 24 65 6E 64 73 0D 0A 20-20 63 6F 64 65 20 20 24 *ends..code *1400:0110 73 65 67 6D 65 6E 74 0D-0A 20 20 20 20 20 20 24 segment.. *1400:0170 24 61 78 2c 30 0D 0A 09-20 20 20 20 70 75 73 68 *ax,0 push屏幕每行显示内容分为三部分,一行共显示十六个字节单元的内容。
第一部分是本行所显示的16个字节数据在存储器中的起始存放地址;第二部分是以十六进制显示的16个字节数据;第三部分是将本行所显示字节数据看作ASCII码时显示的字符,若某字节数据对应不可显示的ASCII码,则显示一个“.”字符代替该字节数据的显示字符。
DEBUG只有十几条单字母命令,功能强且易掌握,常用DEBUG命令如下:1)DEBUG的进入和退出进入DEBUG时,如果要同时装入某程序,键入下面的命令:H:> DEBUG <文件名> [<参数>]其中文件名指定要装入的程序目标码文件,其扩展名可以是.COM或.EXE。
<参数>是由被装入程序接收的参数。
此外,也可以用下面的方式进入DEBUG:H:> DEBUG-“-”是DEBUG的命令提示符,表明已进入DEBUG状态。
微型计算机(汇编语言)实验指导
实验须知一、预习要求1.实验前认真阅读实验教程中有关内容,明确实验目的和实验任务。
2.每次实验前应有预习报告,未预习者不允许参加实验。
3.预习报告中:要求画出程序流程图,编好上机程序。
二、实验要求1.实验是学习“汇编语言程序设计”课程的重要环节,实验课请勿迟到,缺席。
2.爱护设备,保持清洁,不随意更换设备。
3.认真完成实验任务,实验结果经教师检查,教师对实验内容提问,对完成者做记录。
4.实验完毕,请整理实验设备,再离开实验室。
三、报告要求每次实验后,应递交一份实验报告,报告中应包括下列内容:1.实验名称、实验人姓名、学号、班级、所用的设备号。
2.实验目的、任务。
3.各任务程序流程图、程序清单(应加适量注释)。
4.记录和分析实验结果。
5.据实验目的认真做小结。
目录实验一DEBUG命令的使用 (2)实验二汇编语言指令系统练习 (10)实验三汇编语言程序的调试与运行 (13)实验四顺序程序设计 (21)实验五分支程序设计 (24)实验六循环程序设计 (27)实验七子程序设计 (29)实验八DOS和BI OS中断功能调用 (31)附录I 汇编程序示例 (34)附录I I 8086/8088汇编指令表 (40)附录III 常用ASC II表 (42)实验一DEBUG命令的使用一、实验目的1.练习简单的DOS命令(DIR, CD,DEL ,COPY)2.学习使用DEBUG程序的常用命令。
(R,D,E, A,U,T, G,Q)3.了解8086内存地址空间分配二、预备知识1.DOS常用命令练习在Windows 98、Windows2000、Windows XP 中启动DOS,单击“开始”菜单中的“运行”命令,打开“运行”对话框,在文本框中输入“command”后,单击“确定”按钮。
进入DOS方式后,如果显示为窗口方式,可以按下Alt+Enter 键将窗口变换为全屏幕方式。
(1)要更换当前目录到硬盘的其它分区,应该输入盘符然后回车。
汇编实验指导
参考数据段定义:
data
segment
str
db ‘… …’,0dh,0ah, ‘$’
len
equ $-str-3
mess1 db ‘char:$’
mess2 db 0dh,0ah, ‘count:$’
data
ends
;字符串 ;串长度 ;提示信息1 ;提示信息2
显示字符串str 显示提示信息mess1,从键盘输入待查字符 调用子程序coun,查找字符并统计次数存bl
IBM-PC汇编语言程序设计 上机实验
实验一 DEBUG调试程序的使用
实验目的
熟悉DEBUG调试程序的调用及常用命令的使用方法
实验内容
DEBUG程序的调用 汇编及反汇编命令 A、U 的使用练习 显示及修改内存单元命令 D、E 的使用练习 显示或修改寄存器命令 R 的使用练习 单步及连续执行命令 T、G 的使用练习 退出命令 Q 的使用练习
INT 21H
从键盘输入1位十进制数
MOV AH,01H
INT 21H
SUB AL,30H
;把ASCII码转换为数字
显示十进制结果
ADD AL,30H
;把结果转换为ASCII码
MOV DL,AL
MOV AH,02H
INT 21H
源程序框架
DATA SEGMENT INFOR1 DB “INPUT THE FIRST DATA (<=4): $” INFOR2 DB 0DH,0AH,“INPUT THE SECOD DATA (<=4): $” INFOR3 DB 0DH,0AH,“THE SUM IS: $” DATA ENDS
实验报告
实验目的、一个ASCII码10H → BL
汇编实验指导书
显示所有寄存器内容、标志位情况及下一条指令。
AX102A BX0000 CX0100 DX0000 SP0040 BP0000 SI0000 DI0000
DS1528 ES1428 SS1723 CS1822 IP0003 NV UP DI PL NZ NA PO NC
注意事项:
1、正确、合理使用存储器和寄存器。
• 准确地使用存储单元地址,会用各 种方式表示存储单元地址。
• 正确、合理使用CPU中各寄存器。
2、掌握调试工具DEBUG的使用。
2021/4/6
1
汇 编 语 言 程 序 的 开 发
2021/4/6
2
汇编语言程序的开发步骤 1、编辑—建立汇编语言源程序( .ASM )
18222:00201/04/36 8ED8 MOV DS,AX
11
4、修改命令E
1)修改存储单元内容
A、用内容表修改
- E [地址] [内容表] -E DS:100 F3’XYZ’8D
B、逐个修改
-E 地址 例: - E DS:0 1200:100 20 31 ;将20H修改为31H
输入一个字节的16进制数,替代原单元中的内容。
用任何一种编辑软件,如 EDIT等。
按逻辑段来组织源程序;
以END语句结束源程序; 源文件扩展名为 .asm,且不能省略。
• 源文件扩展名为 .asm,且不能省略。
2021/4/6
3
2、汇编源程序——生成目标( .OBJ )
汇编程序:MASM 格式: MASM *.ASM
主要功能
检查语法错误 实现宏替换 生成目标程序
单元202开1/4/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执行程序。
如果用户程序有错误或者没有直接将结果在终端上显示出来,程序执行完之后无法看见正确的结果。
那么怎么知道程序执行的结果是正确的呢?此外,大部分程序必须经过调试阶段才能纠正程序执行中的错误,得到正确的结果。
汇编语言实验指导更完整
目录(1)利用DEBUG调试汇编语言程序段 (1)(2)初级程序的编写与调试实验(一) (7)(3)初级程序的编写与调试实验(二) (18)(4)汇编语言程序上机过程 (24)(5)分支程序实验 (28)(6)循环程序实验 (33)(7)子程序实验 (37)(1)利用DEBUG调试汇编语言程序段一、实验目的1.熟悉DEBUG有关命令的使用方法;2.利用DEBUG掌握有关指令的功能;3.利用DEBUG运行简单的程序段。
二、实验内容1.进入和退出DEBUG程序;2.学会DEBUG中的D命令、E命令、R命令、T命令、A命令、G命令等的使用。
对于U 命令、N命令、W命令等,也应该试用一下;3.用DEBUG,验证乘法、除法、加法、减法、带进位加、带借位减、堆栈操作指令、串操作指令的功能。
三、实验环境PC微机DOS操作系统或Windows 操作系统MASM.EXE,LINK.EXE,或宏汇编集成环境四、实验要求1.仔细阅读有关DEBUG命令的内容,对有关命令,要求事先准备好使用的例子;2.作为例子,准备用A命令,输入在显示器上显示字符“$”的系统调用程序段;3.编写将AX左移9位的程序段。
五、主要实验步骤(一)学会使用DEBUG中的简单命令:1.打开DOS,开始——运行——cmd。
2.进入DEBUG,在DOS下输入DEBUG,直接进入。
3.在DEBUG中输入D,查看D命令结果,输入D 1000,查看指定地址的数据。
4.在DEBUG中输入E100,修改地址100的数据,再输入D100,查看修改后的结果。
5.在DEBUG中输入R,查看当前寄存器的内容。
6.在DEBUG中输入A,输入以下代码:mov ax,1234mov [1000],ax输入T显示第一条命令运行结果,再次输入T,显示第二条命令运行结果,输入d1000,验证命令运行结果。
7.在DEBUG中输入A,输入以下代码:mov ax,1234mov [1000],ax输入G [=起始地址] [结束地址]↓,再输入D1000,验证命令运行结果。
汇编语言试验指导
实验指导一.上机实验的一般步骤和要求:1.上机前对选定的实验题应有所了解,并写好程序。
2.上机过程中对重要方法和步骤、问题和结果应有记录。
3.所有程序原则上都要通过调试手段运行。
4.实验后进行分析和总结,给出实验报告。
二.实验报告的内容一般有:1.实验题的内容及要求。
2.思路和方法、算法描述及有注释和说明的程序清单。
3.程序调试和运行的重要步骤、问题和结果。
4.分析和总结。
三.实验环境的建立参看第二章第一节。
通常在WINDOWS XP系统下。
如果其他操作系统(如WIN 7),不支持汇编程序工作,可安装Masm for Windows集成实验环境asm20125(支持Win2000、WinXP、WinVISTA、WIN7等操作系统)。
/实验1 上机过程及程序调试实验目的:1.通过第二章两个简单实例认识汇编语言程序,初步了解程序格式;段定义;标号;DOS系统功能;操作数;指令;说明语句等作用。
2.掌握汇编语言程序从设计到形成可执行程序文件的方法和步骤。
即编辑、汇编、连接。
了解汇编语言的系统工作文件和工作环境。
理解汇编程序和连接程序的作用。
理解列表文件内容。
3.初步了解程序的运行和调试方法。
学会使用DEBUG主要命令和常用的DOS命令。
实验内容:【1】编辑第二章两个简单实例,通过汇编、连接。
【2】用DEBUG对hello程序进行调试。
问题:(1) 该程序在内存中的起始地址是多少?结束地址是多少?共占几个字节?(2) 0B63:0008表示什么意思?(3) 程序中定义的串‘HELLO, WORLD !$’在内存中的起始地址是多少?请用DEBUG命令显示该串。
(4) 如果用带有断点的G命令运行该程序,写出命令。
(5) 用P命令单步执行程序。
(6) 用T命令跟踪程序,在跟踪执行INT 21时出现什么问题?(7) 用A命令在偏移地址100H处建立该段程序,并运行。
(8) 用W命令把该段程序写成文件,再调入。
实验2 算术及位串处理程序实验目的:掌握多数位的算术运算、移位操作、字符串操作等程序的设计,学习使用分支与循环等基本编程方法,熟练使用DEBUG。
《汇编语言》实验指导书
《汇编语言》实验指导书计算机学院硬件实验室目录第1部分实验预备知识1.1汇编语言程序的上机操作过程1.2常用DEBUG命令的功能第2部分汇编语言实验实验1 DEBUG基本命令使用 (8)实验2 汇编语言程序的调试与运行 (9)实验3 顺序结构程序设计 (10)实验4分支程序设计 (11)实验5循环程序设计 (12)实验6子程序设计 (15)实验7中断服务程序设计 (16)实验8综合程序设计 (17)实验932位80x86程序设计 (20)第1部分实验预备知识汇编语言程序设计是一门实践性很强的课程。
编写程序、上机调试、运行程序是进一步学习和掌握汇编语言程序设计的必要手段。
建立程序、调试程序需要一些应用程序的帮助。
下面先介绍一些与上机操作有关的应用程序,以为第二部分的实验做出必要的准备。
1.1汇编语言程序的上机操作过程一、所需文件为运行汇编语言程序至少要在磁盘上建立以下文件:(编辑程序)或其他编辑软件MASM.EXE (汇编程序)LINK.EXE(连接程序)DEBUG.EXE(调试程序,DOS外部命令文件)二、运行汇编语言程序的操作步骤1.用编辑程序建立.ASM源文件;2.用汇编程序把ASM文件转换成.OBJ文件;3.用连接程序把OBJ文件转换成.EXE文件;4.用DOS命令直接输入文件名就可执行该程序。
三、汇编语言源程序上机操作过程第一步:建立汇编源程序(即:建立文件名.asm)这个过程就相当于我们在纸上编写源程序代码一样,只不过是将纸变为了计算机,这个过程也称源代码录入。
将源程序代码录入计算机的方法很多,下面将介绍具体方法。
(1)通过windows自带的EDIT.EXE文本编辑器进行输入。
双击图标或在DOS提示符下键入:EDIT回车,这时如果你系统内可调用时,EDIT的操作画面便会出现在屏幕上,你就可在提示下进行录入了,当录入完毕后,选择存盘并给你输入的文件起一个文件名,形式:filename.asm ;(其中filename为你起的文件名,由1-8个字符组成),asm 是为汇编程序识别而必须加上去的,不可更改。
(完整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、DEBUG命令:G,N,W,L及Q。
2、8088系统中数据在内存中的存放方式和内存操作数的几种寻址方式。
3、8088指令:INC,DEC,LOOP,INT 3,INT 20H,寄存器SI,DI。
4、8088汇编语言伪操作:BYTE PTR,WORD PTR。
5、求累加和程序和多字节加减法程序。
实验内容和步骤:一、内存操作数及各种寻址方式使用:内容:MOV AX,1234MOV [1000],AXMOV BX,1002MOV BYTE PTR[BX],20MOV DL,39INC BXMOV [BX],DLDEC DLMOV SI,3MOV [BX+SI],DLMOV [BX+SI+1],DLMOV WORD PTR[BX+SI+2],2846步骤:1)用A命令键入上述程序,并用T命令逐条运行。
2)每运行一条有关内存操作数的指令,要用D命令检查并记录有关内存单元的内容并注明是什么寻址方式。
3)1、直接寻址方式。
2、寄存器间接寻址方式。
3、寄存器间接寻址方式。
4、基址变址寻址方式。
5、相对基址变址寻址方式6、相对基址变址寻址方式注意D命令显示结果中右边的ASCII字符及双字节数存放法。
思考:有关指令中BYTE PTR及WORD PTR伪操作不加行不行?试一试。
二、求累加和程序:程序:MOV BX,1000MOV CX,10SUB AX,AXLOP: ADD AL,[BX]ADC AH,0INC BXJ: LOOP LOPINT3步骤:1)用A命令将程序键入到100H开始的内存中,在键入时记下标号LOP和J的实际地址,在键入LOOP指令时LOP用实际地址值代替。
2)用命令N AA将此程序命名为文件AA(文件名可任取)。
3)用R命令将BX:CX17改为程序长度值(即最后一条指令后面的地址减去开始地址)4)用命令W 100将此程序存到AA命名的磁盘文件中。
汇编语言 实验指导
第一章汇编语言程序设计过程 (2)1-1 程序设计过程概述 (2)一、源程序的编辑 (2)二、源程序的汇编 (2)三、链接 (2)四、程序调试 (2)1-2 汇编程序开发环境概述 (3)一、集成环境 (3)二、DOS环境 (4)第二章调试工具DEBUG (6)2-1 DEBUG程序的调用 (6)2-2 DEBUG命令及使用方法 (6)一、显示存储单元命令D(Dump) (6)二、修改存储单元内容命令E(Enter) (7)三、检查和修改寄存器内容命令R(Register) (8)四、汇编命令A(Assemble) (9)五、反汇编命令U(Unassemble) (9)六、运行命令G(Go) (10)七、跟踪命令T(Trace) (11)八、退出命令Q(Quit)。
(11)九、其它命令 (11)第三章EDIT编辑器 (13)一、DOS系统EDIT的基本使用方法 (13)二、用EDIT建立源文件的推荐格式 (17)三、WINDOWS下编辑源文件的方法 (17)第四章汇编程序MASM的使用方法 (19)一、用MASM汇编源文件的一般格式 (19)二、用MASM汇编源文件的推荐格式 (20)第五章链接程序LINK的使用方法 (21)一、用LINK链接程序的一般格式 (21)二、用LINK链接程序的推荐格式 (21)第六章集成开发环境使用方法 (23)一、编辑源文件 (23)二、汇编 (24)三、链接 (24)四、程序运行 (24)第七章BIOS中断和DOS功能调用 (26)7-1 BIOS和DOS中断类型 (26)7-2 DOS系统功能调用方法 (27)一、DOS键盘功能调用 (28)二、DOS显示功能调用 (30)三、程序结束系统功能调用 (32)第一章汇编语言程序设计本章介绍汇编语言程序设计的基本步骤,主要目的是了解汇编程序的开发过程,各步骤的详细介绍请参考有关章节。
1-1 程序设计过程概述在学习了高级语言如C/C++程序设计后,程序员对程序的开发过程已经建立了清晰的程序设计步骤,即编辑、编译、链接、运行和调试。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汇编语言程序设计实验指导书实验一DOS常用命令及8088指令使用 (1)实验二内存操作数及寻址方法 (4)实验三数据串传送和查表程序 (6)实验四屏幕字符显示程序 (8)实验五条件转移指令 (10)实验六汇编语言程序上机过程 (13)实验七分枝程序 (15)实验八多重循环程序 (17)实验九子程序 (18)实验十音乐程序 (21)实验十一数码转换程序 (23)实验十二键盘和窗口程序 (26)实验十三活动图形显示程序 (28)实验一 DOS常用命令及8088指令使用实验目的:通过实验掌握下列知识:1、DOS命令: DIR,CD。
2、8088指令: MOV,ADD,ADC,SUB,SBB,DAA,XCHG3、DEBUG命令: A,D,E,F,H,R,T,U。
4、BCD码,ASCII码及用16进制数表示二进制码的方法。
5、8088寄存器: AX,BX,CX,DX,F,IP。
内容及步骤:一、DOSBOX的使用:1、把Masm5.0文件复制到F盘的根目录下;2、打开DOSBOX程序;3、在窗口下输入:MOUNT C F:\Masm5.0 回车;4. 输入C: 回车,把E:\Masm5.0当作C盘使用;4、输入dir 回车,是否看到masm5.0文件夹下面的文件,如果看到,说明当前的路径是在masm5.0文件夹下;二、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,347FH7、用R 命令检查各寄存器内容,特别注意AX,BX,CX,DX,IP及标志位中ZF,CF和AF的内容。
8、用R命令将AX,BX内容改写为1050H及23A8H。
思考并自己实现:1、要在当前段偏移量为120处开始连续存放8个8,请用命令实现;2、要在当前段偏移量为130处开始连续存放abcdefghijklmnop等字符,请用命令实现;三、8088常用指令练习1、传送指令1)用A命令在内存100H处键入下列内容:MOV AX,1234MOV BX,5678XCHG AX,BXMOV AH,35MOV AL,48MOV DX,75ABXCHG AX,DX2)用U命令检查键入的程序并记录,特别注意左边的机器码。
3)用T命令逐条运行这些指令,每运行一行检查并记录有关寄存器及IP的变化情况。
并注意标志位有无变化。
2、加减法指令:1)用A命令在内存100H处键入下列内容:MOV AH,34MOV AL,22ADD AL,AHSUB AL,78MOV CX,1284MOV DX,5678ADD CX,DXSUB CX,AXSUB CX,CX2)用U命令检查键入的程序及对应的机器码。
3)用T命令逐条运行这些指令,检查并记录有关寄存器及ZF情况。
思考:这次运行还是打入T,行不行?怎么办?用R命令检查一下IP的内容。
注意T命令与IP 的关系。
3、带进位加减法:1)用A命令在内存200H处键入下列内容,并用U命令检查:MOV AH,12MOV AL,84MOV CH,56MOV CL,78ADD AL,CLADC AH,CHMOV DH,A7MOV DL,58SUB DL,7FSBB DH,342)用T命令逐条运行这些指令,检查并记录有寄存器及CF内容。
3)上面这段程序若改用16位操作指令达到同样结果,怎么改?试修改并运行之。
4、BCD码加减法1)内容:MOV AL,58ADD AL,25DAA2)要求:用A 命令键入,U命令检查,T命令逐条运行并记录有关寄存器及AF内容。
实验报告要求:1、16进制数加减法手算结果及实验结果2、8088常用指令练习部分的逐条运行记录,思考结果及自编程序运行记录 (列出自编程序)。
附:DEBUG 使用:1、打 DEBUG 进入 DEBUG,显示提示符 '_ '。
2、退出DEBUG命令:Q3、显示内存命令:D 起始地址结束地址4、修改内存命令:E 起始地址,连续修改打空格键。
打回车键退出E命令。
5、检查寄存器命令:R标志位显示 1 0CF CY NCZF ZR NZSF NG PLAF AC NAOF OV NVPF PE PODF DN UPIF EI DI6、修改寄存器命令:R 寄存器名7、小汇编命令:A 起始地址,不输入指令打回车键退出A命令。
8、反汇编命令:U 起始地址结束地址9、文件命名命令:N 盘号:文件名10、读文件命令:L 内存地址11、写文件命令:W 内存地址10、读扇区命令:L 内存地址盘号(0--A:,1--B:) 扇区号扇区数11、写扇区命令:W 内存地址盘号扇区号扇区数12、运行命令:G=起始地址结束(断点)地址13、单步命令:T=起始地址运行指令数,进入子程序内部。
14、单步命令:P=起始地址运行指令数,不进入子程序内部。
15、内存搬家命令:M 起始地址结束地址目的地址实验二内存操作数及寻址方法实验目的:通过实验掌握下列知识:1、DEBUG命令:G,N,W,L及Q。
2、8088系统中数据在内存中的存放方式和内存操作数的几种寻址方式。
3、8088指令:INC,DEC,LOOP,INT 3,INT 20H,寄存器SI,DI。
4、8088汇编语言伪操作:BYTE PTR,WORD PTR。
5、求累加和程序和多字节加减法程序。
实验内容和步骤:一、内存操作数及各种寻址方式使用:内容:MOV AX,1234MOV [1000],AXMOV BX,1002MOV BYTE PTR[BX],20MOV DL,39INC BXMOV [BX],DLDEC DLMOV SI,3MOV [BX+SI],DLMOV [BX+SI+1],DLMOV WORD PTR[BX+SI+2],2846步骤:1)用A命令键入上述程序,并用T命令逐条运行。
2)每运行一条有关内存操作数的指令,要用D命令检查并记录有关内存单元的内容并注明是什么寻址方式。
注意D命令显示结果中右边的ASCII字符及双字节数存放法。
思考:有关指令中BYTE PTR及WORD PTR伪操作不加行不行?试一试。
二、求累加和程序:程序:MOV BX,1000MOV CX,10SUB AX,AXLOP: ADD AL,[BX]ADC AH,0INC BXJ: LOOP LOPINT3步骤:1)用A命令将程序键入到100H开始的内存中,在键入时记下标号LOP和J的实际地址,在键入LOOP指令时LOP用实际地址值代替。
2)用命令N AA将此程序命名为文件AA(文件名可任取)。
3)用R命令将BX:CX17改为程序长度值(即最后一条指令后面的地址减去开始地址)4)用命令W 100将此程序存到AA命名的磁盘文件中。
5)用命令Q退出DEBUG。
6)用命令DEBUG AA再次调入DEBUG和文件AA,可用U命令检查调入程序。
若调入DEBUG时忘了加AA文件名,可用N命令和L命令将文件调入。
7)用E命令在内存地址1000H处键入16个数字8)用命令G=100 J(J用实际地址代替),使程序运行并停在断点J上,检查AX,BX的值是否符合你的预计值。
9)用T命令运行一步,观察程序方向(IP值)和CX值是否与你的估计一样,若不一样,检查程序是否有错。
10)重复G J与T,再检查AX是否正确。
11)用G命令使程序运行到结束,检查AX值是否正确。
三、多字节加法程序。
程序:MOV DI,1000MOV CX,8MOV SI,2000CLCLOP: MOV AL,[SI]ADC [DI],ALINC SIINC DILOOP LOPINT 20步骤:1)用命令键入此程序2)用E命令在1000H开始处键入一个8字节被加数,在2000H开始处键入一个8字节加数,均为低字节在前面。
3)。
用G命令运行此程序,并用D命令检查其结果(存放在哪里?),是否正确?4)将INT 20H指令改为INT 3,有何区别?若这条指令不加,行不行?试一试。
四。
自编程序:用16位减法指令编一个32位(4字节)数减法程序,两个源数及结果存放地址同上题。
调试并做记录。
实验报告要求:1、各项实验结果记录。
2、自编程序原稿及调试后修正稿,写出原稿错在那里。
实验三数据串传送和查表程序实验目的:通过实验掌握下列知识:1、堆栈。
堆栈指示器SP和堆栈操作指令PUSH。
POP。
2、段寄存器和物理地址计算。
3、查表法和查表指令XLAT。
4、数据串传送程序和数据串传送指令MOVS。
STOS及重复前辍REP。
5、循环指令ROL。
逻辑与指令AND和清方向位指令CLD。
6、伪操作指令DB。
实验内容及步骤:一、利用查表方法把DX的内容(16进制数)转换成ASCII码:1、用A命令键入下列程序:MOV BX,1000MOV DI,2000MOV CX,4LOP: PUSH CXMOV CL,4ROL DX,CLPOP CXMOV AL,DLAND AL,OFXLATCLDSTOSBLOOP LOPINT 202、用A命令在1000H处键入下列ASCII码并用D命令检查之:DB `0123456789ABCDEF'用D命令检查时注意左边的ASCII码值和右边的字符。
3、用R命令给DX送一个四位的16进制数(例7F8E)。
4、用T命令逐条运行这程序到LOOP指令处,观察并记录每次运行结果,特别是SP和堆栈内容(用D命令检查)5、用G命令将此程序运行到结束,并用D命令检查2000H处所转换的结果。
可注意屏幕右边的ASCII字符与DX是否一致。
二、数据串搬家程序:1、用A命令键入下列程序:MOV SI,1000MOV DI,1500MOV CX,0FLOP: MOV AL,[SI]MOV [DI],ALINC SIINC DILOOP LOPINT 202、用A命令DB伪指令在1000H键入下列字符串:‘IBM_PC COMPUTER'3、用G命令运行此程序,并用D命令检查目的地址处的字符与源串是否一致。
4、若此程序中的目的地址改为1002H,再运行此程序,看能不能把1000H开始的字符串搬到1002H开始的地方去?修改程序以做到这一点。