-1
我試圖跑在我的64位幾ASM行(Ubuntu的12.04) 只是爲了執行系統調用重啓。 我可以編譯它,但是當運行什麼都不會發生。運行i_386 ASM:重啓指令
下面是代碼:
section .text
global _start
_start:
mov eax,88
mov ebx,0xfee1dead
mov ecx,672274793
mov edx,0x89abcdef
mov esi,0
int 0x80
我使用編譯:
nasm -f elf reboot.asm
然後我用其鏈接:
ld -m elf_i386 -s -o reboot reboot.o
我有一個關於這種行爲的一些問題:
- 如果我正確使用它,是在64位系統上運行這個32位代碼的問題的由來?
- 我想知道將NULL傳遞給%esi寄存器,這個參數對於重新啓動系統調用是否錯誤?
我已經使用sudo。我發現錯誤是閱讀重新啓動的人。在我現在使用的edx中的標誌是0x1234567,它的工作原理! – Tezirg 2013-02-23 19:37:06