汇编:ret以及retf指令

执行ret指令,相当于执行pop ip

执行retf指令,相当于执行pop ip,pop cs

assume cs:code, ds:data, ss:stack
 
; 设置数据段
data segment
	db 128 dup (0)
data ends
 
; 设置栈段
stack segment stack
	db 128 dup (0)
stack ends
 
; 设置代码段
code segment
	start:	mov ax, stack
		mov ss, ax
		mov sp, 128
 
		mov ax, data
		mov ds, ax
 
		mov ax,666H
		push ax

		mov ax, 888H
		push ax 
 
 		retf  ; pop ip,  pop cs
 
		mov ax, 4C00H
		int 21H
		
		
code ends
end start

assume cs:code, ds:data, ss:stack
 
; 设置数据段
data segment
	db 128 dup (0)
data ends
 
; 设置栈段
stack segment stack
	db 128 dup (0)
stack ends
 
; 设置代码段
code segment
	start:	mov ax, stack
		mov ss, ax
		mov sp, 128
 
		mov ax, data
		mov ds, ax
 
		mov ax,666H
		push ax
 
 		ret  ; pop ip
 
		mov ax, 4C00H
		int 21H
		
		
code ends
end start


猜你喜欢

转载自blog.csdn.net/m0_37564426/article/details/85316126