- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- 汉英翻译基础教程-冯庆华-一93页精品课件.ppt VIP
- 设备采购供货安装投标方案.docx VIP
- 八年级物理下册第九章压强测试题新版新人教版.docx VIP
- 升压站强条执行记录表(完整版)-(1).docx VIP
- 黑龙江箵哈尔滨市松雷中学2024-2025学年九年级上学期开学测试英语试卷+.docx VIP
- FANUC数控系统31i-B维修说明书(非常详细).pdf VIP
- 眼科设备采购投标方案.doc VIP
- 铁路售票员培训课件.pptx VIP
- 铁路与轨道交通客运安检实务 项目一 铁路与轨道交通安检基本知识.pptx VIP
- 元素周期律 高一化学人教版(2019)必修第一册.pptx VIP
文档评论(0)