| |
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 |
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. |
|
|
|
|