Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Nuova frontiera per i robot tagliaerba, con Ecovacs GOAT O1200 LiDAR Pro che riconosce l'ambiente in maniera perfetta, grazie a due sensori LiDAR, e dopo la falciatura può anche rifinire il bordo con il tagliabordi a filo integrato
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Equilibrio e potenza definiscono il Samsung Galaxy S26+, un flagship che sfida la variante Ultra e la fascia alta del mercato con il primo processore mobile a 2nm. Pur mantenendo l'hardware fotografico precedente, lo smartphone brilla per un display QHD+ da 6,7 pollici d'eccellenza, privo però del trattamento antiriflesso dell'Ultra, e per prestazioni molto elevate. Completano il quadro la ricarica wireless a 20W e, soprattutto, un supporto software settennale
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr sbarca ufficialmente in Italia con tre modelli elettrici premium, X, 7X e 001, distribuiti da Jameel Motors su una rete di 52 punti vendita già attivi. La Zeekr X parte da 39.900 euro, la 7X da 54.100: piattaforma a 800V, chip Snapdragon di ultima generazione, ricarica ultraveloce e un'autonomia dichiarata fino a 615 km WLTP. Le prime consegne sono previste a metà aprile
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 21-08-2009, 15:19   #1
<^MORFEO^>
Senior Member
 
L'Avatar di <^MORFEO^>
 
Iscritto dal: Apr 2006
Città: Trieste
Messaggi: 3494
[ASSEMBLER] Aiuto, non capisco alcune linee di codice...

Salve a tutti!

E' ormai da qualche settimana che bazzico con ASSEMBLER (classico x86) e vi sarei riconoscente se qualcuno mi aiutasse a capire che cosa fa in pratica una ben determinata porzine di codice in grassetto del seguente programma:

(Questo non è altro che un giochino che fa rimbalzare una pallina per lo schermo in modalità testo 80x25)

------------------------------------------------------------------------

.model small
.stack
.data
.code

inizio:

; imposto la modalità grafica 80x25
mov ah, 00h
mov al, 03h
int 10h

; Vengono usati 2 flag (ch e cl) che possono avere valore 0 o 1
; il valore di questi due viene impostato a seconda del valore attuale del cursore
; i flag servono a stabilire se sul contatore di riga o colonna va fatta un operazione di incremento o decremento
; Valori dei flag:
; CH = 0: decremento delle colonne
; CH = 1: incremento delle colonne
; CL = 0: decremento delle righe
; CL = 1: incremento delle righe

mov ax, 0B800h ; imposto il segmento extra per la memoria video (il primo carattere in alto a dx è contenuto in quseto indirizzo in ram video)
mov es, ax

; BX: punto di partenza
mov bh, 0 ; BH: colonne
mov bl, 0 ; BL: righe
; DX: carattere da stampare e attributo
mov dh, '8' ; codice ascii del carattere riprodotto
mov dl, 0Eh ; attributo del carattere

; inizialmente imposto i flag a 1 poiche incremento tutti i contatori
mov ch, 1 ; comincio il moto verso il basso e verso sinistra
mov cl, 1

ciclo1:
mov ah, es:[si]
mov al, es:[si+1]
mov bp, ax

mov di, bx
mov al, 80
mov ah, 0
mul bl
xchg bh, bl
mov bh, 0
add ax, bx
mov bx, si
mov bl, 2
mov bh, 0
mov si, dx
mul bx
mov dx, si
mov si, ax
mov es:[si], dh
mov es:[si+1], dl
mov bx, di
call sleep


; setto i flag (CX)
cmp bl, 24
jne pRig2
mov cl, 0
jmp pCol1

pRig2:
cmp bl, 0
jne pCol1
mov cl, 1

pCol1:
cmp bh, 79
jne pCol2
mov ch, 0
jmp continua

pCol2:
cmp bh, 0
jne continua
mov ch, 1

continua:
cmp ch, 0
jne v2
; decrementa colonne
dec bh
jmp colonne
v2:
; incrementa colonne
inc bh

colonne:
cmp cl, 0
jne v3
; decrementa righe
dec bl
jmp salta

v3:
; decrementa righe
inc bl
jmp salta

salta:
mov ax, bp
mov es:[si], ah
mov es:[si+1], al
jmp ciclo1

mov ah, 4Ch
int 21h

; sleep: effettua 10^8 push (15 ck) e pop (15 ck)
sleep PROC
push cx
mov cx, 10000
cicloSleep:
push cx
mov cx, 10000
ciclo2:
loop ciclo2
pop cx
loop cicloSleep
pop cx
ret
sleep ENDP

END inizio

------------------------------------------------------------------------

Che cosa faccia ogni singola riga la capisco, ma non capisco nel complesso a che cosa serva quella porzione di codice...

Grazie mille!
__________________
ASUS PB278Q - Corsair Carbide 500R Black - Thermaltake ToughPower 750W - Intel i7-4790 (Cooled by Corsair Liquid H80i) - ASRock Z97 Extreme 4 - MSI GTX 950 Gaming 2G - 16GB Corsair Vengeance Pro 1600MHz - Samsung SSD 840 Pro 256GB

Ultima modifica di <^MORFEO^> : 22-08-2009 alle 09:27.
<^MORFEO^> è offline   Rispondi citando il messaggio o parte di esso
Old 22-08-2009, 09:27   #2
<^MORFEO^>
Senior Member
 
L'Avatar di <^MORFEO^>
 
Iscritto dal: Apr 2006
Città: Trieste
Messaggi: 3494
^UP
__________________
ASUS PB278Q - Corsair Carbide 500R Black - Thermaltake ToughPower 750W - Intel i7-4790 (Cooled by Corsair Liquid H80i) - ASRock Z97 Extreme 4 - MSI GTX 950 Gaming 2G - 16GB Corsair Vengeance Pro 1600MHz - Samsung SSD 840 Pro 256GB
<^MORFEO^> è offline   Rispondi citando il messaggio o parte di esso
Old 24-08-2009, 08:46   #3
<^MORFEO^>
Senior Member
 
L'Avatar di <^MORFEO^>
 
Iscritto dal: Apr 2006
Città: Trieste
Messaggi: 3494
^UP
__________________
ASUS PB278Q - Corsair Carbide 500R Black - Thermaltake ToughPower 750W - Intel i7-4790 (Cooled by Corsair Liquid H80i) - ASRock Z97 Extreme 4 - MSI GTX 950 Gaming 2G - 16GB Corsair Vengeance Pro 1600MHz - Samsung SSD 840 Pro 256GB
<^MORFEO^> è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere? Recensione Samsung Galaxy S26+: sfida l'Ultra, m...
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti Zeekr X e 7X provate: prezzi, autonomia fino a 6...
Marathon: arriva il Fortnite hardcore Marathon: arriva il Fortnite hardcore
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare HP Imagine 2026: abbiamo visto HP IQ all’opera, ...
Le 10 migliori offerte Amazon di Pasqua:...
Nuove fotografie dagli astronauti di Art...
La toilette della capsula Orion Integrit...
GeForce NOW: ecco tutte le novità in arr...
Il Realme 16 5G debutta sul mercato glob...
HONOR svela tre nuovi tablet: il più int...
Tineco Floor One S9 Master: aspira e pul...
Vivo X300 Ultra, il lancio globale è ini...
Offerte robot aspirapolvere Amazon: ECOV...
L'AI genera codice in 8 minuti e i senio...
Ring Intercom Audio a 44,99€ su Amazon: ...
Apple iPhone 16 crolla a 689€: ecco perc...
Google Pixel 9 a 449,90€ con caricatore ...
Ecco la top 7 delle offerte Amazon, aggi...
Ex ingegnere ammette il sabotaggio: migl...
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