Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno
Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno
Con la quattordicesima generazione Lenovo ridisegna il suo ThinkPad più iconico attorno al nuovo Space Frame e ai processori Intel Core Ultra Series 3. Resta sotto 1Kg, è molto più semplice da riparare e si rivolge al professionista che lavora in mobilità, con un prezzo da prodotto di vertice.
Jabra Evolve3 85: le cuffie sia per l'intrattenimento che per il lavoro
Jabra Evolve3 85: le cuffie sia per l'intrattenimento che per il lavoro
Le Jabra Evolve3 85 non sono semplicemente cuffie Bluetooth con cancellazione del rumore. Sono un dispositivo professionale pensato per chi trascorre gran parte della giornata in riunione, al telefono o davanti a un assistente basato sull'intelligenza artificiale
MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi
MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi
Abbiamo provato MSI PRO MAX EDGE AI+, un mini-PC professionale progettato per eseguire modelli di intelligenza artificiale in locale, senza dipendere dal cloud. Il sistema abbina il processore AMD Ryzen AI Max+ 395, 128 GB di memoria unificata e un telaio in alluminio da appena 4 litri, con l'obiettivo di offrire capacità di elaborazione elevate in un formato compatto.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-09-2012, 19:03   #1
v1sc3rr4k
Member
 
Iscritto dal: Nov 2007
Messaggi: 69
[ASSEMBLY] Riconoscere variabili

Salve a tutti,

ho dei sorgenti asm e ho bisogno di identificare le variabili, io da ignorante in materia pensavo le uniche variabili fossero i registri. In realtà approfondendo ho capito che ci sono diversi modi per maneggiare variabili con l'x86. Volevo chiedere a voi qualche dritta, io devo controllare i movimenti anomali delle variabili e un'idea ce l'ho. Il problema è che prima di farlo devo individuarle nei files *.asm!

Grazie a tutti
v1sc3rr4k è offline   Rispondi citando il messaggio o parte di esso
Old 10-09-2012, 20:19   #2
pabloski
Senior Member
 
Iscritto dal: Jan 2008
Messaggi: 8406
No aspè, chiariamo. Le variabili per il processore non esistono. Lui vede solo locazioni di memoria.

Esiste però un modo di definire le variabili in assembly. Ma questo vale quando scrivi tu un programm assembly. Sono quelle cose definite con db, dw, ecc...

Se invece, come sospetto di aver capito, hai in mano dei file disassemblati da un binario, allora non ci sarà nulla nei sorgenti che sintatticamente rasenterà il concetto di variabile.

Vedrai solo dei dati che vengono spostati avanti e indietro in memoria, sommati, divisi, ecc....

Le uniche variabili "visibili" sono quelle locali, perchè vengono memorizzate nello stack frame corrente.

I registri invece non sono variabili, almeno non nel senso classico del termine. Contengono valori, li puoi usare per fare operazioni, leggere/scrivere valori, ma non sono variabili.
pabloski è offline   Rispondi citando il messaggio o parte di esso
Old 10-09-2012, 20:32   #3
v1sc3rr4k
Member
 
Iscritto dal: Nov 2007
Messaggi: 69
Grazie della risposta, seguendo i tuoi consigli ho riletto il codice notando questo:

Quote:
db 002Eh
db 0081h
xorpatch db 0007h
encryptvalue dw 0000h
Ora il problema è che le prime due variabili non hanno nome! Come è possibile?
v1sc3rr4k è offline   Rispondi citando il messaggio o parte di esso
Old 10-09-2012, 21:29   #4
pabloski
Senior Member
 
Iscritto dal: Jan 2008
Messaggi: 8406
Il motivo è legato al fatto che in linguaggio macchina le variabili ( non locali ) corrispondono a locazioni di memoria. Il nome è una semplice etichetta che serve a facilitare la vita al programmare e gli permette di riferirsi ad una certa locazione di memoria usando un nome facile da ricordare.

Per esempio, le prime due istruzioni riservano 16 e 16 bit in memoria. Quei valori li troverai effettivamente in memoria, ma nel codice assembly non potrai riferirti a quelle locazioni di memoria usando un nome simbolico facile da ricordare.

Dal punto di vista della macchina quelle 4 sono uguali, dal punto di vista del programmatore no.
pabloski è offline   Rispondi citando il messaggio o parte di esso
Old 11-09-2012, 11:35   #5
v1sc3rr4k
Member
 
Iscritto dal: Nov 2007
Messaggi: 69
Giusto dimenticavo questo particolare. Grazie mille dei chiarimenti
v1sc3rr4k è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno Lenovo ThinkPad X1 Carbon Gen 14: il business ul...
Jabra Evolve3 85: le cuffie sia per l'intrattenimento che per il lavoro Jabra Evolve3 85: le cuffie sia per l'intratteni...
MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB...
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista Recensione vivo X500 Pro Max: la fotografia mobi...
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
Smartbox colpita da un attacco hacker: e...
Un'IA risolve in 3 giorni un enigma che ...
TOP 10 Amazon weekend: tornano gli Smart...
ReactOS introduce il supporto USB 3.0: i...
TECLAST M60 a soli 159€ su Amazon: table...
Haier da 65 pollici a partire da 397€ su...
Google Pixel 11, Pro e Pro XL in offerta...
Memorie, inversione di tendenza: i PC co...
Rubati 6 pallet di hardware NVIDIA da 11...
Addio ai limiti del silicio? Ecco il dia...
Windows 11 27H2 sarà un 'cambio completo...
Hai mai notato che l'iPhone sbaglia semp...
Raffreddamento a liquido e schermo perso...
TSMC valuta la produzione di 3D DRAM su ...
Il Cybertruck ha i giorni contati? Musk ...
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: 14:09.


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