汇编语言硬件知识.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文档。上传文档
查看更多
汇编语言硬件知识

第2部分 汇编语言基础知识 1 汇编语言的编码要求 Assembly Language Programming 基本特征 程序注释 保留字 标识符 语句 伪操作 汇编程序的基本框架 数据类型 简单的程序举例 注释 注释利用 ; 开始 可自成一行,也可在指令之后的同一行里 例如 ADD AX,BX ; 计算总量 保留字 在特殊情况下使用,具有固定用途而保留的某些名字,称为保留字。主要类型: 指令 如MOV, ADD等计算机可执行的操作 伪操作 如END, SEGMENT,为编译程序提供信息的语句 操作符 如FAR, SIZE,在表达式中使用 预定义符号 如@data, @model等,在编译期间向程序返回信息 标识符1 用户定义的符号名称,包括两类: 数据项的名称:表示数据项的地址 如COUNTER DB 0 标号:表示指令、过程或者段的地址 MAIN PROC FAR B30: ADD BL, 25 标识符2 定义规则 第一个字符必须是字母或者不为.的特殊字符 长度限定在1-31之间 不能和保留字相冲突 不区分大小写 例如 合法: TATAL, QTY25, $P80 非法: 5P, .TY 语句 语句包括两类: 指令——具有对应的机器码 例如:ADD, MOV 伪指令——只在程序汇编过程起作用,产生机器不可执行的代码 例如: 定义数据项DB, DW 指令 指令??机器指令 操作operation是必有的,规定该指令的动作 操作数operand是可选的,并且数量不定 例如: 标识符 操作 操作数 伪指令:COUNT DB 1 指令: MOV AX, 0 伪操作 介绍几个常用的伪操作 PAGE和TITLE SEGMENT PROC END和ENDP ASSUME PAGE和TITLE 程序的开头,PAGE定义程序打印时一页的最大行数和每行最大字符数。 默认50,80 格式:PAGE 60, 132 TITLE为程序产生标题,打印程序时位于第2行 格式:TITLE Assembly program sort SEGMENT 格式: segment_name SEGMENT [align] [combine] [‘class’] …… segment_name ENDS 解释 定位align:指明段开始的边界。 通常段为小边界,参数为PARA。 组合combine:指明程序连接时,该段是否和其它的段组合在一起(以后解释),参数为STACK, COMMON, PUBLIC 堆栈段通常定义 segment_name SEGMENT PARA STACK 类别class:指明段的类别 代码段‘code’,数据段‘data’,堆栈段‘stack’ PROC 定义过程,格式: proc_name PROC FAR …… proc_name ENDP 过程名的操作数为FAR,意味着相应程序的入口点为此过程,在程序中只有一个操作数为FAR的过程。 ENDP指明过程的结束,过程的结束在代码段内,即ENDS之前完成。 代码段内可以包含任意数量的过程,其它的过程通常使用NEAR的操作数。 END ENDS段结束 ENDP过程结束 END完整的程序结束 格式: END 过程操作数FAR的PROC ASSUME 指明程序各个段的用途 典型的格式 ASSUME DS:dataseg, CS:codeseg, SS:stackseg, …… 上述的次序任意 假如需要扩展段ES,也可以加上即可ES:dataseg 程序的框架结构 page 60,132 TITLE A04ASM1 (EXE) Move and add operations STACK SEGMENT PARA STACK Stack ……. STACK ENDS ; DATASEG SEGMENT PARA Data …… DATASEG ENDS ; CODESEG SEGMENT PARA Code MAIN PROC FAR ASSUME SS:STACK, DS:DATASEG, CS:CODESEG MOV AX,DATASEG ;Set address of data MOV DS,AX ; segment in DS ……. MOV AX,4C00H ;End processing INT 21H MAIN ENDP ;End of procedure CODESEG END

文档评论(0)

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

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

1亿VIP精品文档

相关文档