0%

1、处理机命令

clc: 使CF=0

stc:使CF=1

cmc:CF取反

cld:使DF=0

std:使DF=1

cli:使IF=0

sti:使IF=1

寄存器共分为14个16位的寄存器。

1、8个通用寄存器

1.1、4个数据寄存器

AX:累加器

BX:基址寄存器

CX:计数器

DX:数据寄存器

1.2、2个变址寄存器

SI:源变址寄存器

DI:目标变址寄存器

1.3、2个指针寄存器

BP:基址指针寄存器

SP:堆栈栈顶寄存器

2、4个段寄存器

阅读全文 »

数据传送类指令

作用:把数据、地址或立即数传送到寄存器或存储单元中

通用传送指令

传送指令MOV
  • 格式:MOV 目的操作数,源操作数
    功能:将源操作数的内容传送给目的操作数,源操作数不变

在这里插入图片描述

  • 注:MOV指令不改变标志位。
    操作数的位数需要匹配。即8位配8位,16位配16位
    两个操作数不能同时为段寄存器,也不能为存储器
    CS不能作为目的操作数
    IP不能做目的操作数和源操作数
    立即数不能直接传送给段寄存器
    对于存储器单元与立即数同时作为操作数的情况,必须显式指明;byte ptr指示字节类型,word ptr指示字类型、
阅读全文 »

通用寄存器及使用

IA-32系列有8个32位通用寄存器,名称分别为:EAX,EBX,ECX,EDX,ESP,EBP,ESI,EDI,如图:

image-20181005131233985

简单传送指令

指令 中文名 格式 解释 备注
MOV 传送指令 MOV DEST,SRC DEST<=SRC
XCHG 交换指令 XCHG OPER1,OPER2 把操作数oper1的内容与操作数oper2的内容交换 oper1和oper2可以是通用寄存器或存储单元,但不能同时是操作单元,也不能是立即数。

简单加减指令

指令 中文名 格式 解释 备注
ADD 加法指令 ADD DEST,SRC DEST<=DEST SRC 两数相加
SUB 减法指令 SUB DEST,SRC DEST<=DEST-SRC 两数相减
INC 加1指令 INC DEST DEST<=DEST 1
DEC 减1指令 DEC DEST DEST<=DEST-1
NEG 取补指令 NEG OPRD OPRD=0-OPRD 对操作数取补(相反数)

标志寄存器及其使用

状态标志

阅读全文 »

1、数据传送指令集

MOV

功能: 把源操作数送给目的操作数
语法: MOV 目的操作数,源操作数
格式: MOV r1,r2
MOV r,m
MOV m,r
MOV r,data

XCHG

功能: 交换两个操作数的数据
语法: XCHG
格式: XCHG r1,r2 XCHG m,r XCHG r,m

PUSH,POP

功能: 把操作数压入或取出堆栈
语法: PUSH 操作数 POP 操作数
格式: PUSH r PUSH M PUSH data POP r POP m

PUSHF,POPF,PUSHA,POPA

阅读全文 »