📄 func.s
字号:
[segment .text][BITS 32]%imacro EXPORT 1 GLOBAL %1 align 4 %1:%endmacro; unsigned char get_byte(unsigned short sel, unsigned long addr)EXPORT get_byte mov ax, [esp+4] mov gs, ax mov edx, [esp+8] xor eax, eax mov al, byte [gs:edx] ret; unsigned short get_word(unsigned short sel, unsigned long addr)EXPORT get_word mov ax, [esp+4] mov gs, ax mov edx, [esp+8] xor eax, eax mov ax, word [gs:edx] ret; unsigned long get_long(unsigned short sel, unsigned long addr)EXPORT get_long mov ax, [esp+4] mov gs, ax mov edx, [esp+8] mov eax, dword [gs:edx] ret; void put_byte(unsigned short sel, unsigned long addr, unsigned char val)EXPORT put_byte mov ax, [esp+4] mov gs, ax mov edx, [esp+8] mov al, byte [esp+12] mov [gs:edx], al ret; void put_word(unsigned short sel, unsigned long addr, unsigned short val)EXPORT put_word mov ax, [esp+4] mov gs, ax mov edx, [esp+8] mov ax, word [esp+12] mov [gs:edx], ax ret; void put_long(unsigned short sel, unsigned long addr, unsigned long val)EXPORT put_long mov ax, [esp+4] mov gs, ax mov edx, [esp+8] mov eax, [esp+12] mov [gs:edx], eax ret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -