微机原理和接口技术-第5章 汇编程序设计_13.pptVIP

微机原理和接口技术-第5章 汇编程序设计_13.ppt

  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文档。上传文档
查看更多
微机原理和接口技术-第5章 汇编程序设计_13

主要内容:; ; ;标号:指令所在内存单元的符号地址 有三个属性: 段地址:即标号所在段的段地址; 偏移量:标号所代表存储单元的段内偏移地址; 类 型:NEAR或FAR(默认为NEAR) NEAR—16位的指令地址,只需要段内的 偏移地址。也叫近地址 FAR—32位的指令地址,同时需要段内 偏移地址与段地址。又叫远地址 标号通常作为转移指令或CALL指令的转移地址。; … CMP AX,BX JNE NEXT … NEXT: MOV AX,0 …;变量——即内存中的存储单元或数据区。 变量名——是存储单元(数据区)的符号地址或名字。 变量也有三个属性: 段地址(SEG)—变量所在段的起始地址 偏移量(OFFSET)—变量所在单元距离段首地址的字节数 类 型(TYPE)—变量占用的字节数。有BYTE、WORD和DWORD三种。;标号和变量名的使用规则 以字母或者下划线开头,后跟字母、数字、下划线,长度不超过31个字符,并且系统中的保留字(如指令的操作码助记符、运算符、寄存器名称)不能作为标号和变量名。 例如: 正确的:LP1, AGAIN, NEXT, _GO, OK_1 错误的:4M, LOOP, AAA, #HELP, +ONE;表达式是常数、寄存器、标号、变量与运算符的组合。 有数值表达式和地址表达式两种。 汇编时按优先规则对表达式进行计算,计算出具体的数值或地址。运行时不能改变。 表达式中的运算符有6类:算术、逻辑、关系、取地址、属性、杂类。;用于数值表达式,例: MOV AX,4*1024 汇编后的形式为: MOV AX,4096 用于地址表达式,例: LEA SI,TAB+3 若TAB的偏移地址为1000H,则汇编后的形式为: LEA SI,[1003H] ;SEG:取变量/标号的段地址 OFFSET:取变量/标号的偏移地址 例:VAR DB 12H …… MOV BX,OFFSET VAR ;VAR的偏移地址 MOV AX,SEG VAR ;VAR的段地址 注意,以下指令的异同: MOV BX, OFFSET VAR LEA BX, VAR OFFSET只能取静态的偏移地址; LEA指令即可取静态的偏移地址,也可取动态的偏移地址。 ;3. 取值运算符——TYPE、LENGTH、SIZE;格式: LENGTH 变量名 功能: 对于变量中使用DUP(非嵌套)的情况,计算出分配给该变量的单元数(分配单元可以按字节、字或者双字为单位计算),而对于其他情况则返回值1。 例如: DATA1 DB 12H, 34H DATA2 DB 100 DUP(?) MOV AL, LENGTH DATA1 ;AL=1 MOV AL, LENGTH DATA2 ;AL=100 ;格式: SIZE 变量名 功能: 计算一个存储区域所占用的字节数 SIZE = LENGTH*TYPE 例: BUFF DB 10 DUP(?) MOV CX, LENGTH BUFF MOV BX, TYPE BUFF MOV CX, SIZE BUFF;主要内容:;5.4 宏指令语句;无参数宏定义 CRLF MACRO ; 光标跳到下一行开头位置 MOV AH,0EH MOV AL,0DH INT 10H MOV AL,0AH INT 10H ENDM 在程序中使用无参数宏的方法 MOV AH, 2 MOV DL, A INT 21H ; 在当前光标位置显示A CRLF ;含宏语句源程序序列 MOV AH, 2 MOV DL, A INT 21H ; 在当前光标位置显示A CRLF 汇编之后的语句序列(带有+号的指令为宏展开后的结果) MOV AH, 2 MOV DL, A INT 21H MOV AH,0EH MOV AL,0D

文档评论(0)

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

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

1亿VIP精品文档

相关文档