第一范文网 - 专业文章范例文档资料分享平台

汇编语言实验指导书

来源:用户分享 时间:2025/8/3 21:20:06 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

汇编语言实验指导/报告 - 3 -明

① —R CX(回车) 显示 CX 当前值 键入 :3040 (回车)(将3040送入CX) ② —R BX (回车) 显示 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 范围 地址 把指定范围的内容传送到指定的地址开始的内存块中。 (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(无) 奇偶标志PF: PE(偶), PO(奇) 辅助进位标志AF: AC(有), NA(无)

(3)在“—”提示符下键入命令关键字符,若命令带有参数则应在关键字符后紧跟着输入第一个参数,不要随意加空格符,因为空格符是参数之间的间隔符。

(4)命令结尾应按回车键,此命令才生效,除e命令外,一个命令执行完重新给出“—”

- 4 - 汇编语言实验指导/报告

DEBUG提示符。使用A命令时,每输入一条指令就按一次回车键,屏幕立即显示下一个地址,若要结束A命令,则不要输入指令只按回车键。

(5)命令中的地址参数以段:偏移量给出,若只给出偏移量,则使用的缺省段A,U,G,T,L,W诸命令的缺省段是CS,C,D,E,F,M,S诸命令的缺省段是DS。

(6)使用W写命令之前要记住检查或修改BX,CX积存器的值使其等于或大于欲写入文件的字节长度值。

(7)DEBUG承认Ctrl+Break(中止)、Ctrl+Nomlock(暂停显示)等DOS控制键功能。 三、实验内容

思考: 如AX=0012H,BX=0034H,要求把它们装配在一起形成AX=1234H。 利用课堂上讲过的算术逻辑指令自己编程序

B.汇编语言程序上机操作 一.实验目的

1.学会汇编语言程序上机操作,包括汇编语言程序的编辑、汇编、链接、调试和运行;

2.学会常用的伪指令使用,掌握汇编语言的分段结构。 二.汇编语言程序的上机过程。

1.使用HJASM编辑软件编辑汇编语言文本,得到扩展名为ASM的汇编语言程序的源文件

2.对汇编语言源程序进行汇编,得到扩展名为.OBJ的目标码文件

3.对目标码文件进行链接,得到扩展名为EXE的地址浮动的可执行文件

4.使用DEBUG命令加载汇编语言程序(EXE)到内存,然后在DEBUG环境下调试汇编语言程序 三.实验内容

1.建立汇编语言源程序文件(ASM)

例:把40个字母a的字符串从源缓冲区传送到目的缓冲区

汇编语言实验指导/报告 - 5 -明

2.在DEBUG环境下运行程序

一般来说,对于我们自己设计的程序,在DEBUG下加载,然后用DEBUG命令控制程序的运行。便于发现程序的错误,加以修改源程序,重新汇编,链接,然后再运行。如此反复多次,最终就可完成程序的调试。

1.使用U命令 —U 18F4: 0000 lE PUSH DS 000l 2BC0 SUB AX,AX 0003 50 PUSH AX 0004 B8F618 MOV AX,18F6 0007 8ED8 MOV DS,AX

- 6 - 汇编语言实验指导/报告

0009 B8F918 MOV AX,18F9 000C 8EC0 MOV ES,AX 000E 8D360000 LEA SI[0000] 0012 8D3EOO00 LEA DI[0000] 0016 FC CLD

00l7 F92800 MOV CX,0028 代码段段地址 偏移地址 机器代码 汇编 18F4 00lA F3 REPZ 00lB A4 MOVSB 00lC CB PETF ↗

断点,程序执行到此就结束 根据反汇编清单中,得到 CS:18F4 DS:18F6 ES:18F9 断点:00le 2.使用D命令 —D 18F6: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个‘a’ 3.使用G命令 —G1C↙

因为IC偏移量是程序搬运结果的位置,所以运行程序完成40个‘a’搬运到附加段中,此时附加段有40个‘a’,同时数据段40个‘a’也存在。

4.程序运行之后再看内存变化

—D18F6:0↙ 61...... 61......61, 61......61 61...... 61......61, 61......61 61...... 61

—D18F9:0↙ 61...... 61......61, 61......61 61...... 61......61, 61......61 61...... 61 5.退出Q命令

—Q 退出DEBUG 四、自己设计一个简单程序,上机调试。

搜索更多关于: 汇编语言实验指导书 的文档
汇编语言实验指导书.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4am6z3r8gj8jj339nadq_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top