Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
REDMI Note 17 Pro porta in fascia media una batteria da 8.340 mAh con ricarica HyperCharge a 67W, un display AMOLED da 6,83 pollici capace di picchi di luminosità molto elevati e una struttura certificata TÜV SÜD contro cadute e infiltrazioni d'acqua, il tutto racchiuso in una scocca da 223 grammi. Lo abbiamo provato per diversi giorni tra fotocamera, prestazioni, autonomia e prezzo sul mercato italiano
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
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


Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce Recensione REDMI Note 17 Pro: il midrange con ba...
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Microsoft Defender: falso allarme sull'a...
Aerei in volo e truppe pronte all'assalt...
Usano Claude per hackerare OpenAI: ricer...
RatHat: il nuovo malware Android usa il ...
Domanda di petrolio in calo di 2,5 milio...
Il meglio delle offerte weekend Amazon a...
Dopo oltre 100 anni di tentativi, l'IA d...
Speciale robot aspirapolvere in offerta ...
L'IA sta cancellando i lavori junior? Il...
Debutta Chery Italia: non più sol...
Addio ai dischi? Xbox ci aveva già...
Speciale TV Amazon: 4 modelli, da 139€ f...
Il nuovo iPhone 18 Pro Max ha una ricari...
Speciale smartphone Android: 7 modelli i...
La Camera USA presenta il conto: i data ...
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: 20:41.


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