8080汇编手册数据传输指令笔记
──────────────────────────────
它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据。
1。 通用数据传送指令。
MOV 传送字或字节。
MOVSX 先符号扩展,再传送。
MOVZX 先零扩展,再传送。
PUSH 把字压入堆栈。
POP 把字弹出堆栈。
PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈。
POPA 把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈。
PUSHAD 把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次压入堆栈。
POPAD 把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次弹出堆栈。
BSWAP 交换32位寄存器里字节的顺序
XCHG 交换字或字节。( 至少有一个操作数为寄存器,段寄存器不可作为操作数)
CMPXCHG 比较并交换操作数。( 第二个操作数必须为累加器AL/AX/EAX )
XADD 先交换再累加。( 结果在第一个操作数里 )
XLAT 字节查表转换。
── BX 指向一张 256 字节的表的起点, AL 为表的索引值 (0-255,即
0-FFH); 返回 AL 为查表结果。 ( [BX+AL]->AL )
2。 输入输出端口传送指令。
IN I/O端口输入。 ( 语法: IN 累加器, {端口号│DX} )
OUT I/O端口输出。 ( 语法: OUT {端口号│DX},累加器 )
输入输出端口由立即方式指定时, 其范围是 0-255; 由寄存器 DX 指定时,
其范围是 0-65535。
3。 目的地址传送指令。
LEA 装入有效地址。
例: LEA DX,string ;把偏移地址存到DX。
LDS 传送目标指针,把指针内容装入DS。
例: LDS SI,string ;把段地址:偏移地址存到DS:SI。
LES 传送目标指针,把指针内容装入ES。
例: LES DI,string ;把段地址:偏移地址存到ES:DI。
LFS 传送目标指针,把指针内容装入FS。
例: LFS DI,string ;把段地址:偏移地址存到FS:DI。
LGS 传送目标指针,把指针内容装入GS。
例: LGS DI,string ;把段地址:偏移地址存到GS:DI。
LSS 传送目标指针,把指针内容装入SS。
例: LSS DI,string ;把段地址:偏移地址存到SS:DI。
4。 标志传送指令。
LAHF 标志寄存器传送,把标志装入AH。
SAHF 标志寄存器传送,把AH内容装入标志寄存器。
PUSHF 标志入栈。
POPF 标志出栈。
PUSHD 32位标志入栈。
POPD 32位标志出栈。
二、算术运算指令
──────────────────────────────
ADD 加法。
ADC 带进位加法。
INC 加 1。
AAA 加法的ASCII码调整。
DAA 加法的十进制调整。
SUB 减法。
SBB 带借位减法。
DEC 减 1。
NEC 求反(以 0 减之)。
CMP 比较。(两操作数作减法,仅修改标志位,不回送结果)。
AAS 减法的ASCII码调整。
DAS 减法的十进制调整。
MUL 无符号乘法。
IMUL 整数乘法。
以上两条,结果回送AH和AL(字节运算),或DX和AX(字运算),
AAM 乘法的ASCII码调整。
DIV 无符号除法。
IDIV 整数除法。
以上两条,结果回送:
商回送AL,余数回送AH, (字节运算);
或
8080汇编手册数据传输指令笔记
最新推荐文章于 2024-11-15 18:38:47 发布
本文详细介绍了8080汇编语言中关于数据传输、输入输出、地址传送、标志操作以及算术运算的相关指令,包括MOV、PUSH、POP、IN、OUT、LEA等,还涵盖了加法、减法、乘法、除法等算术运算指令,并提供了修改程序的方法。
摘要由CSDN通过智能技术生成