- 1、本文档共76页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 MASM汇编语言
第4章 MASM汇编语言 前面使用的所有指令都可在小汇编下 (DEBUG)使用,由于DEBUG不支持符号地址(即: 标号地址和变量地址),不支持绝大数的伪指令, 所以受到较大的限制,编程效率低,灵活性差。 宏汇编程序克服了上述问题,更有利于人 编写和阅读程序。本章主要介绍其宏汇编的语句格 式、语法规则和指令使用。 是为了简化程序设计,使用一条宏指令语句来代替一段程序 2. 源语句的格式 (1)指令语句格式 [标号:]助记符 操作数1,操作数2 [;注释] (2)伪指令语句格式 [符号名] 定义符 参数1,…,参数n [;注释] (3)宏指令语句格式 [标号:] 宏指令名 参数1,…,参数n [;注释] [ ]表示可有可无。 3. 源语句的格式中各项的含义 (1)标号及符号名 标号是表示一条指令所在的地址,即标号是指令的符号地址。 符号名是可表示伪指令定义符所定义的变量名、段名、过程名、数值符号等, (2)助记符及定义符 助记符:在指令中表示该语句的操作功能,是指令中操作码的体现。如ADD、MOV等,是由系统定义的。 定义符:是在伪指令使用,表示伪指令语句的操作功能,由汇编程序所规定,程序员只能根据规定使用。 (3)宏指令名 是程序员依需要来命名(规则同符号名),可出现在汇编语言程序的指令序列中,作为一条宏指令来使用。 (4)操作数与参数 操作数:在指令中表示指令操作的对象,根据不同指令,在指令中有0个、1个和2个操作数。 参数:是在伪指令或宏指令语句中使用,给出伪指令语句或宏指令语句的参数,参数可以多个或没有。 指令语句操作数有三种形式: A. 常数操作数 即立即数,可分为数值、字符、数值符号名和 表达式常数。 数值常数: 二进制常数:以字母B为结尾,由若干0、1组成 十进制常数:以字母D为结尾,由若干0~9组成 八进制常数:以字母O或Q为结尾,由若干0~7组成 十六进制常数:以字母H为结尾,由若干0~9、 A~F组成 字符常数: 在操作数中使用‘’括起来,如‘A’、‘B5’、‘GAE’在内存中实际上就是ASCII码,如:‘A’(41H)‘B5’(4235H)。 数值符号名常数: 可用伪指令语句定义的常数符号。 表达式常数: 常数与运算符组合而成为求值的表达式。 B. 寄存器操作数 CPU中可编程寄存器可以作为操作数使用(IP除外),分为源和目的。寄存器寻址。 C.存储器操作数 以存储器单元作为操作数,所学的所有与存储器有关的寻址都实有,引进符号地址(标号和变量),标号和变量有三种属性: 段 属 性:段基址,标号在CS,变量DS或ES 偏移属性:与段基址的距离的偏移量值 类型属性:标号类型属性指段内还是段间 操作,即FAR(-2)和NEAR(-1), 变量类型属性是指变量的字节数,BYTE (1)、WORD(2)和DWORD(4) 例1: BCDA DB 12H,13H,34H mov si,0 mov al,bcda[si] 例2: BLEN EQU 5 lea si,3400h mov blen[si],0 (5)注释 不是汇编语句的必须部分,为阅读程序方便而使用 二、??? MASM汇编语言常用伪指令 1. 符号定义伪指令 (1)等价定义伪指令 EQU 格式:符号名 EQU 表示式 说明: (A) EQU语句表达式中出现的符号必须已定义。 (B) 在同一源程序中,EQU语句不允许同一符号 名重复定义 (2)等号定义伪指令 = 格式:符号名 = 表示式 2. 数据定义伪指令(变量名) 格式:(1) [变量名] DB 表示式1[,… ];字节 (2) [变量名] DW 表示式1[,… ];字 (3) [变量名] DD 表示式1[,… ];双字 (4) [变量名] DQ 表示式1[,… ];4个字 (5) [变量名] DT 表示式1[,… ];10个字节 例1: A DB 55 B DW ? C DB 100 DUP(?) D DB ‘HOW ARE YOU’ E DD ? F DB 1
文档评论(0)