Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia)
Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia)
Abbiamo provato per una settimana intera la Can-Am Origin, la Dual Sport elettrica del gruppo canadese BRP: ecco com'è andata tra città, autostrada e un primo assaggio di sterrato
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco
Nelle ultime settimane abbiamo provato il mouse Logitech G305, la tastiera G316 X 98 e le cuffie G325. Si tratta del setup entry-level di Logitech che ormai, di "entry-level" ha ben poco. Tastiera e mouse offrono prestazioni di livello competitivo con quasi nessuna rinuncia e un livello di personalizzazione estremamente elevato. Le cuffie, invece, hanno mostrato qualche debolezza, ma propongono un ventaglio di funzionalità completo che consente di abbandonare completamente i cavi
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio
POCO F9 Pro arriva sul mercato con l'obiettivo di portare prestazioni da smartphone top di gamma in una fascia di prezzo "più aggressiva", senza rinunciare a un comparto fotografico finalmente all'altezza. Dopo averlo testato sul campo, emerge uno smartphone molto più completo rispetto alla generazione precedente, ma anche con alcuni piccoli compromessi che diventano difficili da ignorare quando il prezzo di listino sfiora i 1.000 euro.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 24-12-2014, 14: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, 09: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, 13: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, 14: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, 14: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 02-01-2015, 23: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, 13: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, 15: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, 17: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, 17: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


Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia) Test ride Can-Am Origin: la moto elettrica che f...
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco Logitech G325, G305 e G316 X: il tris per chi no...
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio Recensione POCO F9 pro: potenza da vero top di g...
Tra audio e AI: la ricetta di Qualcomm per l'agentic AI Tra audio e AI: la ricetta di Qualcomm per l'age...
Qualcomm annuncia la nuova generazione di SoC Snapdragon 8 Elite Gen 6 Qualcomm annuncia la nuova generazione di SoC Sn...
GeForce Now arriverà sui Googlebo...
Opus 5.5 e GPT-6 Sol nello stesso pomeri...
Weekend Amazon, le prime 5 offerte sono ...
Mini Compressore a 21,84€: gonfia le gom...
Gemini si aggiorna, ora può conne...
Da 32 a 65 pollici: ecco le TV più...
Xiaomi Redmi Note 17 a 269€: ecco perch&...
ASUS avverte i clienti: accesso non auto...
Già record di vendite su Amazon p...
Eni mette un tetto ai prezzi dei carbura...
BYD Seagull (Dolphin Surf), l'elettrica ...
Multa milionaria per un data center del ...
F-Droid 2.0 si aggiorna con una nuova gr...
Microsoft ridisegna Copilot: dalla chat ...
Volkswagen porterà 20 videogiochi...
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: 09:20.


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