|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Nov 2001
Città: carpi - mo
Messaggi: 801
|
aiuto per assembler 2
Ciao, devo costruire in assembler la seguente operazione che serve per passare dalle coordinate cartesiane a cui si trova il cursore all'offset a cui scrivere un carattere:
bx = (y*80+x)*2 Io ho risolto in questo modo: xor ax,ax mov al,80 ;preparo al per la mul mul dh ;ax=al*dh --> y*80 xor dh,dh ;azzero dh,l'ho già utilizzato add ax,dx ;ax=ax+dx (è solo dl) --> (y*80)+x mov bx,ax ;sposto ax in bx mov al,2 ;preparo al per la mul mul bx ;ax=al*bx --> ((y*80)+x)*2 mov bx,ax ;copio ax in bx, dovrei avere l'offset E' corretto? Grazie e ciao
__________________
www.listafun.it |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Ad occhio dovrebbe andare bene...
((Y * 80) + X) * 2 |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Nov 2001
Città: carpi - mo
Messaggi: 801
|
Grazie,non capisco però perchè non va,o meglio,funziona in modo strano.Infatti se uso una funzione del bios tutto il programma va,invece quando traduco le coordinate con questa operazione ad un certo punto impazzisce...
Mah???
__________________
www.listafun.it |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:47.