Torna indietro   Hardware Upgrade Forum > Software > Programmazione

OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro punta a diventare uno dei riferimenti assoluti nel segmento dei camera phone di fascia alta. Con un teleobiettivo Hasselblad da 200 MP, una batteria al silicio-carbonio da 7500 mAh e un display da 6,78 pollici con cornici ultra ridotte, il nuovo flagship non teme confronti con la concorrenza, e non solo nel comparto fotografico mobile. La dotazione tecnica include il processore MediaTek Dimensity 9500, certificazione IP69 e un sistema di ricarica rapida a 80W
DJI Romo, il robot aspirapolvere tutto trasparente
DJI Romo, il robot aspirapolvere tutto trasparente
Anche DJI entra nel panorama delle aziende che propongono una soluzione per la pulizia di casa, facendo leva sulla propria esperienza legata alla mappatura degli ambienti e all'evitamento di ostacoli maturata nel mondo dei droni. Romo è un robot preciso ed efficace, dal design decisamente originale e unico ma che richiede per questo un costo d'acquisto molto elevato
DJI Osmo Nano: la piccola fotocamera alla prova sul campo
DJI Osmo Nano: la piccola fotocamera alla prova sul campo
La nuova fotocamera compatta DJI spicca per l'abbinamento ideale tra le dimensioni ridotte e la qualità d'immagine. Può essere installata in punti di ripresa difficilmente utilizzabili con le tipiche action camera, grazie ad una struttura modulare con modulo ripresa e base con schermo che possono essere scollegati tra di loro. Un prodotto ideale per chi fa riprese sportive, da avere sempre tra le mani
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 08-01-2005, 00:29   #1
pacovt87
Member
 
Iscritto dal: Dec 2004
Messaggi: 55
asm

Ciao a tutti! C'è qualcuno che potrebbe darmi una mano con asm??
pacovt87 è offline   Rispondi citando il messaggio o parte di esso
Old 08-01-2005, 12:01   #2
pacovt87
Member
 
Iscritto dal: Dec 2004
Messaggi: 55
non sapete se c'è qualcuno sul forum che conosce bene assembler?
pacovt87 è offline   Rispondi citando il messaggio o parte di esso
Old 08-01-2005, 12:25   #3
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Dipende da cosa ti serve....
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 08-01-2005, 13:24   #4
pacovt87
Member
 
Iscritto dal: Dec 2004
Messaggi: 55
sto studiando da una guida, ho provato a contattare l'autore per email ma non risponde. Ci so delle istruzioni che usa che non capisco, ho solo alcune domande, niente di che! Posso chiedere a te?
pacovt87 è offline   Rispondi citando il messaggio o parte di esso
Old 08-01-2005, 13:42   #5
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Chiedi
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 08-01-2005, 14:43   #6
pacovt87
Member
 
Iscritto dal: Dec 2004
Messaggi: 55
senti va bene se uso la posta? ti mando un email con un pezzo di codice e ti chiedo un paio di cose
pacovt87 è offline   Rispondi citando il messaggio o parte di esso
Old 08-01-2005, 15:53   #7
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Posta qui il codice...non sono ferratissimo sull'asm...anche se conosco abbastanza bene l'istruction set...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 08-01-2005, 16:44   #8
pacovt87
Member
 
Iscritto dal: Dec 2004
Messaggi: 55
è la gestione della tastiera direttamente da hardware.

InitKbrd:

; Come al solito salviamo i registri che verranno modificati

PUSH AX ; Memorizza AX nello stack
PUSH BX ; Memorizza BX nello stack
PUSH ES ; Memorizza ES nello stack

; Carica indirizzo nuovo handler

XOR AX,AX ; Azzera AX
MOV ES,AX ; Imposta segment = 0
MOV BX,CS ; Carica Segment nuova handler
MOV AX,OFFSET NewKbrd ; Carica offset nuova handler

; Memorizza nuovo indirizzo e preleva quello vecchio

CLI ; Disattiva gli interrupts mascherabili
XCHG AX,ES:[9*4] ; Scambia Offset
XCHG BX,ES:[9*4+2] ; Scambia Segment
STI ; Attiva gli interrupts mascherabili

; Memorizza vecchio indirizzo (ci servirà per ripristire il vecchio handler)

MOV TempKbrd,AX ; Memorizza Offset vecchio handler
MOV TempKbrd+2,BX ; Memorizza Segment vecchio handler

; Ripristina i registri salvati nello stack ed esce dalla procedura

POP ES ; Ripristina ES dallo stack
POP BX ; Ripristina BX dallo stack
POP AX ; Ripristina AX dallo stack
RET ; Fine procedura
Ciao! C'è un istruzione che non riesco a capire:
XCHG BX, ES:[9*4+2] ; SCAMBIA SEGMENT

Il segment non sarebbe semplicemente ES=0?
E comunque perchè [9*4+2]?
pacovt87 è offline   Rispondi citando il messaggio o parte di esso
Old 08-01-2005, 20:44   #9
repne scasb
Bannato
 
Iscritto dal: Feb 2003
Messaggi: 947

Ultima modifica di repne scasb : 03-02-2005 alle 13:34.
repne scasb è offline   Rispondi citando il messaggio o parte di esso
Old 08-01-2005, 23:16   #10
fantoibed
Senior Member
 
L'Avatar di fantoibed
 
Iscritto dal: May 2003
Città: Trieste, Pordenone
Messaggi: 920
(OT) Nel 2005 c'è ancora gente che programma software per dos in modalità reale?
fantoibed è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2005, 09:14   #11
repne scasb
Bannato
 
Iscritto dal: Feb 2003
Messaggi: 947

Ultima modifica di repne scasb : 03-02-2005 alle 13:34.
repne scasb è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2005, 11:43   #12
pacovt87
Member
 
Iscritto dal: Dec 2004
Messaggi: 55
grazie millem repne scasb. M'hai chiarito parecchie cose. Potrei contattarti per qualche altra cosetta? Cmq grazie ancora
pacovt87 è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2005, 13:58   #13
fantoibed
Senior Member
 
L'Avatar di fantoibed
 
Iscritto dal: May 2003
Città: Trieste, Pordenone
Messaggi: 920
Quote:
Originariamente inviato da repne scasb
Probabilmente, non si tratta di DOS. Se si fosse trattato di DOS, la routine "sarebbe" completamente errata, in quanto "si deve" utilizzare l'INT 21h Func. 25h per settare un vettore d'interrupt, e l'INT 21h Func. 35h per leggerlo.

Credo si tratti di un handler per la gestione della tastiera di una qualche macchina operatrice di tipo industriale. Considera, che "a mio personale giudizio (si tratta di una personale casistista su lavori da me fatti)" i software embedded per macchine industriali constano di:

30% - 80186 in modalita' reale.
30% - i80486 in SMM o reale.
40% - Altre tipologie di CPU/modelli di accesso-indirizzamento.

Tutto cio' nel 2005; e non c'e' ragione che tutto cio' non perduri per i prossimi anni.
Hai ragione, non avevo pensato ai plc.
fantoibed è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2005, 16:37   #14
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
ma i plc non vengono programmati in ladder?
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2005, 20:02   #15
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8895
Quote:
Originariamente inviato da repne scasb
Si tratta di un interrupt handler in modalita' reale.

Nel primi 1024 bytes a partire da 0000:0000 in modalita' reale sono stoccati 256 interrupt; per ogni interrupt si hanno 2 byte per l'offset e 2 byte per il segmento.

L'interrupt 9h viene richiamato ogni volta che si preme un tasto (in AX e' leggiibile lo scan-code), quindi per catturare l'INT 9h, questa routine sostituisce l'offset e il segmento originario con uno "specifico", modificanto le locazioni di memoria 0000: (9*4) e 0000: (9*4+2) (offset:segment).

Questa routine presenta alcune illegalita' ed e' in sostanza migliorabile:

1) Manca il LOCK tra i due XCHG. Se si prensentasse un INT 9h tra il primo e il secondo XCHG si otterrebbe un INT 9h incoerente.
2) L'INT 9h e' un NMI e non puo' essere disattivato tramite CLI, ma tramimte l'opportuna riprogrammazione del PIC.
3) Se si vogliono fare le cose per bene, si deve rimappare l'INT 1h hardware a monte dell'INT 9h software, chiamare l'INT software rimappato che chiamera l'INT 9h.
ma quante ne sai?

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2005, 23:50   #16
repne scasb
Bannato
 
Iscritto dal: Feb 2003
Messaggi: 947

Ultima modifica di repne scasb : 03-02-2005 alle 13:33.
repne scasb è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2005, 14:36   #17
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
si anke x il ladder infatti usavo il simulatore sul pc e poi si trasferiva il tutto al plc.
L'sfc se non sbaglio era un linguaggio + ad alto livello però ke doveva essere convertito in ladder x essere utilizzato (potrei anke sbagliarmi xkè ora come ora non ricordo se era SFC o qualke altra cosa....)

Cmq il ladder era simpatico
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2005, 20:55   #18
pacovt87
Member
 
Iscritto dal: Dec 2004
Messaggi: 55
domanda da ignorantone: quali sono gli interrupt mascherabili?
pacovt87 è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2005, 21:56   #19
repne scasb
Bannato
 
Iscritto dal: Feb 2003
Messaggi: 947

Ultima modifica di repne scasb : 03-02-2005 alle 13:30.
repne scasb è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2005, 23:48   #20
pacovt87
Member
 
Iscritto dal: Dec 2004
Messaggi: 55
visto che dai certe risposte io approfitto, almeno imparo qualcosa in più

questo è il continuo del codice (quello sopra):

NewKbrd:

; Salviamo i registri e carichiamo l'indirizzo del Buffer

PUSH AX ; Memorizza AX nello stack
PUSH BX ; Memorizza BX nello stack
PUSH DS ; Memorizza DS nello stack
PUSH CS ; Memorizza CS nello stack
XOR AX,AX ; Azzera AX
POP DS ; Imposta segment del Buffer
MOV BX,OFFSET Buffer ; Indirizzo dati tasti

; Leggiamo il valore inviato dalla tastiera (Porta 60H) - Se >= 128 -> tasto rilasciato

IN AL,60H ; Legge dato dalla porta della tastiera
OR AL,AL ; Controlla se >= 128
JS @N1 ; Se si salta

; Impostiamo lo stato del tasto a 1 (Tasto premuto)

ADD BX,AX ; Somma indice
MOV ScanCode,AL ; Tasto premuto
MOV BYTE PTR [BX],1 ; Attiva tasto
JMP @N2 ; Salta

; Queste istruzioni invece servono quando il tasto viene rilasciato

@N1: AND AL,07FH ; Maschera tasto
ADD BX,AX ; Somma indice
MOV ScanCode,0 ; Tasto rilasciato
MOV BYTE PTR [BX],0 ; Disattiva tasto

; A questo punto bisogna disattivare la richiesta di interrupt
; (non ci interessa avere copie multiple dello stesso tasto)

@N2: IN AL,61H ; Legge dato dalla porta 61H
OR AL,80H ; Attiva bit 7
OUT 61H,AL ; Invia il nuovo dato

; Infine bisogna avvertire il processore che può interessarsi degli
; altri interrupts eventualmente presenti

MOV AL,20H ; Carica valore
OUT 20H,AL ; Invia dato

; Ripristiniamo i registri salvati nello stack

POP DS ; Ripristina DS dallo stack
POP BX ; Ripristina BX dallo stack
POP AX ; Ripristina AX dallo stack

; Usciamo dalla procedura di interrupt (Occhio! IRET e non RET)

IRET ; Fine procedura di interrupt



1) i valori da 128 a 255 rappresentano i valori dei tasti quando sono rilasciati?

2)E' troppo se ti chiedo spiegazioni su queste righe? (poi prometto che per un pò non rompo i coglioni )


; A questo punto bisogna disattivare la richiesta di interrupt
; (non ci interessa avere copie multiple dello stesso tasto)

@N2: IN AL,61H ; Legge dato dalla porta 61H
OR AL,80H ; Attiva bit 7
OUT 61H,AL ; Invia il nuovo dato

; Infine bisogna avvertire il processore che può interessarsi degli
; altri interrupts eventualmente presenti

MOV AL,20H ; Carica valore
OUT 20H,AL ; Invia dato


Grazie di tutto
pacovt87 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh OPPO Find X9 Pro: il camera phone con teleobiett...
DJI Romo, il robot aspirapolvere tutto trasparente DJI Romo, il robot aspirapolvere tutto trasparen...
DJI Osmo Nano: la piccola fotocamera alla prova sul campo DJI Osmo Nano: la piccola fotocamera alla prova ...
FUJIFILM X-T30 III, la nuova mirrorless compatta FUJIFILM X-T30 III, la nuova mirrorless compatta
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati Oracle AI World 2025: l'IA cambia tutto, a parti...
Jensen Huang ha mostrato per la prima vo...
Addio vecchia OpenAI: ora punta al profi...
Dallo spazioporto di Jiuquan decollerann...
Il Giappone un passo più vicino a...
Gli interferometri LIGO, Virgo e KAGRA h...
Kia PV5: è record di autonomia! I...
L'aeroplano supersonico ''silenzioso'' N...
Nissan: le batterie allo stato solido co...
NVIDIA cambia strategia? La GPU Feynman ...
Signal respinge le accuse dopo il down A...
Uragano Melissa in arrivo: la tempesta d...
8K o 4K? Ecco perché il tuo occhi...
Mercato auto europeo in crescita nei pri...
Addio SSD e RAM, benvenuti funghi: dagli...
TCL Q6C: tecnologia e design per un TV c...
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: 06:24.


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