【创意版】微机原理及应用第四章.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文档。上传文档
查看更多
分支结构程序设计 分支结构:分支程序经常利用改变标志位的指令和转移指令来实现。如采用比较指令CMP和测试指令TEST,产生相应的状态标志,选择适当的条件转移指令,实现不同情况的分支转移。 * 分支结构程序设计实例 = 0? BX= 0 BX= 1 BX= –1 Y Y 0? 例 编程实现符号函数。 1 X 0 Y= 0 X = 0 –1 X 0 * 根据上述要求的程序段为: START:MOV AX,BUFFER ; 取变量X OR AX,AX ; 产生状态标志 JE ZERO ; X = 0 则转移 ZERO: MOV BX,0 JMP CONT1 CONT1: …… JMP CONT1 ; 转向出口 JNS PLUS ; X 为正 则转移 MOV BX,0FFFFH ; BX= – 1 PLUS: MOV BX,1 分支结构程序设计实例 * 汇编语言的基本元素 汇编语言的语句格式如下: 格式:[标识符] 助记符 操作数 [;注释] 汇编语言源程序中可以用下列字符来表示标识符: 字母:A~Z,a~z 数字:0~9 专用字符:?· @ _ $ 说明: 1、标识符不能以数字打头,名字中用到·则必须是第1个字符。 2、符号常量、标号或变量等都是标识符。 3、标识符不能和关键词重名。 * 常量、变量和标号 常量:指在汇编时已经有确定数值的量。 l数值常量:二进制、十进制、十六进制和ASCII码字符 如 234D(或234) 456Q 1234H ‘AB’ 符号常量:用伪指令EQU实现 例如: P EQU 314 伪指令PURGE可用于释放由EQU伪指令定义的符号常量,这样这些常量就可以被重新定义了。EQU伪指令定义的符号在PURGE伪指令解除前,不能重新定义。 例:PURGE 符号名1,符号名2,…符号名N 等号赋值伪指令“ = ” 功能与EQU相似,可对已定义的符号名重新定义而无须先释放。如:P = 314 * 常量、变量和标号 变量:是存储器中的数据地址或数据区地址的符号表示。变量名即是数据的地址或数据区的首地址。 标号:是指令地址的符号表示或过程名。过程名是过程入口地址的符号表示。标号经常在转移指令或CALL指令的操作数字段出现,用以表示转向地址。 标号的定义:用“:”定义,直接写在指令前。 如:NEXT:MOV AL,[SI] 说明: 1、标号代表指令的符号地址, 在代码段中定义和使用; 2、变量是数据存储单元的符号表示, 在数据段、附加段和堆栈段中定义。 * 数据定义伪操作指令 变量的定义(重点) 格式:[变量名] 数据定义伪指令 表达式 数据定义伪指令:DB,DW,DD,DQ,DT 表达式:确定了变量的初值,所使用的表达式可以是以下几种: (1)?数值表达式 W1 DW -5,1994H (2)?ASCII码字符串 B1 DB ‘AB$’ (3)?地址表达式 W2 DW B1 (4)?“?”表示所定义变量无确定初值 B2 DB ? (5)?n DUP(表达式) 如:DATA1 DB 20 DUP (5) 其中n是重复因子,只能取正整数,它表示定义了n个表达式,表达式的类型由数据定义伪指令确定。此处表示定义了20个字节,并全部初始化为5。 * 数据定义伪操作指令 例1: DATA2 DW 10 DUP (?) 表示定义了10个字,但没有初始化。 例2: BUFFER DB 100 DUP (0) ; 表示以BUFFER为首地址的100个字节中存放00H  例3: V1 DB 100 DUP (3, 5, 2DUP (10), 35), 24, ‘NUM’ 表示V1为首地址的区域中存放了( 3,5,10,10,35 )100次,和24, ‘NUM’ * 数据定义伪操作指令 例4: S1 DB ‘ABCDEF’ S2 DW ‘AB’, ‘ CD’, ‘ EF’ S3 DD ‘AB’, ‘ CD’

文档评论(0)

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

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

1亿VIP精品文档

相关文档