预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共54页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

微机原理及应用CODE_SEG SEGMENT ;定义作为代码段的逻辑段 ASSUMECS: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,OFFSETTOP 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.数值表达式 这种形式定义的变量具有表达式给定的数值初值。 例如: BETADW4*10H;BETA为字类型,初值为64,0040H2.ASCII字符串 字符串必须用单引号括起来。DB伪指令为串中每一 个字符分配一个字节单元,且自左至右按地址递增的顺 序依次存放,字符个数不得超过255个。例如 MSG1DB‘ABcdef' 对于DW伪指令,可以给两个字符组成的字符串分配 两个字节存储单元,而且这两个字符的存储顺序是前一 个字符在高字节,后一个字符在低字节,每一个数据项 不能多于两个字符。例如: MSG2DW'AB','cd','ef'3.地址表达式 地址表达式的运算结果是一个地址,因此只能用DW或DD来定义。如果用DW定义,则将原变量或标号的偏移地址定义为新变量;如果用DD来定义,则将原变量或标号的偏移地址和段地址分别置入新变量的低位和高位字中。例如: PBETAD1DDBETA1;变量的初值为BETA的段地址和偏移地址 PBETAD2DWBETA2;变量的初值为BETA的偏移地址5.<n>DUP<表达式> 这种情况用于定义重复变量,DUP(Duplication)是 重复数据操作符,n表示重复次数,圆括号内的表达式表 示要重复的内容。例如: TABDB100DUP(0);TAB有100个初值为零的字节元素 BUFFERDW64HDUP(?);BUFFER长度为100个字 DUP操作符可以嵌套使用,即圆括号中的表达式又是一个带DUP的表达式。例如: TABDW2DUP(2DUP(4),7) 表示变量TAB有重复两次的内容(4,4,7),这6个元素的初值构成的数据序列为: 4,4,7,4,4,7 共占12个字节单元。5.1.3程序分段定义伪指令 1.SEGMENT和ENDS伪指令 语句格式 利用SEGMENT和ENDS可把源程序模块划分成若干个源程序段,它的格式为: 〈段名〉SEGMENT[定位方式][组合方式][分类名] ………… ;段内所有语句 〈段名〉ENDS 其中,段名是为该段起的名字;定位方式、组合方式和分类名是可选的,选两个以上时,书写顺序必须与格式中的顺序一致。这三个可选操作数都是通过汇编给链接程序提供控制信息的。链接时,先处理组合方式,再处理定位方式,最后处理分类名。 1)定位方式 定位方式通过汇编告知LINK程序如何将经组合后的新