比如這個linux系統調用int $0x80
。Windows上的Unix應用子系統如何在程序集中實現系統調用?如
SUA是否實施類似的東西? 如果是這樣,那麼命令是什麼?
這個特殊的代碼是一個我想改變對SUA
#cpuid.s Sample program to extract the processor Vendor ID
.section .data
output:
.ascii "The processor Vendor ID is 'xxxxxxxxxxxxx'\n"
.section .text
.globl _start
_start:
movl $0, %eax
cpuid
movl $output, %edi
movl %ebx, 28(%edi)
movl %edx, 32(%edi)
movl %ecx, 36(%edi)
movl $4, %eax
movl $1, %ebx
movl $output, %ecx
movl $42, %edx
int $0x80
movl $1, %eax
movl $0, %ebx
int $0x80
我想在組件上用屏幕打印一行。因爲我剛剛開始學習裝配。在linux上,我可以通過$ 0x80來實現,有沒有辦法在SUA上做類似的事情?或DOS程序集? – 2011-06-12 01:53:44
你不是真的只用$ 0x80來做它,你也設置了一些系統調用參數,對吧?我想你需要弄清楚如何在Windows上裝配系統調用。你在Linux上使用哪種系統調用? – 2011-06-12 01:57:14
很酷。爲您的ASM添加實質性評論也會有所幫助。另一個探索的想法是將其提升到一個水平,並談論你實際想要完成的事情。也許它可以在沒有ASM的情況下完成。 – 2011-06-12 02:14:07