- 1、本文档共62页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课后作业 4.3、4.5、4.7 4.9、4.11 伪指令(指示性语句) 5、符号定义伪指令 格式:符号 EQU 表达式 功能:将表达式的值赋给EQU左边的符号。 说明:表达式可以是常量、变量、标号、数值或地址表达式。EQU指令定义的符号是不可以被再定义的,除非使用PURGE伪指令将此定义撤销后重新定义。 伪指令(指示性语句) 5、符号定义伪指令 格式:符号 = 表达式 功能:与EQU伪指令的功能完全相同。 说明:与EQU指令的区别在于用“=”定义的符号可被再定义。 伪指令(指示性语句) 6、段定义伪指令 格式:段名 SEGMENT [定位方式][组合方式][类别名] …… ;(段体) 段名 ENDS 功能:定义一个逻辑段。 说明:任何一个逻辑段都是从SEGMENT开始,以ENDS结束。 伪指令(指示性语句) 6、段定义伪指令 定位方式:说明该段的起始地址边界规则 PAGE——指定起始地址的低8位是0,称页边界 XXXX XXXX XXXX 0000 0000B PARA——指定起始地址的低4位是0,称段边界(缺省) XXXX XXXX XXXX XXXX 0000B WORD——指定起始地址的低2位是0,称字边界 XXXX XXXX XXXX XXXX XX00B BYTE——指定起始地址为任意值 XXXX XXXX XXXX XXXX XXXXB 伪指令(指示性语句) 6、段定义伪指令 组合方式:连接程序时设定本段与其它同名段的连接方式,适用于模块化程序设计。 PUBLIC——同名段依次连接起来,形成一个连续的段 COMMON——同名段共用同一起始地址,相互重叠段的长度,取最长段的长度 AT 表达式——定位在表达式所指定的段地址(代码段例外) 伪指令(指示性语句) 6、段定义伪指令 组合方式:连接程序时设定本段与其它同名段的连接方式,适用于模块化程序设计。 STACK——同名段构成一个连续的堆栈段,并自动初始化SP MEMORY——表示本段定位在所有段的地址之上,高地址处 无(NONE)——不与任何段相连,各段有独立段基址(缺省方式) 伪指令(指示性语句) 6、段定义伪指令 类别名:用单引号括起来的字符串 类别名不超过40个字符,用于控制段的存放次序。MASM将所有类别名相同的逻辑段按前述组合方式进行连接。 伪指令(指示性语句) 7、段分配伪指令 格式:ASSUME 段寄存器:段名,… … 功能:说明源程序中定义的逻辑段由哪个段寄存器去寻址。段寄存器可以是CS,SS,DS,ES 说明:1)ASSUME语句放在代码段内,作为代码段的第一条指令。2)ASSUME语句只是将逻辑段与段寄存器关联起来,并没有给段寄存器赋值。段寄存器的赋值应在程序中用指令显式指定。 伪指令(指示性语句) 7、段分配伪指令 段寄存器的装入: CS的装入: CS和IP用于指向程序中即将执行的指令地址,由汇编程序负责装入,但需要在编程时在代码段第一行加入一个标号,并在最后一行用END伪指令结束该标号。 CODE SEGMENT ASSUME CS:CODE,… … START:… … … … CODE ENDS END START 伪指令(指示性语句) 7、段分配伪指令 段寄存器的装入: DS、ES的装入:必须通过编程,直接将段基址通过通用寄存器装入段寄存器。 CODE SEGMENT ASSUME CS:CODE, DS:DATA1, ES:DATA2 START: MOV AX,DATA1 MOV DS,AX MOV AX,DATA2 MOV ES,AX … … CODE ENDS END START 伪指令(指示性语句) 7、段分配伪指令 段寄存器的装入: SS的装入: 方法二:用程序装入。 SACK SEGMENT DW 100 DUP (?) TOP LABLE WORD SACK ENDS CODE SEGMENT ASSUME CS:CODE,SS:SACK START:… … MOV AX,SACK MOV SS,AX MOV SP,OFFSET TOP … … 伪指令(指示性语句) 7、段分配伪指令 段寄存器的装入: SS的装入: 方法一:在段定义时将组合方式定义为STACK,并在ASSUME语句中,将堆栈段分配给段寄存器SS。汇编程序将该堆栈段的基址自动装入到SS段寄存器中。 SACK SEGMENT STACK DW 100 DUP (?) SACK ENDS CODE SEGMENT ASSUME CS:CODE,SS:SACK START:… … 伪指令(指
文档评论(0)