2022年2022年汇编语言程序设计实验报告 .pdf
《2022年2022年汇编语言程序设计实验报告 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年汇编语言程序设计实验报告 .pdf(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、汇编语言程序设计学生姓名 :学 号:学院: 专业: 指导教师:2011年 11 月 27 日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 12 页 - - - - - - - - - 实验三循环程序设计一实验目的1学习调试程序,查找逻辑错误;2掌握循环程序设计的方法;3掌握正确分配与使用寄存器。二实验内容与要求题目 1: 数组中是一组无符号数, 将最小数放在 M 单元中,经过汇编后,形成.EXE 文件,先用 G=0 命令执行程序,用 -D 命令查看 M 单元的内容,会发
2、现结果不正确。用单步执行命令T 查找程序中的逻辑错误。DSEG SEGMENT MSG DB 13, 15, 7, 25, 24 M DB ? DSEG ENDS CSEG SEGMENT ASSUME CS: CSEG , DS: DSEG START: MOV AX, DSEG MOV DS, AX MOV CX, 4 MOV AL, MSG MOV SI, OFFSET MSG+1 L1: CMP AL, SI JB NEXT MOV AL, SI NEXT: LOOP L1 MOV M, AL MOV AX, 4C00H INT 21H CSEG ENDS END START (1)程
3、序说明:这个程序的目的是要在13, 15, 7, 25, 24中找到最小数,并且放到 M 单元中。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 12 页 - - - - - - - - - (2)调试说明:运行无问题(3)错误问题:结果中 M 单元的内容是错误的,此时M 为 13,但真实值应为 6 解决办法:该程序的循环是一个死循环,无法将每个数都进行比较,因此,需要每次循环时地址+1 才能将每个数进行比较,所以需要在循环上加“ INC SI” 。(4)修改后程序及运行
4、结果:DSEG SEGMENT MSG DB 13, 15, 7, 25, 24 M DB ? 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 12 页 - - - - - - - - - DSEG ENDS CSEG SEGMENT ASSUME CS: CSEG , DS: DSEG START: MOV AX, DSEG MOV DS, AX MOV CX, 4 MOV AL, MSG MOV SI, OFFSET MSG+1 L1: CMP AL, SI JB N
5、EXT MOV AL, SI NEXT: INC SI LOOP L1 MOV M, AL MOV AX, 4C00H INT 21H CSEG ENDS END START 题目 2:试编制一个汇编语言程序, 求出首地址为 DATA 的 10 个无符号字数组中的 最小偶数 ,把它存放在 AX 中。 (注意: 无符号数 )名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 12 页 - - - - - - - - - Data word 0141H, 0AE00H,07B4H
6、, 0A508H, 0691H, Word 0870H, 7542H, 0081H, 0916H, 0017H (1)设计思路:本程序需要在 10 个无符号数中寻找最小的偶数,所以该程序有两个关键之处:最小和偶数,所以需要两次判断,最后把结果放在AX 中。(2)程序设计图:(3)程序说明:dseg segment data dw 0141H,0AE00H,07B4H,0A508H,0691H,0870H,7542H,0081H,0916H,0017H dseg ends cseg segment assume ds:dseg,cs:cseg start: mov ax,dseg 名师资料总结
7、- - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 12 页 - - - - - - - - - mov ds,ax mov cx,9 /循环次数为 9 mov ax,data /取 data的首地址放在 ax 中mov si,offset data+2 /取 data的第二号地址放在si 中L1: test ax,01h / 判断 ax 中的数是奇数还是偶数jnz L2 /不等于 0 即为奇数,跳到 L2 地址test word ptr si,01h /判断si中的数是奇数还是偶数jnz
8、 next /奇数跳到 next 地址cmp ax,si /比较 ax 与si jb next /ax 小于si,跳到 next 地址L2: mov ax,si /ax 与si进行交换next: add si,2 /si+2,取下个数地址Loop L1 / L1 进行循环mov ax,4c00h / 退出int 21h cseg ends end start (4) 执行结果实验四分支程序设计一实验目的:1、掌握分支程序的结构。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年汇编语言程序设计实验报告 2022 汇编语言 程序设计 实验 报告
限制150内