NASM come compilare
Posted by quakkaro on 07-11-2006 21:07
come fate a compilare?
sto provando a compilare il file math.asm


;
; file: math.asm
; This program demonstrates how the integer multiplication and division
; instructions work.
;
; To create executable:
; nasm -f coff math.asm
; gcc -o math math.o driver.c asm_io.o

%include "asm_io.inc"

segment .data
;
; Output strings
;
prompt db "Enter a number: ", 0
square_msg db "Square of input is ", 0
cube_msg db "Cube of input is ", 0
cube25_msg db "Cube of input times 25 is ", 0
quot_msg db "Quotient of cube/100 is ", 0
rem_msg db "Remainder of cube/100 is ", 0
neg_msg db "The negation of the remainder is ", 0

segment .bss
input resd 1


segment .text
global asm_main
asm_main:
enter 0,0 ; setup routine
pusha

mov eax, prompt
call print_string

call read_int
mov [input], eax

imul eax ; edx:eax = eax * eax
mov ebx, eax ; save answer in ebx
mov eax, square_msg
call print_string
mov eax, ebx
call print_int
call print_nl

mov ebx, eax
imul ebx, [input] ; ebx *= [input]
mov eax, cube_msg
call print_string
mov eax, ebx
call print_int
call print_nl

imul ecx, ebx, 25 ; ecx = ebx*25
mov eax, cube25_msg
call print_string
mov eax, ecx
call print_int
call print_nl

mov eax, ebx
cdq ; initialize edx by sign extension
mov ecx, 100 ; can't divide by immediate value
idiv ecx ; edx:eax / ecx
mov ecx, eax ; save quotient into ecx
mov eax, quot_msg
call print_string
mov eax, ecx
call print_int
call print_nl
mov eax, rem_msg
call print_string
mov eax, edx
call print_int
call print_nl

neg edx ; negate the remainder
mov eax, neg_msg
call print_string
mov eax, edx
call print_int
call print_nl

popa
mov eax, 0 ; return back to C
leave
ret


stado su linux uso:
nasm -f elf math.asm [ok]
e poi:
gcc -o math math.o driver.c asm_io.o
ERROR:
/usr/bin/ld: crt1.o: No such file: No such file or directory
collect2: ld returned 1 exit status


beh.. ottimo direi...

dagli appunti ho provato anche:
nasm -f elf math.asm [ok]
gcc -c driver.c [ok...compilato anche il driver in c]
gcc -o first driver.o asm_io.o [error]

stesso errore...
/usr/bin/ld: crt1.o: No such file: No such file or directory
collect2: ld returned 1 exit status


ce qualcuno che mi passerebbe il lavoro svolto lunedi 6-11 e come compilarlo?
grazie in anticipo anche a chi legge questo post e nn ha capito una sega di quello che ce scritto come me...




EDIT:
risolto....
nn avevo le libc6-dev....
valgo 0.

Powered by: vbHome (lite) v3.8 and vBulletin v2.3.1
Copyright © 2000 - 2002 Jelsoft Enterprises Limited