微机原理与接口技术,mooc,老师:戴胜华 第四章(伪指令)

4.2.1

变量 三重属性:1.段属性(SEGMENT)  2.偏移地址属性(OFFSET)   3.类型属性(TYPE)

例:

DATA SEGMENT
    FIRST DB 5AH
    SECOND DW 1122H
DATA ENDS

对变量的操作:
LEA AX,FIRST
MOV AX,SECOND
MOV AX,FIRST[DI]

标号:给指令起的名字,例:循环loop,next

 

4.3.1

伪指令:

变量名:DB(字节)/DW(字)/DD(双字)/DF(长字)/DQ(四字)/DT(十字节)

为变量分配xx的储存单元,并赋值。

4.3.2

1.变量名类似指针指向内容的第一个储存单位,对于数组来说其之后的[1]就像偏移量。

微机原理与接口技术,mooc,老师:戴胜华 第四章(伪指令)_第1张图片

2.    FIRST DB ?   用来表示预留空间。

3.     A1 DB 00H 01H 02H 03H   表示数组

         MOV AL A1[0] ; (AL)=00H

4.     N  DUP(表达式)

TAB1 DB 10 DUP (0)   ;十个0,十个字节

TAB3 DW 4 DUP(1,5 DUP(0)) ;占用(5*1+4)*4*2=72个字节

4.3.3

1.等值语句  :符号  EQU  表达式

功能:将表达式赋值给符号,符号不能重复。对于=赋值语句可以重复。

2.段定义指令:SEGMENT / ENDS

  1. 代码段
  2. 数据段
  3. 堆栈段
  4. 附加段

段名  SEGMENT [定位类型],[组合类型],[字长选择],[类别]

         组合类型中的STACK 通常要写,不写也有别的办法三行代码

3.段分配语句:(ASSUME)

只起到分配作用,无装入作用(转到下一页)

       1.  DS,ES,FS,GS 的装入  MOV AX, DATA      MOV DS,AX   (段基址不能直接装入,需先送入通用寄存器,再传送给段寄存器)

       2.SS,SP 的装入:两种情况:1.写了STACK参数项且在ASSUME中分配给SS,则自动装入。

                                                      2.未使用:STACK  微机原理与接口技术,mooc,老师:戴胜华 第四章(伪指令)_第2张图片

4.3.4

全段指令:数据段和附加段的存放

             微机原理与接口技术,mooc,老师:戴胜华 第四章(伪指令)_第3张图片

段结束CODE ENDS,整体结束END START

 

4.3.5

1.LABEL 用于给以定义的变量起一个别名。

2. 定位伪指令:ORG 表达式(定义最一开始的偏移地址)AT 表达式(段地址)

用$表示当前偏移地址微机原理与接口技术,mooc,老师:戴胜华 第四章(伪指令)_第4张图片通常用$ - ST[0]表示里面多少个字节。

 

 

 

你可能感兴趣的:(微机原理与接口技术,mooc,老师:戴胜华 第四章(伪指令))