Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- mov X_0, 300 ; координаты центра круга
- mov Y_0, 100
- mov R, 35 ; радиус круга
- call ROUND ; рисуем круг
- ROUND proc
- ; ============
- mov X, 0 ; начальное значение Х
- mov ax, R
- mov Y, ax ; начальное значение У
- shl ax, 1
- mov dx, 3
- sub dx, ax ; вычислено начальное значение управляющей переменной d0 = 3-2*R
- L: cmp dx, 0 ; сравниваем d с нулем
- jl S ; если меньше нуля, то это точка S
- mov ax, X ; Точка T. Вычисляем новое d
- sub ax, Y ; как X-Y
- shl ax, 2 ; умноженное на 4
- add ax, 10 ; плюс 10
- add dx,ax ; плюс старое значение d
- dec Y ; Уменьшаем Y
- jmp DISP
- S: mov ax, X ; Точка S. Вычисляем новое D как Х
- shl ax, 2 ; умноженное на 4
- add ax, 6 ; плюс 6
- add dx, AX ; плюс старое значение d
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement