smalldragon ha scritto:
il gcc non va molto bene perchè e impostato sul sistema operativo linux
un consiglio
sotto windows se ti interessa programmare in assembler 16 bit
vai su questo sito troverai un buon ambiente di sviluppo e numerosi consigli sul come programmare:
http://www.giobe2000.it
se invece ti interessa la programmazione assembler 32-64 bit il modo migliore e visual studio.
spero di esserti stato di aiuto
La mia intenzione era in effetti quella di iniziare con il 16bit perché preferirei non usare, almeno all'inizio, le API; in una fase successiva passare al 32bit (anche se, se trovo il 16bit troppo difficile, potrei passare al 32bit), per cui mi servirebbero tutti e due; comunque adesso ho installato l'ambiente di lavoro e, grazie all'uso di DOS box, sono riuscito a linkare ed eseguire un programma a 16 bit.
oregon ha scritto:
@smalldragon .... Ma perché dovrebbe programmare con vecchissimi ambienti (16 bit) quando sta compilando un codice per Win32 sun Win8 ?
@Caradhras ... I link che hai indicato non sono validi ... per vedere il sorgente, inseriscilo nuovamente. Poi, hai ottenuto il file p.obj ?
Stavo usando un codice a 32 bit in primo luogo perché, nel caso non riuscissi con il 16bit, anche 32bit andrebbe bene, e in secondo luogo perché volevo prendere un file che fossi certo andasse bene con NASM (il sito che ho linkato usa NASM) per evitare che errori di compilazione fossero dovuti a miei errori nel listato del programma. Ero riuscito a creare il file p.obj, il problema era nel linker. Posto comunque il codice per completezza (anche se per ora dovrei avere risolto):
section .text
global _start ;must be declared for linker (ld)
_start: ;tells linker entry point
mov edx,len ;message length
mov ecx,msg ;message to write
mov ebx,1 ;file descriptor (stdout)
mov eax,4 ;system call number (sys_write)
int 0x80 ;call kernel
mov eax,1 ;system call number (sys_exit)
int 0x80 ;call kernel
section .data
msg db 'Hello, world!', 0xa ;our dear string
len equ $ - msg ;length of our dear string
Queste invece le istruzioni per settare la variabile PATH:
• Dopo l'installazione del MinGW, per un suo corretto utilizzo bisogna
settare alcune variabili d'ambiente,
• Risorse del computer->(tasto destro del mouse)Proprietà->Avanzate-
>Variabili D'ambiente
• andare nel riquadro variabili di sistema selezionare, dalla lista, la
variabile path e cliccare su Modifica, scrivere nel campo valore
della variabile "path" la stringa ";c:\mingw\bin“
• Cliccare quindi su Nuovo ed inserire in "nome variabile" la stringa
MINGDIR ed in "valore variabile" la stringa "c:\mingw".
• Cliccare quindi su Ok.
Grazie a tutti per l'aiuto!