Ciao a tutti, chiedo scusa se ho già pubblicato questo 3D in precedenza, ma non riesco più a trovarlo, nemmeno col motore di ricerca...
Vorrei che qualcuno mi scrivesse una procedura per creare e gestire arrays o robe simili permettendo di porre al suo interno dei limiti...
Mi spiego meglio: ecco quello che ho ideato io:
_code segment para public 'code'
org 100h
inizio:jmp main
seek_var proc near
xor ax,ax
mov al,dh
add al,[xR0]
mov bl,[YN]
mul bl
add al,[yR0]
xor dh,dh
add ax,dx
mov bx,si
add bx,ax
mov si,bx
ret
seek_var endp
main:
mov ah,00
mov al,03
int 10h
mov byte ptr [xR0],5
mov byte ptr [yR0],5
mov byte ptr [xRN],15
mov byte ptr [yRN],15
mov cx,1900
mov al,32
mov si, offset buffer
ciclo:
push cx
mov [si],al
inc si
inc al
cmp al,127
jb ok
mov al,32
ok:
pop cx
loop ciclo
mov si, offset buffer
mov ah,00
int 16h
dec al,30h
mov dh,al
mov ah,00
int 16h
dec al,30h
mov dl,al
push dx
call seek_var
pop dx
add dh,[xR0]
add dl,[yR0]
mov bh,00
mov ah,02
int 10h
mov al,[si]
mov cx,0001
mov bh,00
mov bl,04eh
mov ah,09
int 10h
mov ah,00
int 16h
mov ah,4ch
int 21h
xR0 db 00
xRN db 00
yR0 db 00
yRN db 00
X0 db 00
XN db 24
Y0 db 00
YN db 79
buffer db 2000 dup(?)
_code ends
Questo funziona alla perfezione... (salvo un difettuccio che provvederò a eliminare...ma di mior entità...)
Ovviamente la parte MAIN è a solo scopo di test, ....
Vorrei sapere se esiste una codice più ottimizzato o più semplice,.....
Ciao a tutti e grazie