- 1、本文档共54页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 宏汇编语言程序设计 本章内容 汇编语言程序格式 MASM中的表达式 伪指令语句 DOS系统功能调用 BIOS中断调用 概述 汇编语言 利用指令的助记符、符号地址、标号来编写的语句 汇编语言源原程序 用汇编语言编写的程序 一个例子程序 Page 124,例4-1 程序由段的描述组成 指令语句/伪指令语句构成 §4-1 汇编语言程序格式 指令性语句 伪指令语句 数据项 汇编语言程序格式——指令语句 对象 CPU 与机器码相对应,要求CPU执行的操作 格式 [标号:] 指令助记符 [[操作数],操作数][ ;注释] 汇编语言程序格式——伪指令语句 对象 汇编程序 通知编译器,如何生成目标码。本身不产生机器目标吗 格式 [名字] 伪指令助记符 [[操作数],操作数...][ ;注释] 汇编语言程序格式——数据项 常数 确定的数据,有固定值,没有属性 变量 存放在存储单元中的值 在程序中以变量名的形式出现,代表存放数据的存储单元的符号地址 三属性 段属性/段内偏移量属性/类型属性 汇编语言程序格式——数据项 标号 可执行指令语句的首字节地址的符号表示 被JMP/CALL/LOOP等所使用 三属性 段属性/段内偏移量属性/类型(距离)属性 §4-2 MASM中的表达式 指令操作数形式 常数、变量、标号、表达式、关键字 表达式的构成 运算符 运算对象:常数、变量、标号 结果为常数、地址 在汇编时求值 六大类运算 表达式——算术运算 加、减、乘、除、模、左移、右移 运算对象、结果 整数 禁忌 地址相加 无法求值 表达式——算术运算 例: abc equ 35h var1 db 10h var2 db 0ah mov ax,abc shr 4 mov ax,abc shl 4 mov cx,var2 - var1 mov bx,abc - 5 表达式——逻辑运算 与、或、非、异或——按位运算 运算对象、结果 常数 禁忌 变量名 表达式——逻辑运算 例: abc = 10h abc1 equ 2ah v1 db 3ah mov ax,abc and 0fh mov ax,abc or abc1 mov ax,v1 and abc 表达式——关系运算 EQ、NE、LT、GT、LE、GE 对象 数据 同段内的偏移地址 结果 真:全1 假:全0 表达式——关系运算 例: abc equ 10h mov ax,abc eq 10 mov ax,abc lt 10 mov ax,abc gt 10 表达式——数值返回运算 Offset、seg、type、length、size 对象 变量、标号 结果 值 表达式——数值返回运算 Offset 变量、标号的段内偏移地址 与 LEA 的差异??? Seg 变量、标号的段地址 表达式——数值返回运算 Type 变量、标号的类型属性 Length 外层DUP的单元个数 无DUP则返回1 表达式——数值返回运算 Size size = length * type 表达式——属性修改运算 Ptr 临时改变变量、标号的类型属性 mov word ptr [bx],0 jmp far ptr sub1 This 给变量、标号赋予类型 first equ this byte table dw 2000h 表达式——属性修改运算 High/Low 字节分离 常数、常数表达式 mov al,low (offset da1) §4-3 伪指令语句 不生成机器码,帮助解释、生成指令的机器码 变量定义、存储器分配、段定义…… 伪指令语句——数据定义 定义/分配变量的存储器单元,并初始化存储器单元 格式 变量名 助记符 操作数,操作数… ;注释 伪指令语句——数据定义 DUP的使用 定义重复数据 例 abc db 10 dup(0) ab db 100 dup(1,2,34 dup(0)) 伪指令语句——数据定义 字符串的定义 DB/DW/DD? DB按正常的顺序排列 DW/DD只能以两个一组作定义,顺序不同 伪指令语句——数据定义 符号地址的使用 DW? DD? DB?? 伪指令语句——赋值 不分配存储器空间 常数 EQU 不可重复赋值 = 可重复赋值 伪指令语句——段定义 段名 segment 定位类型 组合类型 ‘分类名’ …… 段名 ends 伪指令语句——段定义 段名 segment 定位类型 组合类型 ‘分类名’ …… 段名 ends 伪指令语句——段定义 段名 segment 定位类型 组合类型 ‘分类名’ …… 段名 ends 伪指令语句——段定义 段名 segment 定位类型 组合类型 ‘分类名’ …… 段名 ends 伪指令语句——数据定义
您可能关注的文档
- 第16章 教学管理系统分析与设计.ppt
- 第16章 模拟量和数字量的转换.ppt
- 第16章 Qt单元测试框架.ppt
- 第16章__嵌入式Linux启动流程.ppt
- 第17章 51系列单片机.ppt
- 第17章 非线性电路.ppt
- 第17章 异常处理与调试.ppt
- 第17章 益智类游戏——《旋转积木》.ppt
- 第17章 时钟定时管理.ppt
- 第17章__域名服务.ppt
- 小学足球课程教学资源开发与教学效果提升策略教学研究课题报告.docx
- 初中研学旅行课程实施过程中的教师角色转变与能力提升教学研究课题报告.docx
- 商业综合体项目可行性研究报告.docx
- 基于人工智能的体育课程个性化教学设计与实施效果教学研究课题报告.docx
- 高中物理实验:新型固态电池电解质在电池能量密度提升中的关键因素探讨教学研究课题报告.docx
- 初中生生物实验课中实验设计能力培养的实证分析教学研究课题报告.docx
- 小学数学游戏化教学中的虚拟现实沉浸式AI教育资源设计研究教学研究课题报告.docx
- 小学亲子阅读与儿童认知能力提升的关联性研究教学研究课题报告.docx
- 小学科学教育中人工智能跨学科融合设计教学案例的探索与实践教学研究课题报告.docx
- 2025至2030中国低温瓶手杖行业项目调研及市场前景预测评估报告.docx
文档评论(0)