Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
MSI FORGE GK600 TKL WIRELESS: switch lineari hot-swap, tripla connettività, display LCD e 5 strati di fonoassorbimento. Ottima in gaming, a 79,99 euro
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI porta un importante aggiornamento alla sua linea di gimbal camera tascabili con Osmo Pocket 4: sensore CMOS da 1 pollice rinnovato, gamma dinamica a 14 stop, profilo colore D-Log a 10 bit, slow motion a 4K/240fps e 107 GB di archiviazione integrata. Un prodotto pensato per i creator avanzati, ma che convince anche per l'uso quotidiano
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Il primo headset open-back della linea INZONE arriva a 200 euro con driver derivati dalle cuffie da studio MDR-MV1 e un peso record di soli 199 grammi
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 27-06-2003, 16:53   #1
Bubble
Senior Member
 
Iscritto dal: Dec 2000
Messaggi: 329
Assembly <- DLX

Ciao ,
Sto studiando l'assembly con windlx e ho trovato un esempio dove non capisco il perchè di tre righe di comando ........ qualcuno mi potrebbe spiegare a che servono :
;*********** WINDLX Ex.1: Read a positive integer number *************
;*********** (c) 1991 Günther Raidl *************
;*********** Modified 1992 Maziar Khosravipour *************

;-----------------------------------------------------------------------------
;Subprogram call by symbol "InputUnsigned"
;expect the address of a zero-terminated prompt string in R1
;returns the read value in R1
;changes the contents of registers R1,R13,R14
;-----------------------------------------------------------------------------

.data

;*** Data for Read-Trap
ReadBuffer: .space 80
ReadPar: .word 0,ReadBuffer,80

;*** Data for Printf-Trap
PrintfPar: .space 4

SaveR2: .space 4
SaveR3: .space 4
SaveR4: .space 4
SaveR5: .space 4


.text

.global InputUnsigned
InputUnsigned:
;*** save register contents
sw SaveR2,r2
sw SaveR3,r3
sw SaveR4,r4
sw SaveR5,r5

;*** Prompt
sw PrintfPar,r1
addi r14,r0,PrintfPar
trap 5

;*** call Trap-3 to read line
addi r14,r0,ReadPar
trap 3

;*** determine value
addi r2,r0,ReadBuffer
addi r1,r0,0
addi r4,r0,10 ;Decimal system

Loop: ;*** reads digits to end of line
lbu r3,0(r2)
seqi r5,r3,10 ;LF -&gt; Exit
bnez r5,Finish
subi r3,r3,48 ;´0´
multu r1,r1,r4 ;Shift decimal
add r1,r1,r3

addi r2,r2,1 ;increment pointer
j Loop

Finish: ;*** restore old register contents
lw r2,SaveR2
lw r3,SaveR3
lw r4,SaveR4
lw r5,SaveR5
jr r31 ; Return


le tre righe sono quelle in rosso.
Il programma deve acquisire da tastiera e cercare il carattere ascii 10 (NL line feed, new line).
Bubble è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2003, 17:10   #2
maxithron
Senior Member
 
L'Avatar di maxithron
 
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
Sintassi: ADD dest,src
ADD dest,imm

Flags modificati: CF, OF, PF, SF, ZF, AF

esegue la somma tra due operandi, salvando il risultato in un 'dest'.

Sintassi: SUB dest,src
SUB dest,imm

Flags modificati: CF, OF, PF, SF, ZF, AF

esegue la differenza tra due operandi, salvando il risultato in un 'dest'.

Sintassi: MUL src

Flags modificati: CF, OF (PF, SF, ZF, AF non definiti)

L'istruzione MUL esegue la moltiplicazione senza segno tra il registro accumulatore (AL a 8 bit, AX a 16 bit, EAX a 32 bit) e il registro src. Se src è un registro a 16 bit il risultato viene salvato in DX:AX; se src è a 32 bit il risultato va in EDX:EAX.
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n;
Utilizzando atomi trivalenti drogheremo il silicio di tipo p;
Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo
maxithron è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2003, 17:21   #3
Bubble
Senior Member
 
Iscritto dal: Dec 2000
Messaggi: 329
Problemino

Grazie per la risposta,
però c'è un problemino , io conosco come assembly solo il dlx e nemmeno bene visto che ho cominciato a studiarlo l'altro ieri .
Cmq le operazioni svolte ho capito che sono una sottrazione immediata, una moltiplicazione senza segno e un addizione, il mio problema è:
perchè bisogna farli???
o meglio a che cosa servono ai fini del programma?
Bubble è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2003, 17:26   #4
maxithron
Senior Member
 
L'Avatar di maxithron
 
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
Re: Assembly <- DLX

Quote:
Originally posted by "Bubble"

Ciao ,

;Subprogram call by symbol "InputUnsigned"
;expect the address of a zero-terminated prompt string in R1
;returns the read value in R1
;changes the contents of registers R1,R13,R14
Se l'hai scritto correttamente servono a darti proprio ciò che è scritto nella descrizione iniziale.
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n;
Utilizzando atomi trivalenti drogheremo il silicio di tipo p;
Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo
maxithron è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2003, 17:33   #5
Bubble
Senior Member
 
Iscritto dal: Dec 2000
Messaggi: 329
Ti ringrazio maxithron
Bubble è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2003, 17:43   #6
maxithron
Senior Member
 
L'Avatar di maxithron
 
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
Quote:
Originally posted by "Bubble"

Ti ringrazio maxithron
E di che?
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n;
Utilizzando atomi trivalenti drogheremo il silicio di tipo p;
Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo
maxithron è offline   Rispondi citando il messaggio o parte di esso
Old 19-09-2003, 13:08   #7
maxithron
Senior Member
 
L'Avatar di maxithron
 
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
ma che fine hai fatto poi?
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n;
Utilizzando atomi trivalenti drogheremo il silicio di tipo p;
Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo
maxithron è offline   Rispondi citando il messaggio o parte di esso
Old 19-09-2003, 16:45   #8
Bubble
Senior Member
 
Iscritto dal: Dec 2000
Messaggi: 329
Quote:
Originariamente inviato da maxithron
ma che fine hai fatto poi?

Io sono sempre qui !!!

Comunque alla fine l'ho imparato (anche se per fare un programmino che con il C forse avrei usato due o tre righe di comando ci sono stato 4 giorni ), ho fatto l'esame e nella parte riguardante l'assembly ho preso il max......


comunque grazie per l'aiuto che mi avevi dato!!!
Bubble è offline   Rispondi citando il messaggio o parte di esso
Old 19-09-2003, 17:03   #9
maxithron
Senior Member
 
L'Avatar di maxithron
 
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
E di che?
Stavo scavando un pò tra i vecchi post quando ho ritrovato appunto questo 3D!!

A presto

__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n;
Utilizzando atomi trivalenti drogheremo il silicio di tipo p;
Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo
maxithron è offline   Rispondi citando il messaggio o parte di esso
Old 29-06-2006, 12:22   #10
exetera
Junior Member
 
Iscritto dal: Jun 2006
Messaggi: 10
Avevo postato una domanda alla quale ho trovato risposta.Grazie lo stesso

Ultima modifica di exetera : 29-06-2006 alle 12:39. Motivo: RISOLTO!
exetera è offline   Rispondi citando il messaggio o parte di esso
Old 05-07-2007, 17:59   #11
ozmosis
 
Messaggi: n/a
Salve ragazzi, finalmente ho trovato qualcuno che usa il DLX.
Non capisco come far funzionare questo simulatore.
Il codice per esempio che ha scritto Bubble, lo capisco, ma come si manda in esecuzione in WinDLX?
Cioè ho mandato in esecuzione questo programma e mi appare la schermata di input, con sfondo bianco, che dovrei scrivere li dentro per esempio?
Riferendomi a questo programma di Bubble.
Vi ringrazio in anticipo per la risposta!
  Rispondi citando il messaggio o parte di esso
Old 18-01-2013, 00:50   #12
Stark85
Junior Member
 
Iscritto dal: Jan 2013
Messaggi: 1
Pure io, finalmente, ho trovato qualcuno che usa il DLX !!!

Potreste aiutarmi a capire qual'è l'operazione svolta da questa sequenza ?

ADDI R1, R0, 800H
LOOP: SUBI R1, R1, 2
LHU R2, A(R1)
LHU R3, B(R2)
LHU R2, C(R3)
SH A(R1), R2
BNEZ R1, LOOP
Stark85 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless Tastiera gaming MSI GK600 TKL: switch hot-swap, ...
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici DJI Osmo Pocket 4: la gimbal camera tascabile cr...
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori Sony INZONE H6 Air: il primo headset open-back d...
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA Nutanix cambia pelle: dall’iperconvergenza alla ...
Recensione Xiaomi Pad 8 Pro: potenza bruta e HyperOS 3 per sfidare la fascia alta Recensione Xiaomi Pad 8 Pro: potenza bruta e Hyp...
Annunciata la tuta di volo di Vast che s...
Vast presenta il nuovo Large Docking Ada...
Una denuncia getta ombre sulle batterie ...
DJI Avata 2 Fly Smart Combo a 526€: il d...
Alla guida della nuova auto elettrica ci...
GeForce RTX 3060 12 GB a giugno di nuovo...
Apple Music sarà sponsor ufficiale di Po...
The Mandalorian & Grogu: trailer fin...
Fedeltà record: Apple blinda gli utenti,...
Volkswagen ID.3 Neo: fino a 630 km di au...
GPU-Z mette i dati personali a rischio? ...
La PS6 potrebbe essere retrocompatibile ...
Amazfit Cheetah 2 Pro arriva in Italia: ...
Duolingo ammette l'errore dopo un anno: ...
Samsung Galaxy Tab S10 Lite a 249€: il t...
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:31.


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