Che Guevara (Normal User)
Pro
Messaggi: 117
Iscritto: 30/03/2006
|
Sto sviluppando un sistema operativo a 16bit, siccome mi sembra obsoleto confrontato con i sistemi operativi attuali mi chiedevo come potessi fare a farlo "evolvere" in un sistema operativo a 32bit.
Grazie a chiunque posti!!!
|
|
Hacker (Member)
Guru
Messaggi: 1014
Iscritto: 06/06/2006
|
se usi NASM,mi pare,basta che nel codice utilizzi le direttive:
[BITS 16] ; <- per il codice a 16 bit
[BITS 32] ; <- per il codice a 32 bit
Es.:
[BITS 16]
MOV AX,FFFFh
[BITS 32]
MOV EAX,FFFFFFFFh
Dovrebbe essere così
|
|
Che Guevara (Normal User)
Pro
Messaggi: 117
Iscritto: 30/03/2006
|
Postato originariamente da Hacker:
se usi NASM... |
Ultima modifica effettuata da Che Guevara il 25/03/2007 alle 17:08 |
|
Hacker (Member)
Guru
Messaggi: 1014
Iscritto: 06/06/2006
|
uhm...allora:
1)MASM32 è un assemblatore/linker che serve per sviluppare applicazioni in assembler a 32bit(credo solo ed esclusivamente...)per piattaforma windows.
2)NASM(the netwide assembler,che puoi scaricare da qua:http://sourceforge.net/project/showfiles.php?group_id=6208 )
è un assemblatore/linker per sorgenti a 16/32 bit,ed è disponibile anche per Linux.
Come ogni diverso assemblatore/linker le regole di programmazione per la creazione dell'eseguibile sono diverse,come anche le direttive.
Ultima modifica effettuata da Hacker il 25/03/2007 alle 17:17 |
|
Che Guevara (Normal User)
Pro
Messaggi: 117
Iscritto: 30/03/2006
|
Cambia qualcosa per quanto riguarda le funzioni?
C'è differenza fra la sintassi del codice dei 2 compilatori?
Grazie mille!!!
|
|
Hacker (Member)
Guru
Messaggi: 1014
Iscritto: 06/06/2006
|
esempio?
|
|
Che Guevara (Normal User)
Pro
Messaggi: 117
Iscritto: 30/03/2006
|
Postato originariamente da Hacker:
esempio? |
Lo shift dei bit è sempre Shl (ad esempio)? Shl Ax,01 corrisponde a Shl EAx,01?
In Masm32 c'è ASSUME per definire lo stack, il segmento dati e quello di codice; è uguale in Nasm?
Grazie per ora!!! |
|
Che Guevara (Normal User)
Pro
Messaggi: 117
Iscritto: 30/03/2006
|
Postato originariamente da Hacker:
Come ogni diverso assemblatore/linker le regole di programmazione per la creazione dell'eseguibile sono diverse,come anche le direttive. |
|
|
Hacker (Member)
Guru
Messaggi: 1014
Iscritto: 06/06/2006
|
Lo shift dei bit è sempre Shl (ad esempio)? Shl Ax,01 corrisponde a Shl EAx,01? |
Veramente non ho mai provato,comunque suppongo che le istruzioni non cambiano,ma ce ne sono solo in più per gestire al meglio i registri...
|
|