iOS 安全攻防

汇编-----代码分段

2018-05-03  本文已影响0人  那时J花开

8086 伪指令

assume cs : code
code segment
db 1,2,3,4,5,6,7,8,9  ; 这里创建的字节就存放在code段中, 类似于高级语言中的全局变量, 在整个代码段中都可以拿到
dw 'hello'
dw "word" ; 在汇编中 ''与""含义相同

; 退出程序
mov ah, 4cH
int 21H
code ends
end

assume cs : code
code segment
db 1,2  ; 这里创建的字节就存放在code段中, 类似于高级语言中的全局变量, 在整个代码段中都可以拿到
dw 'hello'
dw "word" ; 在汇编中 ''与""含义相同
db 20 dup(0) ; 定义20个字节的内存空间, 里面全部存放0
start:
mov al, cs:[0]
mov ah, 0

; 退出程序
mov ah, 4cH
int 21H
code ends
end  start ; start 告诉编译器, 真正的代码段从start开始执行, 也就是ip为000bH
assume cs:code, ds:data, ss:stack
stack segment
        db 20 dup(1) ; 定义20个字节作为栈段
stack ends

data segment
        db 20 dup(2)
        age dw 20H ; 定义两个字节 存放0020H age为标号 标号中存放着地址
data ends
code segment
start:
      mov ax, 1122H
      mov age, ax ; 将ax放入age标号所记录的地址中 相当于mov [20], ax
code end
end start
上一篇 下一篇

猜你喜欢

热点阅读