我有以下工作NASM代码:
global _start
section .text
_start:
    mov eax, 0x4
    mov ebx, 0x1
    mov ecx, message
    mov edx, 0xF
    int 0x80
    mov eax, 0x1
    mov ebx, 0x0
    int 0x80
section .data
    message: db "Hello, World!", 0dh, 0ah
在屏幕上打印"Hello,World!\n".我还有以下C包装器,其中包含以前的NASM对象代码:
char code[] =
"\xb8\x04\x00\x00\x00"
"\xbb\x01\x00\x00\x00"
"\xb9\x00\x00\x00\x00"
"\xba\x0f\x00\x00\x00"
"\xcd\x80\xb8\x01\x00"
"\x00\x00\xbb\x00\x00"
"\x00\x00\xcd\x80";
int main(void)
{
    (*(void(*)())code)();
}
但是,当我运行代码时,似乎没有执行汇编程序代码,但程序退出正常.有任何想法吗?
谢谢