微机接口指令
微机接口指令
通用寄存器:AX、BX、CX、DX、SP、BP、DI、SI
段寄存器:CS、DS、SS、ES
状态标志:CF、AF、PF、ZF、SF、OF Parity奇偶
控制标志:TF、IF、DF DF=1,减小
-
寄存器间接/相对寻址:
a. EA只能存放于BX、BP、SI、DI
b. BX、SI、DI → DS
c. BP → SS
-
基址变址寻址:
a. BX\BP + SI\DI +位移量
指令
- MOV DST,SRC DST不能是CS、立即数
- PUSH SRC POP DST 以字为单位、DST不能是CS
- XCHG OPR1,OPR2 禁止存储器之间交换,禁止段寄存器之间交换
- XLAT ;AL←DS:[BX+AL]
- LEA AX,[SI+2728H] AX←SI+2728H
- LDS DI, [SI+2728H] 低二字节内容给DI,高二字节内容给DS
- LES DI, [SI+2728H] DI、ES
- ADD DST,SRC ;DST←DST+SRC
- ADC DST,SRC ;DST←DST+SRC+CF
- INC OPR ;OPR←OPR+1 不影响CF
- SUB DST,SRC ;DST←DST-SRC
- SBB DST,SRC ;DST←DST-SRC-CF
- DEC OPR ;OPR←OPR-1 不影响CF
- NEG OPR ;OPR←0-OPR
- CMP OPR1,OPR2 ;OPR1-OPR2 差值不回送,影响状态标志
- MUL SRC AX←AL * SRC | | DX,AX ← AX *SRC
- IMUL SRC 带符号数 ↑SRC不能为立即数
- DIV SRC 商:AL←AX/SRC 余数AH←AX/SRC
- 商:AX←DX,AX/SRC 余数DX←DX,AX/SRC
- IDIV SRC 除数字长为被除数一半,SRC非立即数,条件标志 无意
- CBW AL→AX AL最高有效位1,AH=FF
- CWD AX→DX,AX AX最高有效位1,DX=FFFF
- DAA ;AL 加指令后使用 影响状态标志位 16进制加法变10进制
- DAS ;AL 减指令后使用
- NOT OPR OPR←OPR取反 不影响标志位
- AND DST,SRC DST←DST&SRC
- OR DST,SRC DST←DST|SRC
- XOR DST,SRC DST←DST∀SRC 相同为0
- TEST OPR1,OPR2 OPR1&OPR2 不进行运算
- AND OR XOR TEST CF、OF置0 改变SF、ZF、PF
- ROL OPR,CNT ROR OPR,CNT Recurrent 不影响标志位
- RCL OPR,CNT RCR OPR,CNT Carry 都影响CF
- SHL OPR,CNT SHR OPR,CNT 补0 OF**、SF、ZF、PF**
- SAL OPR,CNT SAR OPR,CNT 根据符号位填充 标志位↑
- REP REPE/REPZ REPNZ/PRENZ 前缀
- MOVSB/MOVSW 串长度CX SI←DI SI±1/2 DI±1/2 DF=减小 不影响标志位 CLD→DF=0 STD→DF=1
- STOSB/STOSW [DI]←AL,DI←D1±1 [DI+1]、[DI]←AX,DI←DI±2
- LODSB/LODSW AL←[SI],SI←SI±1
- CMPSB/CMPSW 根据[SI]-[DI]来设置ZF SI、DI±1、2
- SCASB/SCASW AL-[DI],DI←DI±1 AX-[DI],[DI+1],DI←DI±2
- JB(JNAE,JC)、JNB(JAE,JNC)、JBE(JNA)、JNBA(JA) Below\Advance\Cf
- JL(JNGE) JNL(JGE) JNG(JLE) JG(JNLE) Greater\Less Symb
- JCXZ CX=0
- LOOP LOOPZ\LOOPE LOOPNZ/LOOPNE 8位位移量(-128~127)
- CALL DST
- RET
- INT n / IRET n(0~255)终端类型号,INT执行完IF、TF置0
- CLC、CMC、STC、CLD、STD、CLI、STI
- NOP HLT
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 喵喵虎冲呀!
评论