組合語言 基本結構框架

2021-04-21 10:11:56 字數 514 閱讀 2176

data     segment

buff1    dw     0h

buff2    dw     0h

s1       db    12h

data     ends

stack    segment  para stack

db     100 dup(?)

stack    ends

code     segment

assume  cs:code,ds:data,es:data,ss:stack

sub1     proc far

start:   push ds

mov  ax,0

push ax

mov  ax,data

mov  ds,ax

mov  es,ax

retsub1     endp        

code     ends

end      start

組合語言基本指令

常用命令 執行操作 cmp a,b 比較a與b mov a,b 把b的值送給a ret返回主程式 nop無作用 call 呼叫子程式 je 或jz 若相等則跳 機器碼74 或0f84 jne或jnz 若不相等則跳 機器碼75或0f85 jmp無條件跳 機器碼eb jb若小於則跳 ja若大於則跳 jg...

組合語言之堆疊框架

堆疊框架 stack frame 也稱活動框架 activation record 他是為傳遞的引數 子例程的返回位址 區域性變數和儲存的暫存器保留的堆疊空間。堆疊框架的建立步驟 1 如果有傳遞的引數,則壓入堆疊 2 子例程被呼叫,子例程的返回位址壓入堆疊 3 子例程開始執行時,ebp被壓入堆疊 4...

組合語言 AT T組合語言

這兩天的pwn題環境都是在linux中,採用的組合語言是 at t 格式。之前學習的是intel格式的8086彙編,今天學習了下at t組合語言。基於x86 架構的處理器所使用的彙編指令一般有兩種格式 操作intel格式at t格式 暫存器命名 push eax pushl eax 常數 立即運算元...