ImageVerifierCode 换一换
格式:PPT , 页数:36 ,大小:1.83MB ,
资源ID:780131      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-780131.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第11讲-汇编语言程序设计-2.ppt)为本站会员(天天快乐)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

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

1、例:内存中TABLE开始存放0-9的平方值,通过人机对话,从键盘输入一个数X(0-9),查表得X的平方值,放在AL中。,TABLE+0,TABLE +1,TABLE +2,开始,9号功能调用显示提示输入,查表得平方值AL,结束,1号功能调用键入数送AL,计算输入数的地址表首地址+位移量,流 程 图,第11讲 汇编语言程序设计,顺序结构,1,分支结构,2,本讲教学内容,循环结构,3,顺序结构,顺序结构程序是以直线方式一条接一条进行工作,当语句顺序执行完毕,程序结束。 特点:顺序执行,无分支,无循环,也无转移。,例:内存中TABLE开始存放0-9的平方值,通过人机对话,当给定一个数X(0-9),查

2、表得X的平方值,放在AL中,查表前判断数据是否在0和9之间,不在则重新输入。,开始,9号功能调用显示提示输入,查表得平方值AL,结束,1号功能调用键入数送AL,计算输入数的地址表首地址+位移量,0=输入值=9,Y,N,分支程序是根据某种判断条件,从两个或两个以上的程序段中选择一个程序段执行。分支判断方法:先用比较指令或位检测指令等来改变标志寄存器相关标志位,然后用条件转移指令进行判断转移。,分支结构,简单分支结构,多分支结构,简单分支结构图,转移指令,条件转移指令,无条件转移指令,间接标志转移,直接标志转移,JMP 无条件转移指令,指令格式:JMP 目的指令功能:使程序无条件地转移到指令中指定

3、的 目的地址去执行,段内转移(近转移):在同一代码段,只修改IP。,段间转移(远转移):不在同一代码段,CS和IP 都要改变。,无条件转移和过程调用指令,直接标志转移指令,间接标志转移指令,开始,9号功能调用显示提示输入,查表得平方值AL,结束,1号功能调用键入数送AL,计算输入数的地址表首地址+位移量,0=输入值=9,Y,N,例:内存中TABLE开始存放0-9的平方值,通过人机对话,当给定一个数X(0-9),查表得X的平方值,放在AL中,查表前判断数据如果在0和4之间,将AL的值送SMALL,如果数据在5和9之间,将AL的值存放在GREAT中,如果不在0和9之间,则重新输入。,多分支结构图,

4、LOOP循环指令,指令格式: LOOP 短标号指令功能:预先将重复次数放在CX中,执行时,CX自动减1,若减1后CX0,则转标号处循环执行;否则,顺序执行。说明:使用LOOP指令可代替两条指令: DEC CX JNZ 短标号,循环控制指令,循环控制方法,计数法,条件控制法,循环次数已知,CX-循环计数器,循环次数未知,循环程序设计,for(i=1;i10;i+) j=j+1;,循环控制,例:内存中TABLE开始存放0-9的平方值,通过人机对话,当给定一个数X(0-9),查表得X的平方值,放在AL中,查表前判断数据是否在0和9之间,随机输入5次结束。,单循环程序设计,开始,9号功能调用显示提示输

5、入,查表得平方值AL,结束,1号功能调用键入数送AL,计算输入数的地址表首地址+位移量,0=输入值=9,Y,N,开始,9号功能调用显示提示输入,结束,CX=5,查表得平方值AL,1号功能调用键入数送AL,计算输入数的地址表首地址+位移量,0=输入值=9,Y,N,CX=0,Y,结束,N,例:内存中TABLE开始存放0-9的平方值,通过人机对话,当给定一个数X(0-9),查表得X的平方值,放在AL中,查表前判断数据是否在0和9之间,输入空格结束。,单循环程序设计,开始,9号功能调用显示提示输入,结束,查表得平方值AL,1号功能调用键入数送AL,计算输入数的地址表首地址+位移量,0=输入值0,0 当

6、X=0,-1 当X 0,分析:此时可以设置两个计数器。一个是循环计数器CX,另一个是负数计数器DL,用来统计负数个数。,已知从BUF单元开始存有10个8位带符号数,要求统计其中的负数个数放在NEGA字节单元,并显示在CRT上(设负数个数在0-9之间)。,例2,开始,SI OFFSET BUFCX 10,DL 0,CX=0?,NEGADL,2号显示,结束,INC DL,N,AL SI,AL为负?,N,Y,Y,INC SI,DATA SEGMENT BUF DB 2,-1,-5,-6,-38,-4,-98,-13,-24,-45 NEGA DB ?DATA ENDSCODE SEGMENT ASS

7、UME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV SI,OFFSET BUF ;置数据指针SI MOV DL,0 ;负数计数器清零 MOV CX,10 ;置循环次数 MOV AH,4CH INT 21HCODE ENDS END START,LP: MOV AL,SI CMP AL,0 ;置标志位 JGE NEXT ;为正,转NEXT INC DL ;为负,计数器加1NEXT: INC SI ;修改指针 LOOP LP MOV NEGA,DL OR DL,30H ;转换成ASCII码 MOV AH,2 INT 21H,总结:判断AL为正为负

8、的程序段。,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代表正数转移,编写程序完成求123N的累加和,直到累加和超过1000为止。统计被累加的自然数的个数送CN单元,累加和送SUM。

9、,例3,开始,初始化0送AX,0送BX,AX1000?,BX BX+1,结束,AX BX+AX,BX送N,AX送SUM,Y,N,DATA SEGMENT SUM DW ? CN DW ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV AH,4CH INT 21H CODE ENDS END START,MOV AX,0 ;AX存累加和 MOV BX,0 ;BX存加数 LP: INC BX ADD AX,BX CMP AX,1000 JBE LP ;1000 循环 MOV SUM,AX MOV CN,BX,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报