Note that there are some explanatory texts on larger screens.

plurals
  1. PO32-bit absolute address out of range
    text
    copied!<p>I am newbie to assembly language. Now I am compiling my 'hello,world' .s program.</p> <p>the code is this from book "Professional Assembly Language" by Richard Blum:</p> <pre><code> ;; #cpuid.s Sample program to extract the processor Vendor ID .section .data, output: .ascii "The processor vendor is 'xxxxxxxxxx'\n" .section .bbs, .section .text, .globl _main _main: 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 $output, %ecx ;; movl $42, %edx ;; int $0x80 ;; movl $1, %eax ;; movl $0, %ebx ;; int $0x80 </code></pre> <hr> <p>the book instructs to compile using 'as' and 'ld', but I failed to use them. then I use gcc: gcc -o cpuid cpuid.s, but still get the error:</p> <pre><code>****:asm $ls cpuid.s ****:asm $gcc -o cpuid cpuid.s final section layout: __TEXT/__text addr=0x100000F58, size=0x0000003C, fileOffset=0x00000F58, type=1 __TEXT/__stubs addr=0x100000F94, size=0x00000006, fileOffset=0x00000F94, type=27 __TEXT/__stub_helper addr=0x100000F9C, size=0x0000001A, fileOffset=0x00000F9C, type=31 __TEXT/__unwind_info addr=0x100000FB6, size=0x00000048, fileOffset=0x00000FB6, type=21 __DATA/__program_vars addr=0x100001000, size=0x00000028, fileOffset=0x00001000, type=29 __DATA/__nl_symbol_ptr addr=0x100001028, size=0x00000010, fileOffset=0x00001028, type=28 __DATA/__la_symbol_ptr addr=0x100001038, size=0x00000008, fileOffset=0x00001038, type=26 __DATA/__common addr=0x100001040, size=0x00000020, fileOffset=0x00000000, type=24 .data/ addr=0x100002000, size=0x00000025, fileOffset=0x00002000, type=0 .text/ addr=0x100003000, size=0x0000003F, fileOffset=0x00003000, type=0 ld: 32-bit absolute address out of range (0x100002000 max is 4GB): from _main + 0x00000028 (0x100003000) to output (0x100002000) in _main from /var/folders/p2/s66vmvlx0vxc7svvwtjfnjb80000gn/T//ccKx07kO.o for architecture x86_64 collect2: ld returned 1 exit status ****:asm $ </code></pre> <hr> <p>My environment is: mac os 10.7, 64bit</p> <pre><code>****:asm $uname -a Darwin **** 11.4.2 Darwin Kernel Version 11.4.2: Thu Aug 23 16:25:48 PDT 2012; root:xnu-1699.32.7~1/RELEASE_X86_64 x86_64 ****:asm $ </code></pre> <p>Could you help me compile this code?</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload