- 1、本文档共57页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.2 汇编语言中的数据 汇编指令中,数据是操作数的基本组成部分。第3章 讲到的操作数有寄存器操作数、存储器操作数和立 即数,汇编程序能识别的数据项有常数、变量、标 号和表达式。 1.常数 常数的值是固定的,没有任何属性。常数一般有3 种类型:数值型常数、字符串型常数和符号常数。 4.2 汇编语言中的数据 (1)数值型常数 二进制数:以字母B结尾,。 八进制数:以字母Q或O结尾,如732Q、21O。 十进制数:以字母D结尾(或省略),如1948D、3528。 十六进制数:以字母H结尾,如3A40H、0E50H。 注意:当十六进制常数的第一位(即最高位)是字母A~F 时,必须在第一个字母前加写一个数字0,以便和标号名或 变量名相区别。 4.2 汇编语言中的数据 (2)字符串型常数 字符串型常数是指用单引号括起来的若干字符。汇 编语言把字符串中的每一个字符表示成它的ASCII 码值存放在内存中。如‘AB’的值是41H、42H, ‘345‘为33H、34H、35H。 (3)符号常数 用符号名来代替常数。如:BUF EQU 34,定义后 BUF就是符号常数,其值是34。 4.2 汇编语言中的数据 2.变量 变量在除代码段以外的其他段中被定义,用来定义存放在 存储器单元中的数据,在汇编程序中可以修改变量的值。变量由变量名表示,变量名按照标识符的命名规则定义。定义变量可用变量定义伪指令。变量表示定义数据项中第一个字节在现行段中的地址偏移量。 变量有3个属性: 段属性 偏移地址属性 类型属性 4.2 汇编语言中的数据 3.标号 标号是指令的符号地址,标号是可有可无的。标号常作为转 移指令的操作数,确定程序转移的目标地址。与变量类似, 标号也有3个属性。 段属性 偏移属性 类型属性(distance) * 堆栈段 DB 100DUP(?) * * 实际操作演示 * 由于ASSUME伪指令只指明某一个段地址应存于哪一个段寄存器中,并没有包含将段地址送入该寄存器的操作。因此要将真实段地址装入段寄存器还需用汇编指令来实现。 如:CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK MOV AX,DATA ;DATA段值送AX MOV DS,AX ;AX内容送DS,DS才有实际段值 CODE ENDS ASSUME 段寄存器:段名 [,段寄存器名:段名, ...] 4.段寄存器说明伪指令 功能:指明某一个段地址应存于哪一个段寄存器中 * 例:ASSUME的使用 DATA1 SEGMENT A DB 1,2,3 DATA1 ENDS STACK SEGMENT STACK DB 200 DUP(0) STACK ENDS DATA2 SGEMENT B DB ‘123ABC’ DATA2 ENDS DATA3 SEGMENT C DB ?,?,? DATA3 ENDS * CODE SEGMENT ASSUME DS:DATA1,ES:DATA3, CS:CODE, SS:STACK START: MOV AX,DATA1 MOV DS,AX ;DATA1→DS MOV AX,DATA3 MOV ES,AX ;DATA3→ES ┆ Q1: MOV AL,A Q2: MOV C,AL * ASSUME DS:DATA2 ;建立DS与B段 的对应关系 MOV AX,DATA2 MOV DS,AX MOV AL,B MOV C,AL ┆ CODE ENDS END START * 5.汇编结束伪指令 其中可选的标号用于指定程序开始执行点,连接程序将据此设置CS : IP值 例如: END START ;表明该程序的启动地址为START 格式:END [标号] 功能:该语句标志整个程序的结束,是源程序的最后一条语句。 当汇编程序对源程序进行汇编过程中,如遇到END,得知源程序到此结束。 * 6.运算符(常用) 地址操作符 SEG ;取段址 OFFSET ;取偏址 类型操作符 PTR ;定类型 * 地址操作符 取得名字或标号的段地址和偏移地址两个属性 [ ] 将括起的表达式作为存储器地址 : 采用指定的段地址寄存器 OFFSET 名字/标号 返回名字或标号的偏移地址 SEG 名字/标号 返回名字或标号的段地址 例:FIVE EQU 5 MOV AX,FIVE ;AX=5 MO
您可能关注的文档
- 常见危险化学品素材.pptx
- 【【【【LTE学习笔记】】】】素材.docx
- 3Dmax专业浅析.ppt
- 【1-51完整已校对】天文学新作业素材.docx
- 3D打印机第八章浅析.ppt
- 第十一章风化矿床浅析.ppt
- 第十一章复习课浅析.ppt
- 【BIM机电】昆明新机场机电安装4D管理与BIM应用素材.docx
- 常见直肠肛肠管疾病素材.pptx
- 【安装预算必看】太全了(电气、给排水、消防、采暖燃气)素材.docx
- springbooot+vue基于java的房屋维修系统毕业论文.doc
- 中国消防救援学院《单片机系统实验》2023-2024学年第一学期期末试卷.doc
- 2025年溧阳纺织化学品项目申请.pptx
- 景区门票包销合同模板(3篇).docx
- 【股票技术指标学习指南】第七章第三节货币需要量的测算.doc
- 2025春 _ 人教版七年级英语下册【unit4】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit5】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit6】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit7】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit8】看音标写单词.doc
文档评论(0)