汇编(循环、分支、子程序)实验报告(共15页).doc
《汇编(循环、分支、子程序)实验报告(共15页).doc》由会员分享,可在线阅读,更多相关《汇编(循环、分支、子程序)实验报告(共15页).doc(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上汇编语言程序设计 实验报告实验名 循环、分支、子程序设计 实验室 实验楼 实验日期 20140609 一、实验目的及要求 1. 熟悉命令格式,功能,加强对指令系统的理解 2编写简单循环、选择、子程序的结构程序 3单步跟踪调试,观察寄存器的变化和指令执行的结果 二、实验环境硬件环境:一台微型计算机软件环境:windows xp,debug环境,masm三、实验内容(至少写3个程序)题目一: 编写程序,求三个数据中的最大值,并将最大值存入MAX字单元中。1.设计:将x存入ax中,先与y比较,当x大时,x仍存于ax中,再与z比较,如果x大,则将x存入max中;否则将z存入m
2、ax中。当y大时,将y存入ax中,覆盖较小的x后,与z比较,得出最大数存于max中。2.源程序清单data segmentx dw 1ahy dw 0ahz dw 01hmax dw ? data ends ;数据段定义 code segment assume ds: data, cs: code start: mov ax, data mov ds, ax ;初始化数据段 mov ax, x cmp ax, y jg l1 ;判断x是否大于y,如果x大,则程序跳转到l1;否则顺序执行 mov ax, y jg exit l2: mov ax, z jmp exitl1: cmp ax, z
3、;判断x是否大于z,若z大时,则跳转至l2;否则顺序执行exit 段程序 jle l2exit: mov max, ax mov ah,4ch int 21h;将最大值存于max中codeendsend start3.调试过程:(1).用masm程序产生mwn4.obj文件,没有错误,如下图:(2).用link程序产生mwn4.exe文件,如下图:(3).用u命令反汇编,查看代码段,数据段所在的内存单元;(4). 查看数据段初始数据:(5). 初始化数据段(6). x和y比较得:x大于y,将x存入AX中;(7).x和z比较:x大于z,仍存于AX中;(8). 输出运行结果:在数据段进行查看,ma
4、x预先申请的内存单元0004 中,存放着x的值。题目二: 设有十个学生的成绩分别是 76,69,84,90,73,88,99,63,100和80分。编制一个子程序统计6069分,7079分,8089分,9099分,和100分的人数,并分别存放到S6,S7,S8,S9,S10单元中。1. 设计: 分别为十个成绩、成绩总个数、分段的5个区间申请内存单元,初始化数据段;将AX,BX,CX压栈,保留原始数据。选取第一个成绩,存入AX中,该数据除以10,得到商存入BX,判断商的所属区间,给所属区间加1,继续下一个,循环直到十个全部判断结束,pop出栈,得到属于各区间的成绩个数,程序结束。2. 源程序清单
5、dseg segment ;数据段定义num dw 76,69,84,90,73,88,99,63,100,80 ;十个成绩分别存入num为首地址的10个内存单元n dw 10 s6 dw 0 s7 dw 0 s8 dw 0 s9 dw 0 s10 dw 0 ;n=10,n是数据总数,S6S10分别存储不同成绩段的个数dseg ends code segment ;代码段定义main proc far assume cs:code, ds:dseg start: push ds sub ax, ax push ax mov ax, dseg mov ds, ax ;初始化数据段call sub
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编 循环 分支 子程序 实验 报告 15
限制150内