Minsky circle



Весь день посвящен кодингу. Для первой части понадобилось рисование кругов. вышло 62 байта, и это только пошло на пользу:

org 100h;Flat Assembler
use16
mov al,13h
int 10h
push 0A000h
pop es
;circle
;  a.w=256
;  c.w=32768/4;Y
;  s.w=0;X
mov dx,50*256;c
xor bx,bx ;s
mov cx,256*4
ilp:
;  For i=0 To 256*8;8000
;    Box(s/128+127,c/128+63,1,1,$FFFFFF)
mov ah,dh
add ah,100 ;Y0
xor al,al
mov di,ax
shr ax,2
add di,ax
mov ax,bx
sar ax,8
add di,ax ;?
add di,160
mov byte [es:di],15
;    c=c-Int(s/a)
mov ax,bx
sar ax,8
sub dx,ax
;    s=s+Int(c/a)
mov ax,dx
sar ax,8
add bx,ax
;  Next i
loop ilp
ret




Комментарии