Homepage  Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum


.dsy:it. .dsy:it. Archive > Didattica > Didattica in generale > Archivio > Progetto della sicurezza di rete
 
NASM come compilare
Clicca QUI per vedere il messaggio nel forum
quakkaro
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.

quakkaro
p.s.
notate che è passata un' ora per sistemare sta cazzata..
...immaginatemi con l assembly come procederà......

IuZ
Quindi i comandi che hai messo prima dovrebbero andare?

PS: te li metto sticky.

quakkaro
secondo me è meglio mettere in sticky solo l altro post che ha tutto.

IuZ
Fatto. ;)

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate