第11讲汇编语言程序设计-2.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DATASEGMENTBUF DB 2,-1,-5,-6,-38,-4,-98,-13,-24,-45NEGA DBDATAENDS CODE SEGMENTASSUME CS:CODE,DS:DATA START: MOV AX,DATAMOV DS,AXMOV SI,OFFSET BUF;置数据指针SIMOV DL,0;负数计数器清零MOV CX,10;置循环次数┆MOV AH,4CHINT 21H CODE ENDSEND START LP:MOV AL,[SI]CMP AL,0;置标志位JGE NEXT;为正,转NEXTINC DL;为负,计数器加1 NEXT: INC SI;修改指针LOOP LPMOV NEGA,DLOR DL,30H;转换成ASCII码MOV AH,2INT 21H总结:判断AL为正为负的程序段。 1、CMP AL,80H;而后用JAE代表负数转移,JB代表正数转移 2、CMP AL,00H;而后用JGE代表负数转移,JL代表正数转移 3、TEST AL,80H;而后用JNS代表负数转移,JS代表正数转移 4、TEST AL,80H;而后用JNZ代表负数转移,JZ代表正数转移 5、OR AL,AL;而后用JNS代表负数转移,JS代表正数转移 6、AND AL,AL;而后用JNS代表负数转移,JS代表正数转移 7、SUB AL,00H;而后用JGE代表负数转移,JL代表正数转移编写程序完成求1+2+3+……N的累加和,直到累加和超过1000为止。统计被累加的自然数的个数送CN单元,累加和送SUM。 开始 初始化 0送AX,0送BX AX≤1000? BX? BX+1 结束 AX? BX+AX BX送N,AX送SUM Y N DATASEGMENTSUM DWCN DW ? DATAENDS CODESEGMENTASSUME CS:CODE,DS:DATA START: MOV AX,DATAMOV DS,AX┆MOV AH,4CHINT 21HCODEENDSEND STARTMOV AX,0;AX存累加和MOV BX,0;BX存加数LP: INC BXADD AX,BXCMP AX,1000JBE LP;≤1000 循环MOV SUM,AXMOV CN,BX* * * * * * * * * * 先是外循环初始化,接着是内循环初始化;内循环初始化就是外循环循环体的开始; 先是内循环控制结束;后市外循环结束 * * LOGO 例:内存中TABLE开始存放0-9的平方值,通过人机对话,从键盘输入一个数X(0-9),查表得X的平方值,放在AL中。 内容 00H 01H 04H 09H 10H 19H 24H… TABLE+0 TABLE +1 TABLE +2 开始 9号功能调用 显示提示输入 查表得平方值?AL 结束 1号功能调用 键入数送AL 计算输入数的地址 表首地址+位移量 流 程 图 第11讲 汇编语言程序设计 顺序结构 1 分支结构 2 本讲教学内容 循环结构 3 顺序结构顺序结构程序是以直线方式一条接一条进行工作,当语句顺序执行完毕,程序结束。特点:顺序执行,无分支,无循环,也无转移。 流程图中没有判断框 例:内存中TABLE开始存放0-9的平方值,通过人机对话,当给定一个数X(0-9),查表得X的平方值,放在AL中,查表前判断数据是否在0和9之间,不在则重新输入。 开始 9号功能调用 显示提示输入 查表得平方值?AL 结束 1号功能调用 键入数送AL 计算输入数的地址 表首地址+位移量 0=输入值=9 Y N 分支程序是根据某种判断条件,从两个或两个以上的程序段中选择一个程序段执行。 分支判断方法:先用比较指令或位检测指令等来改变标志寄存器相关标志位,然后用条件转移指令进行判断转移。 分支结构 简单分支结构 多分支结构 简单分支结构图 判断条件 程序段1 程序段2 转移指令 条件转移指令 无条件转移指令 间接标志转移 直接标志转移 JMP 无条件转移指令 指令格式:JMP 目的 指令功能:使程序无条件地转移到指令中指定的目的地址去执行 段内转移(近转移):在同一代码段,只修改IP。 段间转移(远转移):不在同一代码段,CS和IP都要改变。 直接标志转移指令 指令助记符 测试条件 指令功能 JC CF=1 有进位 转移 JNC CF=0 无进位 转移 JZ/JE ZF=1 结果为零/相等 转移 JNZ/JNE ZF=0 不为零/相等 转移 JS SF=1 符号为负 转移 JNS SF=0 符号为正

文档评论(0)

liudao + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档