^C12SetPoint proc imul di,bx,80 ; Adresse berechnen: 80 * YPos nach DI, mov bx,ax ; XPos nach BX kopieren, shr bx,3 ; Int (XPos / 8) nach BX, add di,bx ; Werte addieren, Ergebnis steht in DI. and ax,7 ; Bitposition berechnen: XPos mod 8 nach AX, xor ax,15 ; 15 subtrahieren (nicht 7, da die zu ; berechnende Bitmaske im AH Register ; gespeichert wird), Ergebnis steht in ; AL. movzx bx,al ; Bitmaske berechenen, xor ax,ax ; die in das Bit-Mask-Register bts ax,bx ; geschrieben wird, Ergebnis steht in ; AH. mov dx,03ceh ; Bitmaske in mov al,8 ; Bit-Mask-Register out dx,ax ; speichern. mov ax,0003h ; Replace-Mode in Select- out dx,ax ; Register speichern. mov ax,0205h ; Read-Modus 0 und Write-Modus 2 out dx,ax ; in Mode-Register speichern. mov al,screen:[di] ; Latch-Register mit altem Wert laden. mov screen:[di],cl ; Neuen Wert speichern. ret ; Rcksprung. SetPoint endp