- 1、本文档共207页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 汇编语言程序设计 4.1 概述 4.2 汇编语言程序的格式与基本语法 4.3 伪操作命令与宏指令 4.4 DOS与BIOS的调用 4.5 汇编语言程序设计 主要内容: 汇编语言源程序的结构 汇编语言语句格式 伪指令 功能调用 汇编语言程序设计 4.1 概述 汇编程序 汇编语言程序设计与执行过程 三、高级语言(High level Language) 4.1.1 汇编语言源程序的结构 4.2 汇编语言源程序的格式与基本语法 汇编语言的语句有三种: 指令性语句——由8086指令助记符构成的语句,由CPU执行,每一条指令性语句都有一条机器码指令与其对应。 指示性语句——由伪指令构成的语句,由汇编程序执行。它指出汇编程序应如何对源程序进行汇编,如何定义变量、分配存储单元以及指示程序开始和结束等。指示性语句无机器码指令与其相对应。 宏指令语句——简化汇编语言,可以用一条宏指令指令代替定义过的一段程序,汇编时将该段程序插入对应程序中。 注释——以分号开头,可放在指令后,也可单独一行。 ?注意注解的写法。要写指令(段)在程序中的作用,而不要写指令的操作。 例如:以下为同一条指令写的注释 1)MOV CX,100 ;传送100到CX 2)MOV CX,100 ;循环计数器置初值 显然,第二种写法要比第一种写法要好。 三、数据项与表达式 2.标号——指令所在内存单元的符号地址 3.变量 变量——即内存中的存储单元或数据区。 变量名——是存储单元(数据区)的符号地 址或名字。 变量也有三个属性: 段地址—变量所在段的段地址 偏移量—变量单元地址与段首地址之间的位移量。 类 型—有BYTE、WORD和DWORD三种。 变量在程序中作为存储器操作数被引用。 标号和变量名的使用规则 组成:A-Z(不分大小写), 0-9, ?@ . _ $ 不能以数字开头,句号(.)只能作为首字符 长度小于31个字符 不能与保留字(指令助记符、伪指令、预定义符号等)重名 不能重复定义 例如: 正确的:LP1, AGAIN, NEXT, _GO, OK_1 错误的:4M, LOOP, AAA, #HELP, +ONE 4.表达式 表达式是常数、寄存器、标号、变量与运算符的组合。 有数字表达式和地址表达式两种。 汇编时按优先规则对表达式进行计算,计算出具体的数值或地址。运行时不能改变。 表达式中的运算符有5类:算术运算符、逻辑运算符、关系运算符、分析运算符和合成运算符。 1)算术运算符—— +、-、*、/,MOD,SHL,SHR 2)逻辑运算符—— AND、OR、XOR、NOT 3)关系运算符——EQ、NE、LT、GT、LE、GE ①取地址运算符——SEG、OFFSET ②取值运算符——TYPE、LENGTH、SIZE 6)合成运算符——PTR、THIS 用来指定地址操作数的类型。 格式:类型 PTR 地址操作数 类型∈{BYTE, WORD, DWORD, NEAR, FAR} BYTE、WORD、DWORD 用于描述数据存储单元(变量)地址 NEAR、FAR 用于描述转移、调用的目的地址 符号 equ this 类型 另一符号;放于被指定类型前 4.3 伪操作命令与宏指令 数据定义伪指令 符号定义伪指令 模块定义伪指令(段) 过程定义伪指令 宏指令 模块连接 列表伪指令 4.3.1 数据定义与存储器分配伪指令(define) 用于定义变量,即内存单元或数据区。 数据定义伪指令的格式为: [变量名] 数据定义伪指令 操作数,操作数,… DB、DW、DD、DQ、DT 作用:定义变量类型属性,并可以进行初始化 常数或表达式 字符串(‘hello’表示其ASCⅡ值的) ?(该单元不初始化,预留出存储空间) 带DUP表达式 n dup(操作数) 带$(表示地址计数器当前值) ③操作数?用来保留存储空间,但不存入数据. 例3:ABC DB 0,1,2,3,4,’OK’,’$’ RSV DW ?,?,?,?,?,?,?,? ④复制操作符DUP: 重复的数据可以使用复制操作符DUP,如上面RSV亦可写成: RSV DW 8 DUP(?) ⑤若操作数中若使用$,则表示的是地址计数器的当前值。 例: TABLE DB 10 DUP(?) BUFFER DW TABLE,$+3 设TABLE的偏移地址为0080H,则汇编后如下图所示: $表示当前存储单元的偏移地址。 4.
您可能关注的文档
- 传统道德现代化.ppt
- 创新维护群众权益机制路径.doc
- 纯棉织物微波染色要打印.pdf
- 纯正农村唱大戏.doc
- 磁异常最小均方差滤波化极.pdf
- 次生阔叶林夏季鸟类群落组织结构形成机制.pdf
- 从动物、植物到动产、不动产——近代法律词汇翻译个案考察与研究.doc
- 从废弃锂离子电池中回收钴与研究.doc
- 从经验中找方向 从实践中找方法——世界医疗保障体系与商业健康险未来.pdf
- 从科学发展观看我国教育均衡与协调发展(宿迁0905).ppt
- 浙江台州玉环市慈善事业促进服务中心招聘编外工作人员笔试模拟试题附答案详解.docx
- 浙江台州市委统战部下属事业单位选聘工作人员笔试模拟试题及完整答案详解1套.docx
- 2025年江苏建筑职业技术学院招聘工作人员长期笔试模拟试题及参考答案详解一套.docx
- 2025年山东淄博市淄川区事业单位招聘初级综合类岗位75人笔试模拟试题附答案详解.docx
- 广东工业大学研究生院办事员招聘笔试模拟试题及参考答案详解一套.docx
- 2025年福建泰宁县民政和人力资源社会保障局事业单位招聘56人通告笔试模拟试题及参考答案详解一套.docx
- 2024年河南许昌市市直事业单位引进人才76人笔试备考题库及参考答案详解一套.docx
- 浙江宁波慈溪市逍林镇中心卫生院招聘派遣制编外工作人员笔试模拟试题参考答案详解.docx
- 2025年安徽池州石台县级公立医院急缺人才招聘10人笔试模拟试题带答案详解.docx
- 2025年安徽公安学院招聘事业编制工作人员笔试模拟试题及答案详解1套.docx
文档评论(0)