Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Le soluzioni FSP per il 2026: potenza e IA al centro
Le soluzioni FSP per il 2026: potenza e IA al centro
In occasione del Tech Tour 2025 della European Hardware Association abbiamo incontrato a Taiwan FSP, azienda impegnata nella produzione di alimentatori, chassis e soluzioni di raffreddamento tanto per clienti OEM come a proprio marchio. Potenze sempre più elevate negli alimentatori per far fronte alle necessità delle elaborazioni di intelligenza artificiale.
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa
AWS è il principale operatore di servizi cloud al mondo e da tempo parla delle misure che mette in atto per garantire una maggiore sovranità alle organizzazioni europee. L'azienda ha ora lanciato AWS European Sovereign Cloud, una soluzione specificamente progettata per essere separata e distinta dal cloud "normale" e offrire maggiori tutele e garanzie di sovranità
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto
Xiaomi ha portato sul mercato internazionale la nuova serie Redmi Note, che rappresenta spesso una delle migliori scelte per chi non vuole spendere molto. Il modello 15 Pro+ punta tutto su una batteria capiente e su un ampio display luminoso, sacrificando qualcosa in termini di potenza bruta e velocità di ricarica
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 24-12-2014, 15:35   #1
kwb
Senior Member
 
L'Avatar di kwb
 
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
[Assembly 8086/C] Compilare file C per 8086

Per puro scopo didattico, devo fare un programma in C che richiama una procedura in Assembly 8086.
So già come devono essere impostati i file in termini di nomenclatura e scope delle procedure/funzioni.
La mia idea è quella di:
1.A Compilare il C per produrre l'object code
1.B Compilare la procedura in 8086 per produrre l'object code
2. Linkare assieme i due file con il linker di MASM per tirare fuori l'eseguibile finale che funzioni sotto DOS.

Mi sono però imbattuto nel problema di trovare un compilatore C per mac che sia in grado di fare questa cosa: sfortunatamente ho letto che GCC non supporta più l'assembler 8086, producendo quindi un object code non conforme a quanto richiesto dal linker di masm8086.
Ho guardato un po' in giro e ho trovato solo soluzioni per altre piattaforme:
- bcc (Bruce C Compiler): credo sia integrato di default su linux, ma non sembra esserci alcun porting per altri OS.
- Openwatcom: Windows e Linux.
- Digital Mars: Windows

C'è modo?
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
kwb è offline   Rispondi citando il messaggio o parte di esso
Old 29-12-2014, 10:38   #2
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
Potresti cambiare l'assembler e modificare solo le firme delle funzioni in modo da renderle compatibili con gcc, poi sposti gli argomenti nei registri a 16 bit, il resto del codice può restare invariato.
Daniels118 è offline   Rispondi citando il messaggio o parte di esso
Old 29-12-2014, 14:30   #3
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Per curiosità a cosa ti serve compilare qualcosa per 8086? Ti interessa studiare il funzionamento in Real Mode?
Sei su Mac, ma non è mai esistito un OS Apple che girasse sugli Intel di quell'epoca. Al massimo potrai trovare qualcosa per compilare per sistemi DOS o Linux, anche perchè immagino che userai DosBox per l'esecuzione, quindi ti servirà un compilatore dos.
Poi parli di MASM che è Microsoft, ma esiste per OSX?

Ad oggi compilare codice a 16 bit è problematico ovunque, anche perchè ha ben poco senso. Non puoi convertire almeno in 32 bit?
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 29-12-2014, 15:00   #4
kwb
Senior Member
 
L'Avatar di kwb
 
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
Quote:
Originariamente inviato da Daniels118 Guarda i messaggi
Potresti cambiare l'assembler e modificare solo le firme delle funzioni in modo da renderle compatibili con gcc, poi sposti gli argomenti nei registri a 16 bit, il resto del codice può restare invariato.
Hmm non sono molto pratico di quello che devo fare perchè è la prima volta che faccio una cosa del genere..
Puoi fornirmi dei link/esempi o spiegarti meglio? Perchè non ho ben capito come agire..

Quote:
Originariamente inviato da tomminno Guarda i messaggi
Per curiosità a cosa ti serve compilare qualcosa per 8086? Ti interessa studiare il funzionamento in Real Mode?
Sei su Mac, ma non è mai esistito un OS Apple che girasse sugli Intel di quell'epoca. Al massimo potrai trovare qualcosa per compilare per sistemi DOS o Linux, anche perchè immagino che userai DosBox per l'esecuzione, quindi ti servirà un compilatore dos.
Poi parli di MASM che è Microsoft, ma esiste per OSX?

Ad oggi compilare codice a 16 bit è problematico ovunque, anche perchè ha ben poco senso. Non puoi convertire almeno in 32 bit?
Purtroppo no. Devo farlo per un esercizio universitario che mi è stato assegnato e il programma finale deve girare sotto DOS(box) quindi deve essere 16 bit.
MASM esiste per OSX? Esiste per DOSBOX che, a sua volta, esiste per OSX
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
kwb è offline   Rispondi citando il messaggio o parte di esso
Old 29-12-2014, 15:39   #5
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
Il metodo che ti avevo proposto ti avrebbe permesso di portare il tuo codice a 32 bit, ma ora capisco che ti serve proprio a 16, quindi non vedo alternative che trovare un compilatore c a 16 bit. Visto che utilizzi il dos, tanto vale prendere un compilatore per dos: http://edn.embarcadero.com//article/20841
Daniels118 è offline   Rispondi citando il messaggio o parte di esso
Old 03-01-2015, 00:13   #6
kwb
Senior Member
 
L'Avatar di kwb
 
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
Quote:
Originariamente inviato da Daniels118 Guarda i messaggi
Il metodo che ti avevo proposto ti avrebbe permesso di portare il tuo codice a 32 bit, ma ora capisco che ti serve proprio a 16, quindi non vedo alternative che trovare un compilatore c a 16 bit. Visto che utilizzi il dos, tanto vale prendere un compilatore per dos: http://edn.embarcadero.com//article/20841
Grazie! Proverò, ho scaricato lo zip e già sento che saranno dolori ad installarlo...
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
kwb è offline   Rispondi citando il messaggio o parte di esso
Old 03-01-2015, 14:32   #7
kwb
Senior Member
 
L'Avatar di kwb
 
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
Sono riuscito a installare su dosbox turbo c, apparentemente senza problemi.
La compilazione del file c sembra andare senza problemi, ma quando uso il linker della microsoft che viene dato con masm (link.exe) per unire l'obj code del file in asm e l'obj code del file in c, non mi riconosce le librerie che ho utilizzato nel file in c (nello specifico stdio.h e string.h). Credevo che il compilatore turboc si occupasse già di aggiungere le librerie al file obj, ma pare non essere così.
Ho quindi provato a compilare anche le librerie stdio.h e string.h, ottenendo i rispettivi object code files.
Aggiungendoli al linker non risolve il problema..
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
kwb è offline   Rispondi citando il messaggio o parte di esso
Old 03-01-2015, 16:57   #8
kwb
Senior Member
 
L'Avatar di kwb
 
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
Ma in realtà li ho dati in pasto al compilatore turbo c e ha sputato fuori due object code files...
Era una mossa disperata..
Ho provato a guardare dentro le cartelle di turboc ma non ho trovato alcun stdio.lib o string.lib
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
kwb è offline   Rispondi citando il messaggio o parte di esso
Old 03-01-2015, 18:51   #9
kwb
Senior Member
 
L'Avatar di kwb
 
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
Quote:
Originariamente inviato da Antonio23 Guarda i messaggi
secondo questa pagina sono in C:\TC\LIB...

http://stackoverflow.com/questions/2...-turbo-c-error
Grazie!
Sebbene non mi abbia direttamente risolto il problema, mi ha costretto a spulciare tra i vari files, tra i quali ho trovato un readme in cui spiegava il significato dei vari LIB file che c'erano sparsi in giro.
È bastato aggiungere l'objcode per il modello small e il lib del modello small al linker di masm per far andare il tutto!
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
kwb è offline   Rispondi citando il messaggio o parte di esso
Old 24-02-2015, 18:36   #10
kwb
Senior Member
 
L'Avatar di kwb
 
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
Quote:
Originariamente inviato da Antonio23 Guarda i messaggi
giusto per curiosità, sono in C:\TC\LIB? magari se dai maggiori dettagli potrà essere in futuro utile a chi avrà lo stesso problema..
Purtroppo leggo solo ora e purtroppo ho piallato quel compilatore.
Comunque, andando a memoria, il file readme (che si chiama README o HELP, non ricordo bene) si trova nella cartella TC. Dentro il file (verso il fondo mi pare) c'è scritto in ogni cartella che file ci sono e a cosa servono.
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
kwb è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Le soluzioni FSP per il 2026: potenza e IA al centro Le soluzioni FSP per il 2026: potenza e IA al ce...
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa AWS annuncia European Sovereign Cloud, il cloud ...
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto Redmi Note 15 Pro+ 5G: autonomia monstre e displ...
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione HONOR Magic 8 Pro: ecco il primo TOP del 2026! L...
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata Insta360 Link 2 Pro e 2C Pro: le webcam 4K che t...
Il remake di Assassin's Creed IV: Black ...
Tutti i robot aspirapolvere in offerta s...
Amazon Haul spinge la promo di San Valen...
Offerte hardware Amazon per l'upgrade de...
iPhone 17e dovrà fare i conti con...
Offerte Amazon sugli iPhone di ultima ge...
DJI Mini 5 Pro Combo Fly More scende a 8...
Ubisoft potrebbe licenziare ancora ma se...
Samsung Galaxy S26: un leak anticipa col...
Aetherflux e Lockheed Martin insieme per...
SpaceX sta proseguendo i test della terz...
Axiom Space ha mostrato un nuovo video d...
Realme: la trasformazione in sub-brand d...
PlayStation 6 si farà attendere: ...
BWT Alpine chiude la prima tornata di pr...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 14:50.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v