汇编实验指导(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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 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开始的地方去?修改程序以做到这一点。