汇编语言实验指导书

上传人:lisu****2020 文档编号:102040012 上传时间:2022-06-06 格式:DOC 页数:10 大小:71KB
收藏 版权申诉 举报 下载
汇编语言实验指导书_第1页
第1页 / 共10页
汇编语言实验指导书_第2页
第2页 / 共10页
汇编语言实验指导书_第3页
第3页 / 共10页
资源描述:

《汇编语言实验指导书》由会员分享,可在线阅读,更多相关《汇编语言实验指导书(10页珍藏版)》请在装配图网上搜索。

1、成绩汇编语言实验指导书/实验报告2011年4月编制专业:班号:学号:姓名:哈尔滨华德学院计算机应用技术系实验一DEBUG调试程序和汇编程序的上机操作A DEBUG调试程序的使用一、实验目的 学会在DOS环境下使用DEBUG调试程序二、DEBUG调试程序1DEBUG调试程序的启动在运行菜单下单击DEBUG选项。2退出DEBUGQ(回车)3DEBUG的命令清单(1)显示内存单元内容的命令D 格式:D地址显示从指定地址开始的128个字节的内容。 D范围 显示指定范围的内存内容。 D从上次D命令结束位置接着显示。 例1:从数据段偏移地址FF40H单元开始,显示40H个字节的内容。 DFF40L40(回

2、车)(2)修改内存单元内容的命令E 格式:E地址表用表中内容替代指定地址开始的内存块内容。E 地址显示指定地址的1个字节的内容,输入新值按空格键进 入到下一字节位置;按“”键返回到上一字节;按回车键则结束E命令。(3)填充命令F 格式:F范围表用表中内容反复赋值以填充指定范围的内存块。(4)显示修改寄存器R 格式:R显示并可修改指定寄存器的内容。 R寄存器名显示并可修改标志寄存器的内容。 RF显示并可修改标志寄存器的内容。(5)汇编命令A 格式:A地址从指定地址开始汇编,结果写入内存。 A 若不指定地址则从上次A命令结束位置开始汇编。首次 则从CS:100H开始汇编。注:汇编语句中不能使用名字

3、。A命令只识别指令和DB,DW伪指令。(6)反汇编命令U 格式:U地址从指定地址或上次U命令结束位置开始把内存16字节(40列显示格式)或32字节(80列显示格式)内容反汇编。 U 范围把指定地址范围的内存块全部进行反汇编。(7)跟踪命令T格式:T =地址 从指定地址(缺省为当前CS:IP地址)执行一条指令,并显示寄存器内容,标志位的状态和下一条指令。 T =地址条数单步方式指定行指定条数的各条指令。(8)执行命令G格式: G =地址 从指定地址开始执行直至程序结束。 G 从当前CS:IP位置开始执行,直至程序结束。 G地址 断点地址从指定或当前地址开始执行,遇到断点则停止,并显示寄存器和标志

4、的值以及断点处指令。 (9)命名命令N 格式:N文件名为L命令和w命令指定要操作和文件。 N文件参数为要执行的文件指定参数。 例: N file1.exe L N file2.dat file3.dat G上述第一个N命令为随后的L命令指定文件名,L命令将文件file1.exe装入内存,第二个命令为执行file.exe文件指定参数,最后G命令运行file1.exe文件。 (10)装入命令L 格式:L 地址 把N命令给出的盘文件装入到以指定地址或CS:100H开始的内存区中。 L 地址 盘号起始扇区扇数 把指定磁盘(盘号0A驱,盘号1B驱)的指定数目的逻辑扇区装入到 指定地区开始的内存区。 例2

5、:L 04BA:010020F6D 该L命令是把C盘(盘号2)从第15(即0F)逻辑扇区开始的,6DH个逻辑扇区内容,装入到内存中以04BA:0100H开始区域。 (11)写命令W 格式:W地址盘号其始扇区扇数把指定地址开始的内存块写入指定磁盘的几个逻辑扇区中,长度由扇区容 量,扇数确定。 W地址把指定地址(缺省为CS:100H)开始内存快(块字节长度由BX:CX寄存器给出)写入磁盘。注:W命令不允许写具有EXE和HEX展名文件。例3:把从CS:100开始的连续3040H个字节的内存块写入到文件MYFILE中,在DEBUG启动后,连续进行如下操作: RCX(回车) 显示CX当前值 键入:304

6、0 (回车)(将3040送入CX) RBX (回车) 显示BX当前值 键入: :0000(回车)(将0000H送入BX) N MYFILE(回车)(给待写文件命令) W (回车)(12)比较指令C格式:C范围地址比较两个内存块的内容,范围用第一个起始地址和块长或起始地址、结束地址说明,地址是第二块的起始地址。(13)16进制运算指令H格式:H值1值2求值l,值2的和与差(全为16进制数)。(14)写端口命O格式:O端口地址字节把一个字节数据由指定的端口输出。(15)读端口命令I格式:I端口地址从指定端口输入一个字节并显示。(16)传送命令M格式:M范围 地址把指定范围的内容传送到指定的地址开始

7、的内存块中。(17)检索命令S格式: S 范围字符串在指定范围内检索某个字符串。(18)退出命令一Q格式:Q结束DEBUG的运行,不保存内存中的被调试文件(若要保存,先用W指令),返回DOS。4使用DEBUG命令的注意事项(1)DEBUG命令只采用16进制数;故不要加“H”后缀。(2)标志寄存器的8个标志位的值采用符号标志;分别表示标志的值1和0。 溢出标志OF:OV(溢出),NV(不溢出) 方向标志DF:DN(减量),UP(增量) 中断允许标志IF:EI(允许),DI(禁止) 符号标志SF: NG(负),PL(正) 零标志ZF: ZR(零),NZ(非零) 进位标志CF: CY(有),NC(无

8、) 奇偶标志PF:PE(偶),PO(奇) 辅助进位标志AF:AC(有),NA(无)(3)在“”提示符下键入命令关键字符,若命令带有参数则应在关键字符后紧跟着输入第一个参数,不要随意加空格符,因为空格符是参数之间的间隔符。(4)命令结尾应按回车键,此命令才生效,除e命令外,一个命令执行完重新给出“”DEBUG提示符。使用A命令时,每输入一条指令就按一次回车键,屏幕立即显示下一个地址,若要结束A命令,则不要输入指令只按回车键。(5)命令中的地址参数以段:偏移量给出,若只给出偏移量,则使用的缺省段A,U,G,T,L,W诸命令的缺省段是CS,C,D,E,F,M,S诸命令的缺省段是DS。(6)使用W写命

9、令之前要记住检查或修改BX,CX积存器的值使其等于或大于欲写入文件的字节长度值。(7)DEBUG承认Ctrl+Break(中止)、Ctrl+Nomlock(暂停显示)等DOS控制键功能。三、实验内容 思考: 如AX=0012H,BX=0034H,要求把它们装配在一起形成AX=1234H。 利用课堂上讲过的算术逻辑指令自己编程序B汇编语言程序上机操作一实验目的 1.学会汇编语言程序上机操作,包括汇编语言程序的编辑、汇编、链接、调试和运行; 2.学会常用的伪指令使用,掌握汇编语言的分段结构。二汇编语言程序的上机过程。 1使用HJASM编辑软件编辑汇编语言文本,得到扩展名为ASM的汇编语言程序的源文

10、件 2对汇编语言源程序进行汇编,得到扩展名为.OBJ的目标码文件 3对目标码文件进行链接,得到扩展名为EXE的地址浮动的可执行文件 4使用DEBUG命令加载汇编语言程序(EXE)到内存,然后在DEBUG环境下调试汇编语言程序 三实验内容 1建立汇编语言源程序文件(ASM)例:把40个字母a的字符串从源缓冲区传送到目的缓冲区 2在DEBUG环境下运行程序 一般来说,对于我们自己设计的程序,在DEBUG下加载,然后用DEBUG命令控制程序的运行。便于发现程序的错误,加以修改源程序,重新汇编,链接,然后再运行。如此反复多次,最终就可完成程序的调试。 1使用U命令 U 18F4: 0000lEPUSH

11、 DS 000l2BC0SUB AX,AX 0003 50 PUSH AX 0004 B8F618 MOVAX,18F6 0007 8ED8 MOVDS,AX 0009 B8F918 MOVAX,18F9 000C 8EC0 MOV ES,AX 000E 8D360000 LEA SI0000 0012 8D3EOO00 LEA DI0000 0016 FC CLD 00l7 F92800 MOVCX,0028 代码段段地址偏移地址 机器代码汇编 18F4 00lA F3 REPZ 00lB A4 MOVSB 00lC CB PETF 断点,程序执行到此就结束 根据反汇编清单中,得到CS:18

12、F4 DS:18F6 ES:18F9 断点:00le2使用D命令D18F6:0 61. 61. 61.61 61. 61. 61.61 61. 61 共有40个a 注:因为(DS)=18F6,所以上条指令是查看DS段的内容。一D 18F9:0 无40个a 注:因为(ES)=18F9,所以上条指令是查看ES段的内容。 使用D命令观察数据段内容有40个a,观察附加段内容无40个a3使用G命令G1C因为IC偏移量是程序搬运结果的位置,所以运行程序完成40个a搬运到附加段中,此时附加段有40个a,同时数据段40个a也存在。4.程序运行之后再看内存变化D18F6:0 61. 61.61, 61.61 6

13、1. 61.61, 61.61 61. 61D18F9:0 61. 61.61, 61.61 61. 61.61, 61.61 61. 615.退出Q命令Q 退出DEBUG四、自己设计一个简单程序,上机调试。实验二分支程序设计和DOS调用一、实验目的掌握汇编语言中分支程序的设计方法和DOS调用二、实验内容1、设变量X为带符号整数,要求:1)如果X的值大于零,变量Y赋值为l。 2)如果X的值等于零,变量Y赋值为0。 3)如果X的值小于零,变量Y赋值为-1。2、完成下述工作注:完成下面的工作需要手动修改源文件中X的初始值,以满足不同条件 1)使用U命令,根据反汇编的程序清单找到DS的段地址 2)使

14、用D命令,观察到数据段中X单元和Y单元的值 3)使用G命令运行程序 4) 使用D命令,观察到数据段中X单元和Y单元的值;反复使用2),3),4)步进行观察。3、修改程序,显示变量Y的值。三、 程序清单按照上述实验过程同学自己设计程序。要求画出流程图,写出程序清单,调试步骤及结果。1)比较两个无符号数的大小(量个数放在内存S3的连续两个单元中),将大数存入MAX单元中。2)试编一程序,求三个带符号数据中的最大值,并将最大值存入MAX单元中,设三个带符号数分别在三个变量X,Y,Z中存储。3)根据MODE单元中编号0-7分别转向L0-L7标号处,执行L0-L7处分别完成显示0-7字符,即当MODE=

15、0时,转向L0标号,完成显示0,当MODE=7时,转向L7标号,完成显示7。4)根据输入值(0-4)的不同,执行不同的操作,用转移标法编写程序。实验三循环程序设计和DOS调用一 实验目的熟悉循环程序的设计方法二 实验内容在以BUF为首地址的字节单元中存放CNT个无符号数,找出其中最大数,送入MAX字节单元中:1)特以BUF为首地址的数据区中存有八个无符号数,分别为l、2、3、100、23、78、90、134。2) 数据个数求法:数据末地址减去首地址,用符号CNT表示,即CNT=末地址-首地址。3) 放最大数单元用MAX符号地址表示。4) 使用U命令,得到反汇编清单,找到DS段地址。5) 使用D

16、命令,观察数据内容。6) 使用G命令,运行程序。7) 使用D命令,看数据段数据变化。 8) 程序运行结果把最大数送入MAX单元。三、程序清单(自己编写)四、程序设计(画出流程图、写出程序清单及调试步骤和结果)1.统计数据块中正数和负数个数(设有7个数,分别为-32,25,36,-18,-64,0,-3)2.统计学生成绩,设有10个学生的成绩分别为56,69,84,82,73,88,89,63,100和80分,试编写程序分别统计低于60分,60-69分,70-79分,80-89分,90-99分以及100分的人数,并存放到S5,S6,S7,S8,S9以及S10单元中。3.在字符串中查找空格字符(ASCII码位20H),找到显示Y,否则显示N。4.根据键盘输入值N,计算前N项和(N=10)分析:这是循环程序,键盘输入值位循环次数,如果输入值是0,则不循环;否则如果输入的是5,则AL=1+2+3+4+5=15,执行5次循环。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!