- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编语言源程序的组成原则 完整的汇编语言源程序由段组成。 一个汇编语言源程序可以包含若干个代码段、数据段、附加段或堆栈段,段与段之间的顺序可随意排列。 需独立运行的程序必须包含一个代码段,并指示程序执行的起始点,一个程序只有一个起始点。 所有的可执行性语句必须位于某一个代码段内,说明性语句可根据需要位于任一段内。 通常,程序还需要一个堆栈段。 汇编语言语句实例 MOV CX,0 ;传送指令,具有2个操作数 DELAY: NOP ;空操作指令,没有操作数,带;有标号 LOOP DELAY ;循环指令,标号DELAY说明转移位置 BUFFER DB 1,2,3,4,5,6,7 ;数据定义伪指令,在主存中开辟7个连续的字节单元,初值依次为1~7,BUFFER表示它们的首地址 标号、名字 标号是反映硬指令位置(逻辑地址)的标识符,后跟一个冒号分隔。 名字是反映伪指令位置(逻辑地址)和属性的标识符,后跟空格或制表符分隔,没有一个冒号。 保留字 保留字(Reserved Word)主要有: 硬指令助记符——例如:MOV、ADD, 伪指令助记符——例如:DB、EQU、ORG, 操作符——例如:OFFSET、PTR, 寄存器名——例如:AX、CS, 预定义符号——例如:@data。 汇编程序不区别保留字中的字母大小写。 分隔符 语句的4个组成部分要用分隔符分开。 标号后用冒号,注释前用分号, 操作数之间和参数之间使用逗号分隔, 其他部分通常采用空格或制表符。 多个空格和制表符的作用与一个相同。 MASM支持续行符 “\”,即若一行写不完可以使用续行符 接着写到下一行。 等值语句表达式的种类 常数或数值表达式 COUNT EQU 10 NUM EQU 89*3+5-9 地址表达式 ADD1 EQU VAR2+10H 变量或标号 CON EQU VAR 二、等号语句 符号常数 利用一个标识符表达的一个数值 MASM提供等价机制,用于常量定义 符号定义伪指令: 等价EQU伪指令 符号名 EQU 数值表达式 符号名 EQU 字符串 等号=伪指令 符号名 = 数值表达式 常数若使用有意义的符号名来表示,可以提高程序的可读性,同时更具有通用性。 符号常数实例 符号定义 DosWriteChar equ 2 CarriageReturn = 13 CallDOS equ int 21h 符号应用(左边的程序段等价右侧的符号形式) mov ah,2 ;mov ah,DosWriteChar mov dl,13 ;mov dl,CarriageReturn int 21h ;CallDOS 变量定义伪指令 变量定义(Define)伪指令为变量申请固定长度的存储空间,并可以同时将相应的存储单元初始化。 变量名 伪指令助记符 初值表 变量定义伪指令最常使用 变量名 变量名为用户自定义标识符,表示初值表首元素的逻辑地址。 用这个符号表示地址,常称为符号地址。 变量名可以没有,这种情况,汇编程序将直接为初值表分配空间,无符号地址。 设置变量名是为了方便存取它指示的存储单元。 初值表 初值表是用逗号分隔的参数 主要由数值常数、表达式或?、DUP组成 ?——表示初值不确定,即未赋初值; DUP——表示重复初值。DUP的格式为: 重复次数 DUP(重复参数) 变量定义伪指令助记符 变量定义伪指令根据申请的主存空间单位分类 DB——定义字节伪指令 DW——定义字伪指令 DD——定义双字伪指令 DF——定义3字伪指令 DQ——定义4字伪指令 DT——定义10字节伪指令 还有定位伪指令 下面逐个介绍 定义字节单元伪指令DB DB伪指令用于分配一个或多个字节单元,并可以将它们初始化为指定值。 初值表中每个数据一定是字节量(Byte),存放一个8位数据: 可以是0~255的无符号数, 或是-128~+127带符号数, 也可以是字符串常数。 字节单元定义实例 data segment ;数据段 X db a,-5 db 2 dup(100),? Y db ABC data ends 字节变量的应用 mov al,X ;此处X表示它的第1个数据,故AL←a dec X+1 ;对X为始的第2个数据减1,故成为-6 mov Y,al ;现在Y这个字符串成为 aBC 定义字单元伪指令DW DW伪指令用于分配一个或多个字单元,并可以将它们初始化为指定值。 初值表中每个数据一定是字量(Word),一个字单元可用于存放任何16位数据: 一个段地址、一个偏移地址、 两个字符、0 ~ 65535之间的无符号数 或-32768 ~ +32767之间的带符号数。 字单元定义实例 data segment ;数据段 count dw 8000h,?, AH 字变量和字常
您可能关注的文档
- 《编译原理》清华第二版习题答案-第2章 PL0编译程序的实现.pdf
- 《编译原理》清华第二版习题答案-第04章 词法分析.pdf
- 《编译原理》清华第二版习题答案-第06章 自底向上优先分析.pdf
- 《测绘程序设计》实验指导书VC.net版.doc
- 《计算机组成原理与汇编语言》042试卷A.doc
- 《计算机组成原理与汇编语言》042试卷B.doc
- 《计算机组成原理与汇编语言》051试卷A.doc
- 《计算机组成原理与汇编语言》051试卷B.doc
- 《编译原理》清华第二版习题答案-第01章 引论.pdf
- 《计算机组成原理与汇编语言》2011年汇编语言总结beta 1.1.doc
- 《计算机组成原理与汇编语言》第6章储存系统.ppt
- 《计算机组成原理与汇编语言》第4章 指令系统层.ppt
- 《计算机组成原理与汇编语言》第一章绪论.ppt
- 《计算机组成原理与汇编语言》第7章 输入输出系统-中断.ppt
- 《计算机组成原理与汇编语言》汇编--栈.ppt
- 《计算机组成原理与汇编语言》软件学院高级程序设计实验课使用手册-学生.doc
- 《计算机组成原理与汇编语言》实验三 算术逻辑运算和移位指令的使用.doc
- 《计算机组成原理与汇编语言》实验四 串操作指令.doc
- 《计算机组成原理与汇编语言》网络操作系统安装与调试实践指导与要求.doc
- 《计算机组成原理与汇编语言》云南大学软件学院汇编实验报告2.1.docx
最近下载
- 法奥机器人 FR5用户手册V3.3.2.pdf VIP
- 2025-2026学年初中地方、校本课程川教版可爱的四川教学设计合集.docx
- 湖南省武冈市2025届高考化学一模试卷含解析.doc VIP
- 解读《GB_T 44304 - 2024精细陶瓷室温断裂阻力试验方法 压痕(IF)法》.docx VIP
- 小学数学新西师版二年级上册3.7 尺子乐园教学课件(2025秋).pptx VIP
- 100t履带吊安装及拆除施工方案.docx VIP
- 2025年租房合同范本(可直接打印)与租房合同范本(标准版) .pdf VIP
- 物流园区安全管理手册.doc VIP
- 商务英语词汇大全最新完整版本.pdf VIP
- 毕业论文-基于Arduino的智能避障小车设计与实现.doc VIP
文档评论(0)