51基本汇编语言程序设计 .ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言程序设计 计算机系 第5章基本汇编语言程序设计 第5章 基本汇编语言程序设计 5.1 顺序程序设计 5.2 分支程序设计 5.3 循环程序设计 本章要点及习题分析 5.1顺序程序设计(e) 5.1 顺序程序设计 指令按程序中的书写顺序逐条执行,称为顺序程序。除非编程解决非常简单的问题,顺序程序并不多见,但是顺序程序往往是复杂程序结构的一部分,如分支结构的一个分支,循环结构的循环体等。 例5.1 例5.1:设有3个字变量x,y和z,求出三者之和,结果存入字变量w。 DATAS SEGMENT X dw 5 Y dw 6 Z dw 7 W dw ? DATAS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AX 【例5-3】 将一个字节压缩BCD码转换为两个ASCII码。 分析:一个字节的压缩BCD码就是用一个字节的二进制数表示两位十进制数,如十进制数96表示成压缩BCD码就是96H,转换成ASCII码就是把压缩BCD码表示的十进制数的高位和低位分开,并以ASCII码表示,即转换成39H和36H。 DATA SEGMENT BCDBUF DB 96H ;定义1个字节的压缩BCD码 ASCBUF DB 2 DUP(?) ;定义2个字节的结果单元 DATA ENDS CODE SEGMENT ASSUME CS: CODE,DS: DATA START: MOV AX,DATA MOV DS,AX MOV AL,BCDBUF ;取出BCD码 MOV BL,AL ;送BL暂存 MOV CL,4 SHR AL,CL ;高4位变成低4位,高4位补0(96H→09H) ADD AL,30H ;变成ASCII码(39H) MOV ASCBUF,AL;存储第1个ASCII码 AND BL,0FH ;屏蔽掉高4位,只保留低4位(96H→06H) ADD BL,30H ;变成BCD码(36H) MOV ASCBUF+1,BL ;存储第2个码 MOV AH,4CH INT 21H CODE ENDS END START 【例5-4】 利用直接查表法完成将键盘输入的一位10进制数(0~9)转换成对应的平方值并存放在SQRBUF单元中。 分析:0~9的平方值分别为0、1、4、9、16、25、36、49、64、81。把平方值放在一起形成一个平方值表,根据输入的值和对应平方值所在单元地址之间的关系(表首地址加上输入的值),查出相应的平方值。 DATA SEGMENT SQUTAB DB 0,1,4,9,16,25,36,49, 64,81 SQUBUF DB ? DATA ENDS CODE SEGMENT ASSUME CS: CODE,DS: DATA START: MOV AX,DATA MOV DS,AX MOV BX,OFFSET SQUTAB ;平方表首地址 MOV AH,1 INT 21H ;由键盘输入—个数,得到其ASCII码 SUB AL,30H ;由ASCII码得到相应的数 XLAT ;查表 MOV SQUBUF,AL ;存储结果 MOV AH,4CH INT 21H CODE ENDS END START 5.2分支程序设计 4.2 分支程序设计 条件转移指令Jcc和无条件转移指令JMP用于实现程序的分支结构,JMP不测试条件,Jcc可根据条件是否成立决定转移到指定位置或不转移而顺序执行后续指令。由于Jcc不支持条件表达式,而是以当前标志位的状态为条件,故Jcc之前一定要安排设置标志位的指令,如加减法、比较、测试等指令。基本分支类型分为单分支和双分支。 单分支 单分支 双分支 2.双分支程序 双分支 双分支举例:显示BX的最高位。 shl bx,1 jc one ;转分支体 mov dl,’0’ ;分支体1 jmp next ;转后续操作 One: mov dl,’1’ ;分支体2 next: mov ah,2 ;后续操作 int 21h 3.分支程序

文档评论(0)

rovend + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档