回 帖 发 新 帖 刷新版面

主题:80X86 汇编指令符号大全 (补充)

SP∶Stack Pointer,堆栈指针寄存器。可以与SS寄存器(决定堆栈的起始地址)联用。SP确定了栈顶的偏移量,始终指向最后推入堆栈的信息所在的单元。8086的堆栈是下推式的,随着推入堆栈的内容增加,SP的值减小,直至为0。在对SP设置初值(MOV SP,im)时,要考虑所用堆栈的大小。 

SS∶Stack Segment,堆栈段寄存器。 用来存放堆栈段的起始地址(高16位)。 

STACK∶ 伪指令——段定义(组合类型)。指定该段在运行时为堆栈段的一部分。被连接的程序中必须至少有一个STACK 段。初始化时,SS指向第一个遇到的STACK段。 

STC∶ 指令助记符——标志(进位)设置。设置CF=1。 

STD∶ 指令助记符——建立方向标志。使DF=1 。这样,当执行字节串操作指令时,地址自动减1 ;当执行字串操作指令时,地址自动减2 。 

STI∶ 指令助记符--中断允许标志设置。设置IF=1。 

STOS∶指令助记符——保存串。通常用STOSB或STODW。 

STOSB∶ 指令助记符——字节保存(往字节串中存数)。把AL寄存器的内容保存在由 DI 指定的附加段的存储单元中,并根据DF的值修改DI中的地址。即DF=0时 ,地址加1 ;DF=1 时,地址减1 。该指令带重复前缀可将一片连续的存储字节置相同的值。 

STOSW∶ 指令助记符——字保存(往字串中存数)。 把AX寄存器的内容保存在由 DI 指定的附加段的存储单元中,并根据DF的值修改DI中的地址。即DF=0时 ,地址加2 ;DF=1 时,地址减2 。 

STRUC∶ 伪指令——设计一个结构。
 例 定义名为S的结构如下 S STRUC
             FL1 DB 1,2
             FL2 DB 'DOBOSKY'
              S ENDS
  然后定义一个类型为 S的变量 DBAREA S < ,'ANY'>
  DBAREA就是一个类型为S 的结构变量,它包含二个字段,FL1 是二个字节,初值是1和2;FL2 是七个字节,初值是'ANY' 。 

SUB∶ 指令助记符——减法。 

SUBTTL∶伪指令。为程序指定一个小标题,并打印在每一页的标题之后。 

TEST∶指令助记符——测试。对二操作数进行“与”操作,根据结果设置状态标志位,但不改变原操作数。
  例如 TEST AL,01H(检查AL的第0位,是0则ZF=1; 是1则ZF=0。随后可用JNE、JZ 等指令转移到某一标号) 

TF∶Trap Flag, 陷阱(跟踪)标志,在标志寄存器的第8字节,用于单步方式操作,当TF位为1 时,每条指令执行后 CPU自动产生一个类型为1的中断,使程序单步执行,这就能跟踪一个程序具体的执行过程,检查每一步运行结果,确定出错的位置。如果TF=0,则CPU处于连续工作方式。 

THIS∶修改属性运算符。该运算符(借助于EQU) 可以指定一个操作数的段地址和偏移地址与下一个存储单元相同。
  例一 DA_BYTE EQU THIS BYTE
     DA_WORD DW 20H DUP(0)
  DA_BYTE(字节类型)的段地址和偏移地址与 DA_WORD(字类型)完全相同。可以用变量名DA_BYTE 以字节形式访问DA_WORD 数组元素某字单元。
  例二 JMP_FAR  EQU THIS FAR
     JMP_NEAR:MOV AL,30H
  当从段内某指令调用这个程序段时,可用标号JMP_NEAR,而从另一个代码段调用时,只要使用标号JMP_FAR即可。 

TITLE∶ 伪指令。在每一页上打印标题。 

TYPE∶数值返回运算符。其加在一个变量名前面,返回的数值是该变量的类型属性(1:BYTE—占一个字节;2:WORD—占两个字节;4:DWORD—占四个字节;8:QWORD —占八个字节;10:TWORD —占十个字节);若加于某标号之前时,返回的数值是这个标号的距离属性(-1:NEAR—标号作段内转移指令的目标地址;-2:FAR—标号作段间转移或调用指令的目标地址)。
  注:有的教材说近标号的类型值为0FFFFH,远标号的类型值为0FFFEH. 

WAIT∶指令助记符——等待。使处理机置于空闲状态,但它定期检查TEST信号,若TEST=0, 程序就从WAIT的下一条指令开始执行。在等待时,处理器也接受中断,不过从中断返回后,又进入等待状态。 

WIDTH∶ 运算符。用于返回记录或记录字段所占的位数。 

WORD∶伪指令——段定义(定位类型方式)。本段从一个偶字节开始,即段起始地址的最后一位二进制数一定是0 。这种定位方式适用于数据项类型是字的数据段。 

XCHG∶指令助记符——数据交换。操作数可以是寄存器或存储单元,但不能是段寄存器或立即数,也不能同时为两个存储器操作数。 

XLAT∶指令助记符——一个字节的查表转换。专门用于AL(其内容是字节表的下标)和字节表中某一存储单元之间执行数据转换。表的长度为256 字节,定义为: 表名 DB '字符串' 。表头地址先放在BX寄存器中(MOV BX,OFFSET 表名)。指令(XLAT)执行时,根据AL中预先设置的偏移地址,把需要查询的数据从字节表的某一存储单元传送到AL中(AL=[BX+AL])。该指令可以将一种代码转换成另一种代码。 

XOR∶ 逻辑运算符(在语句的操作数部分)或逻辑操作指令助记符(在语句的操作码部分)——按位异或(当对应位不同时结果为1)。当一个操作数自身作“异或”,结果为0 ,且使CF为0 。这是使操作数置0 的常用的有效方法。例:XOR AX,AX 可使AX清0 。 

ZF∶Zero Flag,零标志,在标志寄存器的第6字节.运算结果为0时置1。

回复列表 (共1个回复)

沙发


好!!!
辛苦楼主了

我来回复

您尚未登录,请登录后再回复。点此登录或注册