Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura)
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura)
Abbiamo provato per dieci giorni la Hyundai IONIQ 5 N, con 650 CV, 770 Nm e uno 0-100 km/h in 3,4 secondi. Il suo punto forte è N e-Shift, che simula un cambio a otto rapporti con suoni da motore termico e perfino un bang supersonico
CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale
CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale
La prima tappa italiana della Road to CES porta a Milano i vertici della Consumer Technology Association, con una nuova griglia di lettura dei trend tecnologici e una posizione netta su dazi e regolamentazione dell'IA
 Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP
Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP
OPPO ha appena lanciato sul mercato la nuova serie Find X10, che ha come smartphone premium il Find X10 Pro Max, uno smartphone completo, che fa del comparto fotografico il suo vero punto di forza. Ma sono tante le novità, tra cui l'AI che adesso diventa agentica. Ma andiamo a vedere nel dettaglio questo nuovo smartphone.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-05-2005, 22: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 22:17.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2005, 13: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, 14: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, 16: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, 11: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, 12: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, 13: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, 13: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, 13: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, 13: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, 13: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, 14: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, 14: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, 20: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


Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale CES Unveiled Milan, l'IA diventa tecnologia fond...
 Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP Recensione OPPO Find X10 Pro Max: un top di gam...
WoW Forever provato: il MMORPG che la community chiedeva da anni è arrivato WoW Forever provato: il MMORPG che la community ...
TCL P80 Ultra: con un display AMOLED opaco è una gioia per gli occhi e per le dita TCL P80 Ultra: con un display AMOLED opaco &egra...
Nikkor Z 120-300mm f/2.8 atteso il 28-29...
Sviluppare con l'AI non significa softwa...
Apple crede in iPhone Duo: la produzione...
Un cane robot usa i piedi come mani e ri...
Gli accessori auto più scontati s...
Diagnosi del cancro con l'IA: un modello...
Robot aspirapolvere in offerta su Amazon...
I conti non tornano per Gears of War E-D...
Tailscale, una ricercatrice pubblica 11 ...
Router ASUS a rischio: una falla pu&ogra...
Poche porte sul portatile? Ecco un dispo...
Smartphone nuovi, RAM vecchie di 6 anni:...
Costa 200€ in meno rispetto ai rivali co...
Teams, l'IA anti-phishing leggerà...
Amazon Haul, nuova promozione: 5% di sco...
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: 12:10.


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