Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto
be quiet! debutta nel settore mouse da gaming con Dark Perk Ergo e Dark Perk Sym: due modelli gemelli per specifiche, con polling rate di 8.000 Hz anche in wireless, sensore PixArt PAW3950 da 32.000 DPI e autonomia dichiarata fino a 110 ore. Nel test, a 8.000 Hz si arriva a circa 30 ore reali, con ricarica completa in un'ora e mezza
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker
Analizziamo nel dettaglio DJI RS 5, l'ultimo arrivato della famiglia Ronin progettato per videomaker solisti e piccoli studi. Tra tracciamento intelligente migliorato e ricarica ultra rapida, scopriamo come questo gimbal eleva la qualità delle produzioni.
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming
AMD Ryzen 7 9850X3D è la nuova CPU gaming di riferimento grazie alla 3D V-Cache di seconda generazione e frequenze fino a 5,6 GHz. Nei test offre prestazioni superiori a 9800X3D e 7800X3D, confermando la leadership AMD nel gaming su PC.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 24-12-2007, 15:27   #1
xblitz
Senior Member
 
L'Avatar di xblitz
 
Iscritto dal: Mar 2007
Messaggi: 384
[Assembler] controindicazioni istruzione DIV su 16 bit?

Salve a tutti
stò creando un programma assembler che dato in input un numero n stampi a video l'ennesimo numero della sequenza di Fibonacci, il mio problema è nella stampa a video del numero:

in pratica per far stampare la cifra opero una divisone per 10000, poi 1000, 100 e 10, infine stampo le unità... il mio problema arriva nella stampa delle migliaria: quando vado a fare la seconda divisione (quella delle migliaia) ottengo dei valori "corrotti".

Mi sono fatto un'idea: mi sono accorte che un flag (per esattezza il flag P) passa da 0 a 1, potrebbe essere lui il responsabile?

uso il turbo debugger assembler 8086

posto il pezzo di codice incriminato:

Codice:
scambia macro
	mov BX,DX
	mov DX,AX
	mov AX,BX
endm

stampa proc
	;salvo i registri che verranno modificati
        push AX
	push BX
	push CX
	push DX		
				
	mov AX,BX   ;sposto il dividento (che è SEMPRE AX)
				
	;decine di migliaia				
	mov BX,10000d	;sposto il divisore in BX
	div BX		;così sono sicuro di avere una divisione su          
                            registri a 16bit quoziente in AX resto in  
                            DX 
	scambia		;la cifra da stampare è in AX, quindi la 
                             metto in DX
	add DL,48d	;recupero lo sfalsamento cifra carattere
	push AX		;AX viene modificato -> devo salvarlo
	mov AH,2       ;carico il servizio di input				
        int 21h		 ;il contenuto che legge va in AL
	pop AX		;ripristino AX
				
	;migliaia				
	mov BX,1000d	;sposto il divisore in BX
	div BX		;così sono sicuro di avere una divisione su 
                            registri a 16bit quoziente in AX resto in 
                            DX 
	scambia		;la cifra da stampare è in AX, quindi la 
                            metto in DX
	add DL,48d	;recupero lo sfalsamento cifra carattere		
        push AX		;AX viene modificato -> devo salvarlo
	mov ah,2	;carico il servizio di input
	int 21h		;il contenuto che legge va in AL
	pop AX		;ripristino AX

        .....
Grazie in anticipo....
Ciao!

Ultima modifica di xblitz : 24-12-2007 alle 15:31.
xblitz è offline   Rispondi citando il messaggio o parte di esso
Old 24-12-2007, 16:41   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da xblitz Guarda i messaggi
quando vado a fare la seconda divisione (quella delle migliaia) ottengo dei valori "corrotti".
Occhio che quando fai DIV BX stai facendo una divisione 32 bit diviso 16 bit cioè:

DX:AX diviso BX

e in AX ottieni il quoziente e in DX ottieni il resto.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 24-12-2007, 16:44   #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
Giusto, quindi devi azzerare DX prima di fare la divisione
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 24-12-2007, 20:33   #4
xblitz
Senior Member
 
L'Avatar di xblitz
 
Iscritto dal: Mar 2007
Messaggi: 384

GRAZIE a tutti e 2... (se solo avessi letto gli appunti del prof con più attenzione ) ma scusate quei ":" in pratica vogliono dire "concatenazione"giusto? così mi pare di aver capito dagli appunti
xblitz è offline   Rispondi citando il messaggio o parte di esso
Old 24-12-2007, 23:56   #5
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da xblitz Guarda i messaggi
(se solo avessi letto gli appunti del prof con più attenzione )
Basta leggere la documentazione ufficiale Intel, che è sicuramente più completa e valida degli appunti del tuo prof.

Quote:
Originariamente inviato da xblitz Guarda i messaggi
ma scusate quei ":" in pratica vogliono dire "concatenazione"giusto? così mi pare di aver capito dagli appunti
Sì, esatto. Vale anche nel caso di segmento/offset, es. DS:98AFH o CS:EIP.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto Dark Perk Ergo e Sym provati tra wireless, softw...
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker DJI RS 5: stabilizzazione e tracking intelligent...
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequen...
Le soluzioni FSP per il 2026: potenza e IA al centro Le soluzioni FSP per il 2026: potenza e IA al ce...
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa AWS annuncia European Sovereign Cloud, il cloud ...
Xiaomi SU7 Pro: l'ispezione dopo 265.000...
Nimbus Innovation Awards 2026: le miglio...
SSD Samsung contraffatto, ma Windows e C...
Enrique Lores, CEO e presidente di HP, l...
SoftBank e Intel preparano la 'memoria d...
Il blocco dei porno per i minori è...
AMD: i nuovi processori Zen 6 saranno (i...
Ancora aumenti per le schede video Radeo...
Sonos presenta Amp Multi a ISE 2026: il ...
Una funzione esclusiva dei Pixel potrebb...
La Cina vieta ufficialmente le maniglie ...
HP e lavoro ibrido: le nuove cuffie Poly...
MSI sta lavorando a un dissipatore ottim...
27 offerte Amazon, le prime 5 in elenco ...
Il telescopio spaziale James Webb ha cre...
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: 18:23.


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