-
Notifications
You must be signed in to change notification settings - Fork 0
/
SKEETER.asm
55 lines (55 loc) · 917 Bytes
/
SKEETER.asm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
; setup block needed for fasm to compile a DOS mode exe
use16
format MZ
push cs
pop ds
; end
; a subroutine I stole from an old dos virus and tweaked so that it makes an annoying noise on the bios beeper
mov cx,0x0004
new_shot:
push cx
mov dx,0xF6D8
mov bx,0xC2FB
in al,061h
and al,11111100b
fire_shot:
xor al,2
out 061h,al
mov cl,3
ror dx,cl
mov cx,dx
and cx,01FFh
or cx,10
shoot_pause:
loop shoot_pause
dec bx
jnz fire_shot
and al,11111100b
out 061h,al
mov bx,0002h
xor ah,ah
int 1Ah
add bx,dx
shoot_delay:
int 1Ah
cmp dx,bx
jne shoot_delay
pop cx
loop new_shot
; end
; begin: a routine to clear the screen, print random colored text to screen then exit
mov ax,0x0003
int 0x10
xor ax,ax
int 0x1A
xchg dx,bx
mov ah,0x06
xor cx,cx
mov dx,0x184f
int 10h
mov dx,text
mov ah,0x09
int 0x21
mov ax,0x4C00
int 0x21
text db 'Fuck, man! Shit! Mosquitoes!',0x24