- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编语言程序设计第的3章宏汇编语言
第3章 宏汇编语言;3.1 宏汇编语言格式;3.1.1 指令语句格式;3.1.2 伪指令语句格式;3.2 汇编语句表达式;3.2.1 常量;1.数值常量;2. 字符串常量;3.2.2 变量;(1)段属性
(2)偏移地址属性
(3)类型属性
;表达式项是给变量或指定存储单元赋予初值,它有以下几种形式:
(1)数值表达式
(2) 字符串表达式
(3)地址表达式(只适用DW和DD两个伪指令)
(4)? 表达式
(5)带DUP的表达式;数据定义伪指令可以为一个或连续的存储单元设置数值初值。
【例3.1】为数据段分配存储单元。
DATA SEGMENT
A DB 11H,12H,13H
B DW 1122H,3344H
C DD
DATA ENDS
上述变量的存储单元分配及初始化情况如下图3.1所示。 ;图3.1 数据段中数据存储分配图;字符串表达式中的字符串必须用引号引起来。DB、DW、DD伪指令将字符串中的各字符均以ASCⅡ码形式存放在相应的存储单元,但表示形式各不相同。
【例3.2】为字符串分配存储单元。
DATA SEGMENT
STR1 DB ‘1234’
STR2 DW ‘AB’,‘CD’,‘A’
STR3 DD ‘AB’
DATA ENDS
其存储单元分配如下图3.2所示。
;图3.2 数据段存储分配图;(3)地址表达式(只适用DW和DD两个伪指令)
如果该地址表达式为一变量(或标号)名,用DW伪指令则是取它的偏移地址来初始化变量,用DD伪指令则是取它的段首址和偏移地址来初始化变量。
例如:
BUF1 DW A
BUF2 DD B ;在表达式中使用重复数据操作符DUP,可以为连续的存储单元提供重复数据,其格式为:
N DUP(表达式)
其中N为重复因子,只能取正整数,表示定义了N个重复数据存储单元,其类型由它前面的数据定义伪指令确定,而每个数据存储单元中的初值由DUP后面圆括号中的表达式给定。
例如: BUF DB 100 DUP(0)
以上语句定义了以BUF为首址,大小为100个字节,初值为0的数据存储单元。;3.2.3 标号;1.段属性
2.偏移地址属性
3.类型属性
;3.2.4 表达式与运算符;算术运算符包括:+(加)、-(减)、*(乘)、/(除)、MOD(求模)、SHL(左移)、SHR(右移)几种,它既可以用于数值表达式又可用于地址表达式。
; ┆
NUM1 EQU 25*4 –50 ;NUM1=50
NUM2 EQU NUM1 / 7 ;NUM2=7
NUM3 DB NUM1 MOD 7 ;NUM3=1
VAR1 DB 1,2,3,4,5
VAR2 DB ‘12345’
NUM4 EQU VAR2-VAR1 ;NUM4=5
NUM5 EQU 0FH
┆
MOV AL,NUM5 SHL 4 ;(AL)
MOV BL,NUM5 SHR 4 ; (BL)
;逻辑运算符包括:逻辑乘(AND)、逻辑加(OR)、按位加(XOR)、逻辑非(NOT)四种运算。由于逻辑运算是按位操作,且在汇编过程中完成,因而运算的结果仍为整数常量。
【例3.5】用逻辑运算符进行运算。
MOV AL,34H AND 0FH ;04H→AL
MOV BL,05H OR 30H ;35H→BL
MOV CX,NOT 00FFH ;0FF00H→CX
MOV DX,789AH XOR 000FH ;7895H→DX
;关系运算符包括:相等(EQ),不等(NE),小于(LT),大于(GT),小于等于(LE)及大于等于(GE)。
【例3.6】用关系运算符进行数值表达式运算。
NUM1 DB 10 LT 5 ;NUM1=0
NUM2 DB 0AAAAH GT 7FFFH ;NUM2=0FFFFH
MOV AX,‘A‘ EQ 41H ;0FFFFH→AX
MOV BX,NUM2 LT NUM1 ;0→BX
;(1)PTR运算符
格式: 类型 PTR 地址表达式
② PTR与EQU连用,可定义与PTR右边地址表达式类型不同的新变量名或新标号,但不另分配存储单元。 ;(1)SEG 运算符
(2)OFFSET运算符
(3)TYPE运算符
(4)LENGTH运算符
(5)SIZE运算符
(6)字节分离运算符
;(1)SEG 运算符
格式:SEG 变量或标号
功能:分离
您可能关注的文档
最近下载
- 高考作文模拟写作直面青春迷茫导写(附写作指导及范文点评) 2021范文.doc VIP
- 餐厅6S制作流程.pptx
- 《现代酒店服务英语》Chapter2 客房预订部服务.ppt VIP
- 北京现代领动_汽车保养手册用户服务指南车辆维护保修说明书电子版.pdf VIP
- The Beginning-钢琴谱 原调简谱 高清正版完整版双手简谱.pdf
- 高考作文模拟写作:贫困应该带给我们的 导写(附:写作指导及范文点评).docx VIP
- 光伏发电+储能项目建议书写作模板.doc VIP
- 交通安全风险评估.pdf VIP
- 隧道注浆施工记录表.doc VIP
- 《现代酒店服务英语》Chapter1 前台服务.ppt VIP
文档评论(0)