Skip to content

CE 汇编笔记

向内存地址写入双字节

asm
mov dword ptr [rsp+10], 0x42B40000

向寄存器写入某地址的值

asm
mov rax,#10
mov dword ptr [rsi+18], 0x42D70000
movss xmm0,[rsp+10]

加法

asm
add rax,#1
addss xmm0, xmm0

减法

asm
sub rax,1

跳转

asm
jmp return

申请内存

asm
alloc(newmem,$1000)
label(myVar)
label(myFloatVar)
label(return)

newmem:
myVar:
    dd 0  // 定义一个双字变量,初始值为 0
myFloatVar:
    dd (float)0.0  // 定义一个浮点数变量,初始值为 0.0    

// 使用变量
// 将 myVar 的值加载到 eax 寄存器
mov eax, [myVar]

// 将 10 存储到 myVar
mov [myVar], 10

// 将 myFloatVar 的值加载到 xmm0 寄存器
movss xmm0, [myFloatVar]

// 将 1.5 存储到 myFloatVar
movss dword ptr [myFloatVar], (float)1.5

jmp return

最后编辑时间:

Version 4.3