にアクセスすると、コマンドを使用して、私のMacコンピュータをオフこのコードを実行:Mach-Oの64ビットフォーマットは、32ビットの絶対アドレスをサポートしていません。 NASMは、Array
nasm -f macho64 -o max.a maximum.asm
これは私が配列内の最大数を見つけた私のコンピュータ上で実行しようとしていたコードです。
section .data
data_items:
dd 3,67,34,222,45,75,54,34,44,33,22,11,66,0
section .text
global _start
_start:
mov edi, 0
mov eax, [data_items + edi*4]
mov ebx, eax
start_loop:
cmp eax, 0
je loop_exit
inc edi
mov eax, [data_items + edi*4]
cmp eax, ebx
jle start_loop
mov ebx, eax
jmp start_loop
loop_exit:
mov eax, 1
int 0x80
エラー:
maximum.asm:14: error: Mach-O 64-bit format does not support 32-bit absolute addresses
maximum.asm:21: error: Mach-O 64-bit format does not support 32-bit absolute addresses
最初に質問する必要があります。私は32ビットプログラムまたは64ビットプログラムを作成しようとしていますか? –