Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
DJI Mini 5 Pro porta nella serie Mini il primo sensore CMOS da 1 pollice, unendo qualità d'immagine professionale alla portabilità estrema tipica di tutti i prodotti della famiglia. È un drone C0, quindi in un peso estremamente contenuto e che non richiede patentino, propone un gimbal rotabile a 225 gradi, rilevamento ostacoli anche notturno e autonomia fino a 36 minuti. Caratteristiche che rendono il nuovo drone un riferimento per creator e appassionati
ASUS Expertbook PM3: il notebook robusto per le aziende
ASUS Expertbook PM3: il notebook robusto per le aziende
Pensato per le necessità del pubblico d'azienda, ASUS Expertbook PM3 abbina uno chassis particolrmente robusto ad un pannello da 16 pollici di diagonale che avantaggia la produttività personale. Sotto la scocca troviamo un processore AMD Ryzen AI 7 350, che grazie alla certificazione Copilot+ PC permette di sfruttare al meglio l'accelerazione degli ambiti di intelligenza artificiale
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo
Abbiamo provato per diversi giorni una new entry del mercato italiano, la Gowow Ori, una moto elettrica da off-road, omologata anche per la strada, che sfrutta una pendrive USB per cambiare radicalmente le sue prestazioni
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 26-06-2004, 17:19   #1
Luc@s
Senior Member
 
L'Avatar di Luc@s
 
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
[Asm]Problema

Ho scritto sto code:
Codice:
.model small
.stack

.data
Message db 'Hello World by Lucas assembler', 13d, 10d, '$'

.code
Start:
	mov dx, OFFSET Message 	 
	mov ax, SEG Message 	
	mov ds, ax 	 
	; set int 21h service 09h
	mov ah, 09h
	int 21h
	; set int 21h service 4Ch(exit)
	mov ah, 4Ch
	int 21h
end Start
Ma mi da sti errori:
Quote:
prova.asm:1: error: attempt to define a local label before any non-local labels
prova.asm:1: error: parser: instruction expected
prova.asm:2: error: attempt to define a local label before any non-local labels
prova.asm:4: error: attempt to define a local label before any non-local labels
prova.asm:5: error: expression syntax error
prova.asm:9: error: comma or end of line expected
prova.asm:18: error: parser: instruction expected
__________________
Gnu/Linux User
Luc@s è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2004, 17:23   #2
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Che assemblatore usi??

Ciao
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2004, 17:23   #3
Luc@s
Senior Member
 
L'Avatar di Luc@s
 
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
nasm su win32
__________________
Gnu/Linux User
Luc@s è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2004, 17:28   #4
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Quella non è la sintassi di NASM.

Converti così :
Codice:
[BITS 16]
[ORG 0100h]

[SECTION .text]

start:
	mov dx, Message 	 
	; set int 21h service 09h
	mov ah, 09h
	int 21h
	; set int 21h service 4Ch(exit)
	mov ah, 4Ch
	int 21h

[SECTION .data]

Message db 'Hello World by Lucas assembler', 13d, 10d, '$'

A quanto sembra il programma che avevi scritto cercava di usare i Segmenti , in questo caso ho convertito il programma in "Flat Model" per semplicità .

Assembla con :

c:\> nasm nomefile.asm -f bin -o eseguibile.com


Ciao
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2004, 17:34   #5
Luc@s
Senior Member
 
L'Avatar di Luc@s
 
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
dove trovo na guida alla sintaxis nasm?
__________________
Gnu/Linux User
Luc@s è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2004, 17:42   #6
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
http://nasm.sf.net

C'è la documentazione , o comunque qualsiasi libro che insegna ASM usando la sintassi NASM (quello che ti ho consigliato nell' altro thread è un esempio)


Il tuo programma comunque conteneva un errore :

Message db 'Hello World by Lucas assembler', 13d, 10d, '$'

deve diventare:

Message db 'Hello World by Lucas assembler', 13, 10, '$'

Togliendo le "d" dal "13" e dal "10" dato che il Decimale è già la base di default del NASM

Ciao
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2004, 17:47   #7
Luc@s
Senior Member
 
L'Avatar di Luc@s
 
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
Tnk!
Cmq io volevo impararmi l'asm per il reverse enginering e per completezza.
Cmq........tu per cosa usi l'asm e ritieni che si debba usare molto oggi?
Io penso che serva conoscerlo e magari usarlo per ottimizzare ma nn serve per altro perche troppo complicato e poco gestibile per grandi progetti(a meno di fare demo di grafica in 64 kb )
Poi è bello sapere disassembleare un exe e capire + o - cosa fa, no?
__________________
Gnu/Linux User
Luc@s è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2004, 17:57   #8
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Sinceramente io sto imparando l'ASM per pura voglia di conoscienza

Non ho in mente nessun grande progetto da eseguire con asm , però l'asm ti permette di capire a fondo come funziona il tuo computer , e ti da il controllo totale su tutto

Prima di iniziare a imparare l'ASM cos'era una "Interrupt Vector Table" , o la differenza tra "interrupt software" e "interrupt hardware" , cosa fosse il dispatcher di un sistema operativo , quale fosse il principio alla base di una CPU ... erano tutti concetti a me ignoti , l' ASM ti permette di capire a fondo tutto ciò, e già tutto questo per me è sufficiente .

Io sapevo già programmare un pochino in C , ma nonostante io ne sappia molto + di C che di ASM in questo momento , imparare quel poco di ASM mi ha permesso di apprendere molto di + sul mondo dell' elaborazione elettronica che tutto il libro di C che mi ero letto in precedenza .

Inoltre , sarà vero che l'ASM è complicato , ma ti permette anche di fare cose che altri linguaggi non ti permettono

Ciao
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2004, 18:04   #9
Luc@s
Senior Member
 
L'Avatar di Luc@s
 
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
anche io lo studio spinto dai tuoi motivi, sai?
Cosi capisci e comprendi di + come funzia un Pc.
__________________
Gnu/Linux User
Luc@s è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2004, 18:09   #10
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Quote:
Originariamente inviato da Luc@s
anche io lo studio spinto dai tuoi motivi, sai?
Cosi capisci e comprendi di + come funzia un Pc.

Hai PVT
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2004, 18:57   #11
mmx[ngg]
Senior Member
 
Iscritto dal: Aug 2001
Città: Milano
Messaggi: 402
Quote:
Originariamente inviato da Luc@s
Tnk!
Cmq io volevo impararmi l'asm per il reverse enginering e per completezza.
Cmq........tu per cosa usi l'asm e ritieni che si debba usare molto oggi?
Io penso che serva conoscerlo e magari usarlo per ottimizzare ma nn serve per altro perche troppo complicato e poco gestibile per grandi progetti(a meno di fare demo di grafica in 64 kb )
Poi è bello sapere disassembleare un exe e capire + o - cosa fa, no?
Humm....ti posto un pezzo di sorgente..+ o - così come verebbe creato da un disassemblatore.

Ora....prima di compilarlo e scoprire cos'è veramente riusciresti a dire cosa fà ?
Allegati
File Type: zip try.zip (955 Bytes, 18 visite)
__________________
Phenom 2 555 X2@X4@3,6Ghz 1.33v Asus M4A785TD-V EVO 4GB Team Group Elite 1333Mhz AC Freezer Xtreme Corsair 450VX Samsung SyncMaster T220 Hd Seagate 500x2(Raid 0) Barton 2500+@3200+ vcore 1.550 (liquid cooled@+9° T.A.) Asus A7N8X-E Dlx 1Gb Ram Dual DDR Hd Maxtor SATA 160x2(Raid 0) GeXCube 9600XT Eizo 19P Le belle cose hanno un inizio e una fine...tutto il resto è la normalità
mmx[ngg] è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2004, 20:17   #12
Luc@s
Senior Member
 
L'Avatar di Luc@s
 
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
Quote:
Originariamente inviato da mmx[ngg]
Humm....ti posto un pezzo di sorgente..+ o - così come verebbe creato da un disassemblatore.

Ora....prima di compilarlo e scoprire cos'è veramente riusciresti a dire cosa fà ?
__________________
Gnu/Linux User
Luc@s è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2004, 20:22   #13
mmx[ngg]
Senior Member
 
Iscritto dal: Aug 2001
Città: Milano
Messaggi: 402
Ho riletto ora un pò dei tuoi messaggi....mi sa ke la domanda ke ti ho fatto è un po prematura....come non detto.

Cmq volevo semplicemente farti capire ke da un disassemblato è un'impresa sapere cosa faccia un programma....ti ci vuole mezza vita.

Pensa ke x soli 350 bytes (il compilato di quello ke ti ho postato) ci sono voluti 4k di sorgente...figurati x un normale eseguibile

E il tutto senza un briciolo di commento, variabili o label significative.

L'apprendimento dell'assembler deve essere visto in un'altra ottica. Il reverse enginering e l'ultima spiaggia da sfruttare solo quando si ha una totale conoscenza del linguaggio (lo devi leggere come un libro) altrimenti diventa una perdita di tempo fine a se stessa. E' molto + utile impararlo x scrivere algoritmi ke in un qualsiasi altro linguaggio risultino di difficile implementazione o poco efficenti.

Questo almeno secondo le mie esperienze....poi vedi te
__________________
Phenom 2 555 X2@X4@3,6Ghz 1.33v Asus M4A785TD-V EVO 4GB Team Group Elite 1333Mhz AC Freezer Xtreme Corsair 450VX Samsung SyncMaster T220 Hd Seagate 500x2(Raid 0) Barton 2500+@3200+ vcore 1.550 (liquid cooled@+9° T.A.) Asus A7N8X-E Dlx 1Gb Ram Dual DDR Hd Maxtor SATA 160x2(Raid 0) GeXCube 9600XT Eizo 19P Le belle cose hanno un inizio e una fine...tutto il resto è la normalità
mmx[ngg] è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2004, 20:28   #14
Luc@s
Senior Member
 
L'Avatar di Luc@s
 
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
Io voglio solo usarlo un po in modo inline nei punti critici dei miei prog.
Cmq il reversing è un idea grandissima.
Cmq posso porti una sfida?
Mi dici cosa potrebbe essere il prog dal file che ti posto?
Allegati
File Type: rar inline.rar (18.6 KB, 6 visite)
__________________
Gnu/Linux User
Luc@s è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2004, 20:55   #15
mmx[ngg]
Senior Member
 
Iscritto dal: Aug 2001
Città: Milano
Messaggi: 402
Quote:
Originariamente inviato da Luc@s
Io voglio solo usarlo un po in modo inline nei punti critici dei miei prog.
Cmq il reversing è un idea grandissima.
Cmq posso porti una sfida?
Mi dici cosa potrebbe essere il prog dal file che ti posto?
LOL....150Kb....io sono stato un pò + clemente

Cmq la sfida l'accetto se realmente ti serve sapere cosa fà...visto ke mi ci vogliono 2 giorni....sai com'è nel weekend vorrei fare altro e negli altri giorni lavoro
__________________
Phenom 2 555 X2@X4@3,6Ghz 1.33v Asus M4A785TD-V EVO 4GB Team Group Elite 1333Mhz AC Freezer Xtreme Corsair 450VX Samsung SyncMaster T220 Hd Seagate 500x2(Raid 0) Barton 2500+@3200+ vcore 1.550 (liquid cooled@+9° T.A.) Asus A7N8X-E Dlx 1Gb Ram Dual DDR Hd Maxtor SATA 160x2(Raid 0) GeXCube 9600XT Eizo 19P Le belle cose hanno un inizio e una fine...tutto il resto è la normalità
mmx[ngg] è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2004, 21:06   #16
Luc@s
Senior Member
 
L'Avatar di Luc@s
 
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
Quote:
Originariamente inviato da mmx[ngg]
LOL....150Kb....io sono stato un pò + clemente

Cmq la sfida l'accetto se realmente ti serve sapere cosa fà...visto ke mi ci vogliono 2 giorni....sai com'è nel weekend vorrei fare altro e negli altri giorni lavoro
e che il mio dis fa cosi.
Cmq se vuo...........nn sentirti obligato
__________________
Gnu/Linux User
Luc@s è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2004, 15:50   #17
mmx[ngg]
Senior Member
 
Iscritto dal: Aug 2001
Città: Milano
Messaggi: 402
Non mi sentirei obbligato neanke se mi avessi pagato

Cmq da una rapida occhiata non mi sembra un semplice pgm in C (esegue delle call dinamiche). Ma l'hai scritto te o l'hai beccato da qualke parte ?

Visto anke com'è scritto, lascio perdere anke xke x effettuare il reverse eng. spesso non si parte dall'entry point sino all'ExitProcess (e come leggersi tutto un libro di storia solo x sapere com'è andata la seconda guerra mondiale) ma sarebbe + inteligente utilizzare un debugger

Hai provato a compilare quello ke ti ho postato ? (ke non è un disassemblato ma un vero e proprio sorgente....gli ho semplicemente cambiato le label...altrimenti era una passeggiata)
__________________
Phenom 2 555 X2@X4@3,6Ghz 1.33v Asus M4A785TD-V EVO 4GB Team Group Elite 1333Mhz AC Freezer Xtreme Corsair 450VX Samsung SyncMaster T220 Hd Seagate 500x2(Raid 0) Barton 2500+@3200+ vcore 1.550 (liquid cooled@+9° T.A.) Asus A7N8X-E Dlx 1Gb Ram Dual DDR Hd Maxtor SATA 160x2(Raid 0) GeXCube 9600XT Eizo 19P Le belle cose hanno un inizio e una fine...tutto il resto è la normalità
mmx[ngg] è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice Recensione DJI Mini 5 Pro: il drone C0 ultra-leg...
ASUS Expertbook PM3: il notebook robusto per le aziende ASUS Expertbook PM3: il notebook robusto per le ...
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo Test ride con Gowow Ori: elettrico e off-road va...
Recensione OnePlus 15: potenza da vendere e batteria enorme dentro un nuovo design   Recensione OnePlus 15: potenza da vendere e batt...
AMD Ryzen 5 7500X3D: la nuova CPU da gaming con 3D V-Cache per la fascia media AMD Ryzen 5 7500X3D: la nuova CPU da gaming con ...
Obbligati ad acquistare una scheda madre...
GTA VI su PC? La data non c'è, ma...
Monopattini elettrici, a un anno dal dec...
Tesla Robotaxi, autista di sicurezza si ...
Samsung Galaxy S26: svelate le combinazi...
Microsoft Ignite: arriva Edge for Busine...
OPPO e Lamine Yamal uniscono sport e tec...
Microsoft, NVIDIA e Anthropic siglano un...
SpaceX potrebbe comunicare alla NASA rit...
Scoperte cavità sotterranee scava...
OnePlus anticipa l'arrivo di due nuovi p...
DJI lancia Osmo Action 6: la prima actio...
NASA: conferenza stampa sulla cometa int...
Ex CEO di TSMC passa a Intel: aperta un'...
Gigabyte X870E Aorus Elite X3D, una moth...
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: 00:53.


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