VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > 汇编语言 >
  • 几个汇编指令iret,ret,int

ret指令,(摘自百度百科)

执行过程

ret指令用栈中的数据,修改IP的值,从而实现近转移。
CPU执行ret指令时,进行下面两步操作:
(IP)=((SS)*16+(SP))
(SP)=(SP)+2;
另一种用法 ret n (n为整数)
等效于
(IP)=((SS)*16+(SP))
(SP)=(SP)+2;
(SP)=(SP)+n;
例如ret 4
pop ip
add sp,4

返回调用处

例:
push eax
call @msg ;call标号是把eip压入堆栈,然后再跳到标号@msg处
;[标记1]
;继续代码....
@msg:
push 0
push 0
push eax
push 0
call dword ptr [MessageBoxA]
ret ;这是取出EIP,返回到调用处,继续执行[标记1]
 
 
iret  interrupt return   中断返回指令 (也是百度百科)
 
1.恢复IP(instruction pointer):(IP)←((SP)+1:(SP)),(SP)←(SP)+2
2.恢复CS(code segment):(CS)←((SP)+1:(SP)),(SP)←(SP)+2
3.恢复中断前的PSW(program status word),即恢复中断前的标志寄存器的状态。
(FR)←((SP)+1:(SP)),(SP)←(SP)+2
4.恢复ESP(返回权限发生变化)
5.恢复SS(返回权限发生变化)
 
 
 
int 指令
1) 中断类型号
2) 标志寄存器入栈,IF=0.TF=1 
3) Cs ,ip入栈
4) IP=(n*4),CS=(n*4+2)
 
 
 
 
 

awatch

指定一个变量,如果这个变量被读或者被写,则暂停程序运行,在调试器中显示信息,并等待下一个调试命令。参考rwatchwatch命令。

backtrace

显示函数调用得所有栈框架(stack frames)的 踪迹和当前函数的参数的值,bt是这个命令的简写。

break

设置一个断点,这个命令需要指定代码行或者函数名作为参数

clear

删除一个断点,这个命令需要制定代码行或者函数名作为参数

continue

调试器停止的地方继续执行

Ctrl-C

在当前位置停止执行正在执行的程序,断点在当前行

disable

禁止断点功能,这个命令需要禁止的断点在断点列表索引值作为参数

display

在断点的停止的地方,显示指定的表达式的值。(显示变量)

enable

允许断点功能,这个命令需要允许的断点在断点列表索引值作为参数

finish

继续执行,知道当前函数返回

ignore

忽略某个断点制定的次数。例:ignore 4 23忽略断点423次运行,在第24次的时候中断

info breakpoints

查看断点信息

info display

查看设置的需要显示的表达式的信息

kill

终止当前debug的进程

list

显示10行代码。如果没有提供参数给这个命令,则从当前行开始显示10行代码。如果提供了函数名作为参数,则从函数开头显示。如果提供代码行的编号作为参数,这一行作为开头显示。

load

动态载入一个可执行文件到调试器。

next

执行下一行的源代码的所有指令。如果是函数调用,则也当作一行源代码,执行到此函数返回

nexti

执行下一行的源代码中的一条汇编指令

print

显示变量的值

ptype

显示变量的类型

return

强制从当前函数返回

run

从程序开始的地方执行

rwatch

指定一个变量,如果这个变量被读,则暂停程序运行,在调试器中显示信息,并等待下一个调试命令。参考rwatchwatch命令。

set

设置变量的值。例如:set nval=54将把54保存到nval变量中

step

继续执行程序下一行源代码的所有指令。如果是调用函数,这个命令将进入函数的内部,单步执行函数中代码。

stepi

继续执行程序下一行源代码中的汇编指令。如果是函数调用,这个命令将进入函数的内部,单步执行函数中的汇编代码。

txbreak

在当前函数的退出的点上设置一个临时的断点(只可使用一次)。

undisplay

删除一个display设置的变量显示。这个命令需要将display list中的索引做参数。

watch

指定一个变量,如果这个变量被写,则暂停程序运行,在调试器中显示信息,并等待下一个调试命令。参考rwatchwatch命令。

whatis

显示变量的值和类型。

xbreak

在当前函数的退出的点上设置一个断点。


出处:https://www.cnblogs.com/gaocan/p/5330116.html
 


相关教程