; ***********************************
; * *
; * A program that will draw a 3D'ish *
; * shape *
; * *
; ***********************************
jmp start ;start command
;================================================
mode db 18 ;Resolution/Graphical mode
colour db 1 ;1 = Blue
a_x dw 100 ;Point a x coord
a_y dw 100 ;Point a y coord
b_x dw 100
b_y dw 300
c_x dw 180
c_y dw 380
d_x dw 250
d_y dw 25
e_x dw 332
e_y dw 300
;================================================
start:
mov ah,00
mov al,mode ;set graphic mode
int 10h ;enter graphic mode
mov ah,0Ch ;set write dot mode
mov al,colour ;set the colour
mov cx,a_x ;set point a
mov dx,a_y
draw_a_b: ;draw line ab
int 10h
inc dx
cmp dx,b_y
jnz draw_a_b
prep_b_c: ;setup line bc
mov cx,b_x
mov dx,b_y
draw_b_c: ;draw line bc
int 10h
inc cx
inc dx
cmp cx,c_x
jnz draw_b_c
cmp dx,c_y
jnz draw_b_c
prep_c_a: ;setup line ca
mov cx,c_x
mov dx,c_y
draw_c_a: ;draw line ca
int 10h
sub dx,7
sub cx,2
cmp dx,a_y
jnz draw_c_a
cmp cx,a_x
jnz draw_c_a
prep_a_d: ;setup line ad
mov cx,a_x
mov dx,a_y
draw_a_d: ;draw line ad
int 10h
add cx,2
sub dx,1
cmp cx,d_x
jnz draw_a_d
prep_c_e: ;setup line de
mov cx,c_x
mov dx,c_y
draw_c_e: ;draw line ce
int 10h
add cx,2
sub dx,1
cmp cx,e_x
jnz draw_c_e
prep_d_e: ;setup line dw
mov cx,d_x
mov dx,d_y
draw_d_e:
int 10h
add dx,7
add cx,2
cmp cx,e_x
jnz draw_d_e
GetKey:
mov ah,00
int 16h
end:
mov ah,00
mov al,03
int 10h
mov ah,04Ch
mov al,00
int 21h