资源描述
(完整word)微机原理指令详解
微机原理与接口技术指令详解
XCHG O1,O2 : Exchange 交换指令,操作数不能为段寄存器、IP和立即数
XLAT 转换表名称(表的首地址) AL=*[DS×16 + BX(表首地址)+AL(距表首地址位移量)]
LEA O1, O2 : load efficient address to register
LDS load memory to register and DS
LES load memory to register and ES
LAHF ( load AH with flag ) 用FR的低八位装载AH (存储AH)
SAHF ( store AH to flag ) 卸载AH 到FR的低八位 (取AH)
PUSHF (PUSH Flag) 将标志寄存器FR压入堆栈
POPF (Pop Flag) 将栈顶部的一个字传送到FR
ADC add with carry 带进位(+CF)加法
INC increment 自增1
SUB subtract 不带借位减法
SBB subtract with borrow(借) 带借位(—CF)减法
DEC decrement 自减1
NEG negative 求补指令 (0—操作数)取反后+1在变符号位
CMP compare 比较指令
MUL multiply 无SF相乘
IMUL signed integer multiply 带SF相乘
DIV divide 无SF相除
IDIV signed integer divide 带SF相除
DAA decimal adjust after add 组合BCD码加法调整
DAS decimal adjust after subtract 组合BCD码减法调整
AAA ASCII adjust after add 非组合BCD码加法调整
AAS ASCII adjust after subtract 非组合BCD码减法调整
AAM ASCII adjust after multiply 乘法后的BCD码调整
AAD ASCII adjust before divide 除法前的BCD码调整
NOT 非/ 求反指令(对于二进制位取反)
AND 与运算 全1为1
OR 或运算 有1为1
XOR 异或运算 不同为1
MOD 取余运算
TEXT 测试指令 与运算,只影响FR,不送回
SHL shift left 逻辑左移
SAL shift arithmetic left 算术左移
SHR shift right 逻辑右移
SAR shift arithmetic right 算术右移
ROL rotate left 循环左移
ROR rotate right 循环右移
RCL rotate carry left 带进位左移(CF在循环内)
RCR rotate carry right 带进位右移
MOVS move string 串传送
STOS store string 串存储(装)
LODS load string 串卸载(取)
CMPS compare string 串比较
SCAS scan string 串搜索
REP repeat CX〉0,重复 用于字符传送
REPZ/REPE repeat while zero/equal CX〉O且ZF!= 0 计数大于0, 两位不相匹配,重复到不相同位,串比较
REPNZ/REPNE repeat while not zero/not equal 用于串搜索, 一直搜索到两相同的位(ZF=0)
JMP jump 跳转到下条指令地址(CS,IP/IP改变)、
CALL NEAR OPRD 段内调用 CS不变,IP变 PUSH IP
CALL FAR OPRD 段间调用 CS、IP都变 先PUSH CS
再PUSH IP
RET 返回断点地址 原压入堆栈的IP 、CS
CS×16+IP
RET n 返回 CS*16+IP+n
Jxx jump while xx condition 带条件 跳转
JZ jump if ZF=1 结果为0 跳转
JNZ JUMP if ZF=0 结果不为0 跳转
JS JUMP if SF=1 负数 跳转
JNS JUMP if SF=O 正数 跳转
JP JUMP if PF=1
JNP JUMP if PF=0
JO OF=1
JNO OF=0
JC CF=1
JNC CF=0
JA / JNBE above(高于) Not below and equal
JAE/JNB 高于等于
JB/JNAE 低于
JBE/JNA 低于等于
JG/JNLE >
JGE/JNL >=
JL/JNGE 〈
JLE/JNG 〈=
JCXZ jump when CX=0
LOOPZ/LOOPE loop while ZF=1 /equal
LOOPNZ/LOOPNE loop while ZF=0/not equal
RET return
INT interrupt
IRET interrupt return
INTO interrupt on overflow
CBW convert byte to word
CWD convert word to double word
CLC clear carry Flag CF=0
STC set carry Flag CF=1
CMC complement carry Flag CF取反
CLD clear direction Flag DF=0
STD set direction Flag DF=1
CLI clear interrupt Flag IF=0
STI set interrupt Flag IF=1
NOP no operation 设置断点
HLT halt
ESC escape to external device[/color][/quote]
EQU equal COUNTER EQU CX 等值赋值伪指令
ORG 2000H 代码或数据存放的首地址
关系运算符
EQ equal 等于
NE not equal 不等于
LT low to 小于
LE low equal 小于等于
GT great than 大于
GE great equal 大于等于
当逻辑判断为真时,返回全1(0FFFFH),当逻辑判断为0时,返回0
当PH = 20, 则20 EQ PH 返回 0FFFFH ,20 LE PH 结果也为0FFFFH
取值运算符
SEG 取段地址
OFFSET 取偏移地址‘
展开阅读全文