汇编语言 Ret和retf指令

您所在的位置:网站首页 汇编指令ret和call 汇编语言 Ret和retf指令

汇编语言 Ret和retf指令

2024-05-27 00:48| 来源: 网络整理| 查看: 265

Ret和retf指令 Ret 用栈中的数据修改IP(近转移) Retf 用栈中数据修改cs:ip(远转移) Ret 执行过程 1(ip)=((ss)*16+(sp)) 2(sp)=(sp)+2

Retf 执行过程 1(ip)=((ss)*16+(sp)) 2(sp)=(sp)+2 3(cs)=((ss)*16+(sp)) 4(sp)=(sp)+2 CALL指令 (不能实现短转移)

Call执行过程 1将当前ip或cs和ip压入栈中 2转移 Call 标号(将当前ip压栈后,转到标号处运行) 执行过程 1 (sp)=(sp)-2 ((ss)*16+(sp))=(ip) 2(ip)=(ip)+16位位移

Call far prt 标号(段间转移) 执行过程 1 (sp)=(sp)-2 ((ss)*16+(sp))=(cs) (sp)=(sp)-2 ((ss)*16+(sp))=(ip) 2(cs)=标号所在段的段地址 (ip)=标号在段中的偏移地址 Call 16位reg 1(sp)=(sp)-2 ((ss)*16+(sp))=(ip) (ip)=16位reg Call word ptr 内存单元地址 /push ip jmp word ptr 内存单元地址 Call dword ptr 内存单元地址 /push cs push ip jmp dword ptr 内存单元地址

Mul指令(乘法计算) Mul reg Mul 内存单元 两个相乘数 要么都是8位,要么都是16位 8位其中一个默认放在al当中,另一个放在8位reg或者内存单元中 16位 默认存放在AX当中,另一个放在16位reg或者内存单元中 结果 8位乘法,结果默认保存在AX当中 16位乘法,结果高位默认在dx中存放,低位在ax中存放



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3