汇编语言及汇编程序设计.PPT.pptVIP

  • 3
  • 0
  • 约8.98千字
  • 约 54页
  • 2018-12-09 发布于河南
  • 举报
汇编语言及汇编程序设计.PPT

操作数 ? 是一个特别数据 用来保留存储空间,但不存入数据 例: ABC DB 0,1,?,?,? LPI DW ?,54,? ABC LPI 00H 01H ╳ ╳ ╳ ╳ ╳ 36H 00H ╳ ╳ 数据定义例:(内存分配) 例: ABC DB 0, 1, 3 DUP (?) 等价于 ABC DB 0,1,?,?,? DO DB 2 DUP (0,1,2,?) 等价于 DO DB 0,1,2,?,0,1,2,? 数据定义例:DUP ‘$’操作符(P94) 功能:返回地址计数器的当前值。 说明: 存在一个地址偏移指针,总指向最后数据单元的下一个单元。 每存储一个字节数据,指针自动下移,同时地址计数器自动加1 例:X DW 1,2,$+4, 3,4, $+4 LENTH DB $-X 如果在汇编时为X分配的偏 移地址是0,则数据存储见图 格式:名称 LABEL 类型 功能:通常,为LABEL语句下一行语句所使用的变量或标 号取一别名并赋给新的类型。 说明: 1. 其中变量的类型为BYTE、WORD、DWORD等, 标号的类型为NEAR、FAR。 2. 别名与原变量或标号具有相同的段基址及偏移地址。 例:X LABEL WORD M DB 12H,34H MOV AL,M ;AL=12H MOV BX,X ;BX=3412H LABEL(P94) LABEL相当于EQU THIS。(P98 例3-74) 格式: ORG 数值表达式 功能:规定了段内程序或数据从表达式 指定的偏移地址开始存储。 说明:表达式的值为段内的一个偏移地址, 此后,从此地址起连续存放程序或数据。 定位伪指令ORG (P94) ORG例: DATA SEGMENT X DB 10H EVEN Y DW 0200H ORG 1006H Z DB ‘A’ DATA ENDS 1000H 1001H 1002H 1003H 1004H 1005H 1006H 偏移地址 内容 X Y Z 10H … 00H 02H … … 41H 段定义伪指令:(P86) 格式: 段名 SEGMENT … … … 段名 ENDS 说明:(P86) 1. 段名总是成对出现; 2. 数据段、附加段及堆栈段的定义,内容一般是符号、 变量定义等伪指令。代码段则是指令及其他的伪指令。 DATA SEGMENT MES DB ‘Good Morning!’ DB 0DH,0AH,’$’ DATA ENDS STACK SEGMENT ST1 DB 200 DUP(?) STACK ENDS 例如: 格式:ASSUME CS:段名,DS:段名,ES:段名,SS:段名 功能:放在可执行程序开始位置的前面,指明段寄存器与段 名之间的关系。 说明: 1. 该指令只是指明段寄存器与段的关系,并没有给段寄存 器赋实际的初值; 2. 段寄存器初始化:需要用实际的段基地址为各段寄存器 赋初值,其中:CS的初始化由系统完成;SS的初始化可 由系统完成;也可以由程序员设置;用户必须用传送指 令,对DS、ES进行初始化操作。 ASSUME: (P86) 例如: ASSUME CS:CODE,DS:DATA,SS:STACK MOV AX, DATA  ;DATA段值送AX MOV DS, AX

文档评论(0)

1亿VIP精品文档

相关文档