- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
教学课件课件PPT医学培训课件教育资源教材讲义
微机原理及应用; ; ;CODE_SEG SEGMENT ;定义作为代码段的逻辑段
ASSUME CS:CODE_SEG, DS:DATA_SEG, SS:STACK_SEG
START:MOV AX, DATA_SEG ;程序执行起始点为START
MOV DS, AX ;将段寄存器指向用户数据段
MOV AX, STACK_SEG
MOV SS, AX ;将堆栈指针指向用户定义堆栈
MOV SP, OFFSET TOP
LEA DX,STRING
MOV AH,9 ;系统功能调用,在CRT显示字符串
INT 21H
MOV AH, 4CH ;系统功能调用,程序结束返回操作系统
INT 21H
CODE_SEG ENDS
END START ;汇编结束,程序起始点为START;
1.指令语句格式
(标识符)(:)(前缀指令)指令助记符 操作数(;注释)
标识符
前缀指令
指令助记符
操作数
注释
; ;
标识符用一个符号表示。
对符号的规定:
① 由字符A~Z ,a~z ,0~9及符号@、$、下划线_ 等组成,
最长31个字符,超出部分忽略。
② 不能用数字打头,以免与十六进制数相混。
③ 不使用汇编程序中的保留字。 (如指令的助记符等)
④ 对定义的符号不区分大小写。
; ; ; ; ;经常使用的伪指令语句类型有如下几种:
数据定义语句DB,DW, DD
标号赋值语句EQU,=
段定义语句SEGMENT……ENDS
段分配语句ASSUME
过程定义语句PROC……ENDP
程序开始结束语句ORG,END,NAME
;
1. EQU伪指令
使用格式为:名字 EQU 数值或字符序列
EQU伪指令的功能是将数值或字符序列与一个指定的名字等价。如此能增加汇编程序可读性。给程序的设计与维护带来方便。; 2. “=”伪指令
“=”伪指令与EQU伪指令具有相同的功能,区别仅在于“=”伪指令定义的符号允许重新定义,使用更灵活方便。例如:
EMP=60 ;定义EMP等于常数60
EMP=79 ;重定义EMP等于常数79
EMP=EMP+1 ;又定义EMP等于常数80; 常用的变量定义伪指令有 DB、DW、DD、DQ、DT,
分别用来定义字节,单字、双字、四字及十字节类型变量。它们的基本应用格式如下:
[变量名] { DB|DW|DD|DQ|DT }〈表达式〉
其中,变量名是可选的,{ }表示其中的伪操作命令必须选用一种,表达式有如下几种应用形式:
1. 数值表达式
这种形式定义的变量具有表达式给定的数值初值。
例如:
BETA DW 4*10H;BETA为字类型,初值???64,0040H;2. ASCII字符串
字符串必须用单引号括起来。DB伪指令为串中每一
个字符分配一个字节单元,且自左至右按地址递增的顺
序依次存放,字符个数不得超过255个。例如
MSG1 DB ‘ABcdef
对于DW伪指令,可以给两个字符组成的字符串分配
两个字节存储单元,而且这两个字符的存储顺序是前一
个字符在高字节,后一个字符在低字节,每一个数据项
不能多于两个字符。例如:
MSG2 DW AB,cd,ef ;3. 地址表达式
地址表达式的运算结果是一个地址,因此只能用DW或DD来定义。如果用DW定义,则将原变量或标号的偏移地址定义为新变量;如果用DD来定义,则将原变量或标号的偏移地址和段地址分别置入新变量的低位和高位字中。例如:
PBETAD1 DD BETA1;变量的初值为BETA的段地址和偏移地址
PBETAD2 DW BETA2;变量的初值为BETA的偏移地址;5. n DUP 表达式
这种情况用于定义重复变量,DUP(Duplication)是
重复数据操作符,n表示重复次数,圆括号内的表达式表
示要重复的内容。例如:
TAB DB 100 DUP(0);TAB有100个初值为零的字节元素
BUFFER DW 64H DUP(?); BUFFER长度为100个字
DUP操作符可以嵌套使用,即圆括号中的表达式又是一个带DUP的表达式。例如:
TAB DW 2 DUP(2 DUP(4),7)
表示变量TAB有重复两次的内容(4,4,7),这6个元素的初值构成的数据序列为:
4,4,7,4,4,7
共占12个字节单元。;存储器操作数
标识符;5.1.3 程序分段定义伪指令
1. SEGMENT和ENDS伪指令
语句格
文档评论(0)