Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090
Ho affidato ai due modelli lo stesso mestiere ma non lo stesso identico prompt: trasformare una storia illustrata in un video usando una RTX 3090 e modelli locali. Ne sono usciti due film, due applicazioni e due idee opposte di efficienza. Fucina, progettata con Fable 5, colpisce di più nei primi secondi. Storyboard Studio, costruito con ChatGPT/Codex, regge meglio sulla distanza e vince il confronto complessivo, ma di stretta misura
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile
Lenovo ha lanciato il ThinkTab X11 rimettendo piede nel segmento dei tablet Android con il marchio Think dopo oltre un decennio di assenza. Il risultato è un dispositivo che prende una direzione precisa: massima dotazione funzionale, costruzione resistente, autonomia fuori dagli schemi
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot
AMD Advancing AI è l'appuntamento annuale con il quale l'azienda americana mostra quelle che sono le proprie novità dal versante datacenter. Tra piattaforma Helios, GPU Instinct MI455X e processori EPYC di sesta generazione tutto quello che serve per processare l'IA sempre più complessa ed esigente
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-05-2005, 21:11   #1
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
[DOS] .com a 16 bit

sto uscendo scemo (il che è tutto dire).
voglio creare un programma a 16 bit con estensione .com e sto provando a usare MASM32 e NASM, ma con nessuno dei due ci riesco
in particolare tra i due preferivo il masm; anche se si tratta del masm32, la direttiva .model supporta ancora il modello tiny, quindi dovrebbe comunque essere in grado di generare codice a 16 bit in un file .com
ho provato a fare uno scheletro iniziale di programma (questo in masm):
Codice:
.model tiny
.code
.startup
.exit
end
ma tutto quello che ottengo è un errore di link che mi comunica l'assenza dell'entry point WinMainCRTStartup, che però non dovrebbe esserci!! i .com non hanno l'entry point!!
dov'è che sbaglio ??

qualcuno può dirmi passo passo come fare un programma scheletrico a 16 bit con estensione .com possibilmente in masm32? (sennò al limite va bene il nasm...)
come sempre lavoro su win2k pro

thx

Ultima modifica di 71104 : 19-05-2005 alle 21:17.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2005, 12:21   #2
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
up
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2005, 13:08   #3
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Non chiedermi cosa vuol dire, l'ho trovato nei gruppi di google, forse tu riesci a decifrarlo:

" If using a module definition (.def) file, these lines should appear in it:
If using a module definition (.def) file, these lines should appear in it:

EXETYPE NT
SUBSYSTEM CONSOLE


Do not use /ENTRY:WinMainCRTStartup in a command to the linker, this specifies a Windows application."

Spero ti sia utile.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2005, 15:30   #4
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
ehm... -__________-'''
apprezzo molto la tua solerzia e la tua collaborazione ^^' ma non è esattamente quello che cercavo ^^
ti spiego brevemente che vuol dire: quando crei programmi EXE (quindi non c'entra nulla coi COM) puoi opzionalmente includere un file con estensione .def che contiene le cosiddette definizioni, una serie di informazioni di vario genere; tra queste troviamo il nome dell'entry point (di default "WinMainCRTStartup"), il subsystem usato (cioè se è un programma console, un programma GUI, un driver, ecc.), le eventuali esportazioni, le definizioni delle sezioni, eccetera eccetera.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 21-05-2005, 10:50   #5
Ubi-Wan
Bannato
 
L'Avatar di Ubi-Wan
 
Iscritto dal: Jul 2004
Città: Tatooine
Messaggi: 506
non so se puo' aiutare...pero' nel codice che hai postato manca l'indicazione dell'indirizzo di partenza del programma. Se non sbaglio per i file .com non deve essere _sempre_ 100h? Quindi ORG 100h?
Ubi-Wan è offline   Rispondi citando il messaggio o parte di esso
Old 21-05-2005, 11:16   #6
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
ORG 100h? e chè è? dove lo devo scrivere?
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 21-05-2005, 12:34   #7
Luc@s
Senior Member
 
L'Avatar di Luc@s
 
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
Quote:
Originariamente inviato da 71104
ORG 100h? e chè è? dove lo devo scrivere?
vuol dire che i .com devono partire dall'addr 100h, prima di esso c'è spazio riservato per altre cose.
Fatto sta che i com partono da li e se nn lo fanno, nn sono .com
__________________
Gnu/Linux User
Luc@s è offline   Rispondi citando il messaggio o parte di esso
Old 21-05-2005, 12:36   #8
Ubi-Wan
Bannato
 
L'Avatar di Ubi-Wan
 
Iscritto dal: Jul 2004
Città: Tatooine
Messaggi: 506
Quote:
ORG 100h is a compiler directive (it tells compiler how to handle the source code). This directive is very important when you work with variables. It tells compiler that the executable file will be loaded at the offset of 100h (256 bytes), so compiler should calculate the correct address for all variables when it replaces the variable names with their offsets. Directives are never converted to any real machine code.
Why executable file is loaded at offset of 100h? Operating system keeps some data about the program in the first 256 bytes of the CS (code segment), such as command line parameters and etc.
Though this is true for COM files only, EXE files are loaded at offset of 0000, and generally use special segment for variables. Maybe we'll talk more about EXE files later.
Ubi-Wan è offline   Rispondi citando il messaggio o parte di esso
Old 21-05-2005, 12:38   #9
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da Luc@s
vuol dire che i .com devono partire dall'addr 100h, prima di esso c'è spazio riservato per altre cose.
Fatto sta che i com partono da li e se nn lo fanno, nn sono .com
perché secondo te sul mio computer (win2kpro) l'indirizzo fisico 100h è libero???
a parte che non è mai libero neanche in modalità reale perché c'è il bios e subito prima l'IVT...
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 21-05-2005, 12:40   #10
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da Ubi-Wan
adesso è già più chiaro; ma questa direttiva ORG per che assemblatore è? ripeto che vorrei usare il masm32
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 21-05-2005, 12:54   #11
Ubi-Wan
Bannato
 
L'Avatar di Ubi-Wan
 
Iscritto dal: Jul 2004
Città: Tatooine
Messaggi: 506
da http://www.uv.tietgen.dk/staff/mlha/...directives.htm:

Quote:
ORG
Sets the Location Counter.
In COM programs, ORG 100h leaves room for the DOS PSP.

code SEGMENT
ORG 100h
start: ;code at 100h
Ubi-Wan è offline   Rispondi citando il messaggio o parte di esso
Old 21-05-2005, 13:12   #12
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
ma sta cosa dove va messa? ho provato subito dopo la direttiva .CODE ma non cambia nulla
e comunque non credo che sia quello il problema... devo far capire al linker che non sto generando un EXE, ma un COM! il linker mi cerca l'entry point!
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 21-05-2005, 13:54   #13
Ubi-Wan
Bannato
 
L'Avatar di Ubi-Wan
 
Iscritto dal: Jul 2004
Città: Tatooine
Messaggi: 506
Quote:

CSEG SEGMENT ; code segment starts here.

; #MAKE_COM# ; uncomment for Emu8086.

ORG 100h

start: MOV AL, 5 ; some sample code...
MOV BL, 2
XOR AL, BL
XOR BL, AL
XOR AL, BL

RET

CSEG ENDS ; code segment ends here.

END start ; stop compiler, and set entry point.

Entry point for COM file should always be at 0100h (first instruction after ORG 100h directive), though in MASM and TASM you may need to manually set an entry point using END directive. Emu8086 works just fine, with or without it.

In order to test the above code, save it into test.asm file (or any other) and run these commands from command prompt:

For MASM 6.0:

MASM test.asm
LINK test.obj, test.com,,, /TINY

For TASM 4.1:

TASM test.asm
TLINK test.obj /t

We should get test.com file (11 bytes), right click it and select Send To and emu8086. You can see that the disassembled code doesn't contain any directives and it is identical to code that Emu8086 produces even without all those tricky directives.
che Google sia con te!
Ubi-Wan è offline   Rispondi citando il messaggio o parte di esso
Old 21-05-2005, 19:30   #14
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
MWHAUWHAUHUWHAUA COMPILA!!!! ehm, però come dire... è un exe... :-|
ti ringrazio tantissimo per l'aiuto, ma a questo punto mi sembra chiaro che bisogna cambiare qualche settaggio, qualche impostazione, forse nel linker; aho, ti giuro che le ho provate tutte e proprio non ci riesco... :-|
boh, forse domani ci riuscirò, dato che domani è domenica e quindi dovrei avere la concentrazione di un carciofo, però almeno non è sabato, che ho la concentrazione di una patata :-|
71104 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090 Fable e Sol a confronto: due cartoni animati cre...
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile Il tablet rugged leggero e sottile: Lenovo Think...
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot AMD Advancing AI 2026: l'hardware AMD per le ela...
Tascabile e con Android: BOOX Go 6 Gen II è diverso da tutti gli altri e-reader Tascabile e con Android: BOOX Go 6 Gen II &egrav...
Recensione Lenovo Idea Tab Plus: il tablet da 12 pollici che costa meno di 300 euro Recensione Lenovo Idea Tab Plus: il tablet da 12...
AMD prepara il futuro delle CPU Ryzen: Z...
Intel fa marcia indietro: torna la tecno...
Honor ROBOT PHONE ha una data d'uscita: ...
TSMC accelera sulla produzione a 2 nm: u...
Diritto alla riparazione, dal 31 luglio ...
WhatsApp introduce il conteggio privato ...
Lenovo IdeaPad Slim 3 a 499,90€: ecco pe...
Benzina e diesel ai massimi: il Governo ...
ECOVACS DEEBOT T30e OMNI a 299€ e T50 PR...
Gli X-Men sono assenti in Marvel's Wolve...
I primi occhiali intelligenti di Apple p...
Apple TV svela il primo trailer ufficial...
TOP 10 Amazon, rinnovata coi nuovi scont...
LG QNED e MiniLED da 65 pollici: -500€ r...
Blizzard licenzia un dipendente: usava g...
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: 11:20.


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