about execute assembly exapmles under freebsd

HHCHANG b8701143 at tmu.edu.tw
Sun Apr 24 01:15:17 PDT 2005


Hi,
I couldn't execute assembly example  under freebsd .
The environment and tools I used were (in IBM X31 box):
1.
bash-2.05b# uname -a
FreeBSD sexbear.localhost 5.3-STABLE FreeBSD 5.3-STABLE #3: Sun Feb 20 =
21:55:06 UTC 2005    =
?root at sexbear.localhost:/usr/obj/usr/src/sys/SEXBEAR??i386
2.
bash-2.05b# as -v
GNU assembler version 2.15 [FreeBSD] 2004-05-23 (i386-obrien-freebsd) =
using BFD version 2.15 [FreeBSD] 2004-05-23

bash-2.05b# ld -v
GNU ld version 2.15 [FreeBSD] 2004-05-23

3.(compile and execute the example)
bash-2.05b#
  as -gstabs -o cpuid.o cpuid.s
  ld -o cpuid cpuid.o
  cpuid (no output after executing the program)
  gdb cpuid
  (gdb) run
  Starting program: /usr/local/src/code/chap04/cpuid
  Program exited with code 0340.
  (gdb) break *_start
  (gdb) run
  Program exited with code 0340.
###################example in book###################################
#cpuid.s Sample program to extract the processor Vendor ID
.section .data
output:
   .ascii "The processor Vendor ID is 'xxxxxxxxxxxx'\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

###################example in book###################################

I viewed the tutorial: http://www.int80h.org/bsdasm/.
but I couldn't find any syntax error in the program.
Could someone give me a hint where I could find the more information?
Thanks~

Regards,


More information about the freebsd-hackers mailing list