欢迎来到第壹文秘! | 帮助中心 分享价值,成长自我!
第壹文秘
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 第壹文秘 > 资源分类 > PPT文档下载
    分享到微信 分享到微博 分享到QQ空间

    实验六循环、子程序结构程序设计.ppt

    • 资源ID:178225       资源大小:410KB        全文页数:9页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    实验六循环、子程序结构程序设计.ppt

    实验六实验六 循环、子程序结构程序设计循环、子程序结构程序设计 实验目的实验目的 1掌握循环结构程序设计的基本方法。 2掌握循环程序中重复控制指令的使用。 3掌握循环结构程序设计的组成部分和基本结构形式。 4掌握子程序设计的基本方法。 5掌握子程序中调用和返回指令的使用。 6掌握子程序设计时参数传递的几种方法。 实验学时实验学时 2 学时 实验器材实验器材 PC 微机及软件。 实验原理实验原理 1循环结构 (1)循环结构将重复执行循环体中的语句,直到循环条件不成立。 (2)循环结构程序由初始化、循环处理、循环控制和循环结束 4部分组成,循环控制条件有用计数控制循环和用条件控制循环两种方式。 (3)循环结构程序的基本结构形式有“先执行,后判断”和“先判断,后执行”两种。 2子程序:子程序又称过程,用过程定义伪指令 PROC/ENDP 进行定义,并集中存放在存储区的特定区域构成子程序库,需要时,用调用指令 CALL调用。子程序执行完毕,应该返回到调用指令的下一条指令继续执行。 实验内容与步骤实验内容与步骤 1在数据段中有如下数据区,2,-3,0,5,-7,0,0,8,6,-9,统计该数据区中正数,0,负数的个数。 参考程序如下:(程序名:SY6-1.ASM) data segment var db 2,-3,0,5,-7,0,0,8,6,-9 xx db ?;存正数个数 yy db ? ;存负数个数 zz db ? ;存 零个数 data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov ah,0;AH 存正数个数 mov al,0;AL 存负数个数 mov bh,0;BH 存零个数 mov si,offset var mov cx,xx-var ;CX 数据个数 go: cmp byte ptr si,0 jz zero jns plus inc al jmp next zero: inc bh jmp next plus: inc ah next: inc si loop go mov xx,ah;将个数存入存储单元 mov yy,al mov zz,bh mov ah,4ch int 21h code ends end start (1)输入程序并检查无误,经汇编、连接后产生正确的可执行文件 SY6-1.EXE。 (2)执行可执行文件,可以看到执行正常,但是没有任何输出,可以使用 DEBUG来调试。 (3)用 DEBUG 的 U CS:0000 查看 MOV AX,XXXX(DATA)语句,即得到数据段段地址 DS=XXXX。 (4)用 G 命令执行,10 个数据后存个数,分别为 4,3,3,调试过程如下: C: DEBUG SY6-1.EXE 一 U;反汇编 2CA2:0000 B8A12CMOV AX,2CA1 2CA2:0003 8ED8MOV DS,AX 2CA2:0005 B400MOV AH,00 2CA2:0007 B000MOV AL,00 2CA2:0009 B700MOV BH,00 2CA2:000B BE0000MOV SI,0000 2CA2:000E B90A00MOV CX,000A 2CA2:0011 803C00CMP BYTE PTR SI,002CA2:0014 7407JZ001D 2CA2:0016 790AJNS 0022 2CA2:0018 FEC0INC AL 2CA2:001A EB08JMP 0024 2CA2:001C 90NOP 2CA2:001D FEC7INC BH 2CA2:001F EB03JMP 0024 U 2CA2:0021 90 NOP 2CA2:0022 FEC4INC AH 2CA2:0024 46INC SI 2CA2:0025 E2EALOOP 0011 2CA2:0027 88260A00MOV 000A,AH 2CA2:002B A20B00 MOV 000B,AL 2CA2:002E 883E0C00MOV 000C,BH 2CA2:0032 B44CMOV AH,4C 2CA2:0034 CD21INT 21 一 g=0 32 AX=0403 BX=0300 CX=0000 DX=0000 SP=0000 BP=0000 SI=000A DI=0000 DS=2CA1 ES=2C91 SS=2CA1 CS=2CA2 IP=0032 NV UP EI PL NZ NA PE NC 2CA2:0032 B44CMOV AH,4C 一 d 0000 000f;10 个数据后存个数,分别为 4,3,3 2CA1:0000 02 FD 00 05 F9 00 00 08-06 F7 04 03 03 00 00 00 . 2编程序求下列和值: S=(123)(1234)(12345) 将和值存在数据段偏移量为 0100H 的单元中。 参考程序如下:(程序名:SY6-2.M) data segment org 0100h var db ?;VAR 存放和值 data ends code segment assume cs:code,ds:data start:mov ax,data mov ds,ax mov ah,3;调用求和子程序 call sum mov dh,bh mov ah,4;调用求和子程序 call sum add dh,bh mov ah,5;调用求和子程序 call sum add dh,bh mov var,dh;和存入VAR mov ah,4ch int 21h sum proc near;求累加和子程序 mov ch,0;入口参数:AH 终值 mov bh,0;出口参数:BH 累加和 go: inc ch add bh,ch; CH:计数器 cmp ah,ch jnz go ret sum endp code ends end start (1)输入程序并检查无误,经汇编、连接后产生正确的可执行文件 SY6-2.ASM。 (2)执行可执行文件,可以看到执行正常,但是没有任何输出,可以使用 DEBUG来调试。 (3)用 DEBUG 的 U CS:0000 查看 MOV AX,XXXX(DATA)语句,即得到数据段段地址 DS=XXXX。 (4)用 G 命令执行,调试过程如下: C: DEBUG SY6-2.EXE 一 U 00 2E 36E6:0000 B80020MOV AX,2000 36E6:0003 8ED8MOV DS,AX 36E6:0005 B403MOV AH,03 36E6:0007 E81800CALL 0022 36E6:000A 8AF7MOV DH,BH 36E6:000C B404MOV AH,04 36E6:000E E81100CALL 0022 36E6:0011 02F7ADD DH,BH 36E6:0013 B405MOV AH,05 36E6:0015 E80A00CALL 0022 36E6:0018 02F7ADD DH,BH 36E6:001A 88360001MOV 0100,DH 36E6:001E B44CMOV AH,4C 36E6:0020 CD21INT 21 ;以下为子程序 36E6:0022 B500MOV CH,00 36E6:0024 B700MOV BH,00 36E6:0026 FEC5INC CH 36E6:0028 02FDADD BH,CH 36E6:002A 3AE5CMP AH,CH 36E6:002C 75F8JNZ 0026 36E6:002E C3RET 一 G=0 C;观察第一次求和,DH=06H AX=0300 BX=0600 CX=032F DX=0600 SP=0000 BP=0000 SI=0000 DI=0000 DS=2000 ES=36D6 SS=36E6 CS=36E6 IP=000C NV UP EI PL ZR NA PE NC 36E6:000C B404MOV AH,04 一 G=0 13;观察第二次求和,DH=10H AX=0400 BX=0A00 CX=042F DX=1000 SP=0000 BP=0000 SI=0000 DI=0000 DS=2000 ES=36D6 SS=36E6 CS=36E6 IP=0013 NV UP EI PL NZ AC PO NC 36E6:0013 B405MOV AH,05 一 G=0 1E;观察第三次求和,DH=1FH AX=0500 BX=0F00 CX=052F DX=1F00 SP=0000 BP=0000 SI=0000 DI=0000 DS=2000 ES=36D6 SS=36E6 CS=36E6 IP=001E NV UP EI PL NZ NA PO NC 36E6:001E B44CMOV AH,4C 一 d 0100 0101 ;观察存储单元 2000:0100 1F 实验注意事项实验注意事项 1程序的执行可用DEBUG 的G 命令,根据 U命令显示的地址,使用 G 命令执行到具体地址,可以用 G=地址地址地址,也可用T 命令单步跟踪执行。 2当循环体中处理部分也是循环结构时,就构成循环套循环的双重循环,依次类推可构成多重循环。 实验与思考实验与思考1编程序计算_S=1+2+3+.+10,并把和放在_BL中。(用_LOOP_指令)2从_3000H_内存单元开始的_100_个字节存储单元全部清0。3总结计数控制循环程序的设计方法。4对内存单元_3000H_开始的_100_个存储单元用_E_命令输入任意数。

    注意事项

    本文(实验六循环、子程序结构程序设计.ppt)为本站会员(p**)主动上传,第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知第壹文秘(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 1wenmi网站版权所有

    经营许可证编号:宁ICP备2022001189号-1

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

    收起
    展开