; MakeABeep

.model tiny 
.code 
.startup
	;org 100h
cli
start:
mov 	cx, 200	; 50
beep:
push	cx
mov 	dx, 61h
in 	al, dx            ;get current speaker state
and 	al, 0FEh          ;make sure it's enabled
xor 	al, 2             ;invert speaker bit
out 	dx, al            ;write it to speaker

mov	cx, 65535 ; 100000
@@:
nop
loop	@b
pop	cx
loop	beep

sti

mov	ax, 1
int	20h

.exit
end


;SUB MakeABeep

;!cli
;FOR t& = 1 TO 50

;!in al,&h61             ;get current speaker state
;!and al,&hfe            ;make sure it's enabled
;!xor al,2               ;invert speaker bit
;!out &h61,al            ;write it to speaker

;FOR z& = 1 TO 100000
;NEXT

;NEXT
;!sti

;END SUB