8088 汇编速查手册
───────────────────────────────────────
它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据.
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, (字节运算);
或 商回送ax,余数回送dx, (字运算).
aad 除法的ascii码调整.
cbw 字节转换为字. (把al中字节的符号扩展到ah中去)
cwd 字转换为双字. (把ax中的字的符号扩展到dx中去)
cwde 字转换为双字. (把ax中的字符号扩展到eax中去)
cdq 双字扩展. (把eax中的字的符号扩展到edx中去)
三、逻辑运算指令
───────────────────────────────────────
and 与运算.
or 或运算.
xor 异或运算.
not 取反.
test 测试.(两操作数作与运算,仅修改标志位,不回送结果).
shl 逻辑左移.
sal 算术左移.(=shl)
shr 逻辑右移.
sar 算术右移.(=shr)
rol 循环左移.
ror 循环右移.
rcl 通过进位的循环左移.
rcr 通过进位的循环右移.
以上八种移位指令,其移位次数可达255次.
移位一次时, 可直接用操作码. 如 shl ax,1.
移位>1次时, 则由寄存器cl给出移位次数.
如 mov cl,04
shl ax,cl
四、串指令
───────────────────────────────────────
ds:si 源串段寄存器 :源串变址.
es:di 目标串段寄存器:目标串变址.
cx 重复次数计数器.
al/ax 扫描值.
d标志 0表示重复操作中si和di应自动增量; 1表示应自动减量.
z标志 用来控制扫描或比较操作的结束.
movs 串传送.
( movsb 传送字符. movsw 传送字. movsd 传送双字. )
cmps 串比较.
( cmpsb 比较字符. cmpsw 比较字. )
scas 串扫描.
把al或ax的内容与目标串作比较,比较结果反映在标志位.
lods 装入串.
把源串中的元素(字或字节)逐一装入al或ax中.
( lodsb 传送字符. lodsw 传送字. lodsd 传送双字. )
stos 保存串.
是lods的逆过程.
rep 当cx/ecx<>0时重复.
repe/repz 当zf=1或比较结果相等,且cx/ecx<>0时重复.
repne/repnz 当zf=0或比较结果不相等,且cx/ecx<>0时重复.
repc 当cf=1且cx/ecx<>0时重复.
repnc 当cf=0且cx/ecx<>0时重复.
五、程序转移指令
───────────────────────────────────────
1>无条件转移指令 (长转移)
jmp 无条件转移指令
call 过程调用
ret/retf过程返回.
2>条件转移指令 (短转移,-128到+127的距离内)
( 当且仅当(sf xor of)=1时,op1 ja/jnbe 不小于或不等于时转移.
jae/jnb 大于或等于转移.
jb/jnae 小于转移.
jbe/jna 小于或等于转移.
以上四条,测试无符号整数运算的结果(标志c和z).
jg/jnle 大于转移.
jge/jnl 大于或等于转移.
jl/jnge 小于转移.
jle/jng 小于或等于转移.
以上四条,测试带符号整数运算的结果(标志s,o和z).
je/jz 等于转移.
jne/jnz 不等于时转移.
jc 有进位时转移.
jnc 无进位时转移.
jno 不溢出时转移.
jnp/jpo 奇偶性为奇数时转移.
jns 符号位为 "0" 时转移.
jo 溢出转移.
jp/jpe 奇偶性为偶数时转移.
js 符号位为 "1" 时转移.
3>循环控制指令(短转移)
loop cx不为零时循环.
loope/loopz cx不为零且标志z=1时循环.
loopne/loopnz cx不为零且标志z=0时循环.
jcxz cx为零时转移.
jecxz ecx为零时转移.
4>中断指令
int 中断指令
into 溢出中断
iret 中断返回
5>处理器控制指令
hlt 处理器暂停, 直到出现中断或复位信号才继续.
wait 当芯片引线test为高电平时使cpu进入等待状态.
esc 转换到外处理器.
lock 封锁总线.
nop 空操作.
stc 置进位标志位.
clc 清进位标志位.
cmc 进位标志取反.
std 置方向标志位.
cld 清方向标志位.
sti 置中断允许位.
cli 清中断允许位.
六、伪指令
───────────────────────────────────────
dw 定义字(2字节).
proc 定义过程.
endp 过程结束.
segment 定义段.
assume 建立段寄存器寻址.
ends 段结束.
end 程序结束.
()
下一篇:以Guest帐户身份创建一个管理员 >>
相关文章:
- · Linux中文件查找方法大全
- · 黑客俘获计算机的攻击方法和防御详解
- · 战胜垃圾邮件的七种武器 邮箱“减肥”良药
- · CVE—公共漏洞和暴露
- · 如何关闭常见木马和未授权控制软件
- · Linux环境下的高级隐藏技术
- · 安全问答:网络钓鱼是什么意思
- · Window 消息大全使用详解
- · 通信网络安全分层及关键技术解决
- · win2000进程一览
- · SMTP命令简介
- · 优秀网管心得三则
- · 防火墙进化进行时
- · 杀毒技巧系列:杀毒、防恶意代码、脚本病毒的不完全合集
- · N款教程,款款精品
- · windows XP 系统服务“关闭”详细列表,释放N多内存
- · Linux尝鲜[50M的Linux]
- · socket简易入门手册
- · Java学习从入门到精通
- · asp.dll解析成system提升权限
- · 企业无线局域网安全防护
- · IP地址与域名详解
- · Windows XP 的 TCP/IP 和 NBT 配置参数
- · 10招秘技快捷方式用得顶呱呱
- · 用户访问管理系统完备功能详解
- · SQL Server防范措施
- · 使用LINUX系统DDOS攻击WINDOWS服务器
- · 两妙招“强行”杀死病毒进程
- · 最大限度的避免垃圾邮件
- · 保护爱机 慎用六大软件伤硬盘
- · 病毒杀不死的原因分析和相应对策
- · cs的优化--网络端设置
- · 92个经典开源项目集锦(包括URL)
- · 开放源代码知识大全
- · 电脑降噪全攻略之光驱篇
- · 微软IE主内火狐主外 安全评测深度分析报告
- · 补丁刚打完Office再现高危漏洞
- · 初探FreeBSD与Linux的预处理机制
