summaryrefslogtreecommitdiff
path: root/reboot.asm
diff options
context:
space:
mode:
Diffstat (limited to 'reboot.asm')
-rw-r--r--reboot.asm73
1 files changed, 73 insertions, 0 deletions
diff --git a/reboot.asm b/reboot.asm
new file mode 100644
index 0000000..61bda60
--- /dev/null
+++ b/reboot.asm
@@ -0,0 +1,73 @@
+;; $Id$
+.286
+
+CODE segment byte
+ assume CS: CODE, DS: CODE
+ org 100h
+
+BEGIN:
+ jmp go
+ db '/ REBOOT 2001 (c) DreamDemon /'
+
+go:
+;; -------- Very beginning --------
+ push CS
+ pop DS
+ mov AX, 13h
+ int 10h
+ push 0A000h
+ pop ES
+ mov DX, 60h
+ mov CX, 64000
+
+
+;; -------- Clear screen --------
+ xor DI, DI
+ xor AX, AX
+ mov CX, 320*200/2
+ rep stosw
+
+;; -------- Reducing line --------
+ mov DI, 320*100
+ mov DX, 320/2
+Clear: xor AX, AX ;; Left Black dot
+ stosb
+ mov CX, DX
+ dec CX
+ mov AX, 0F0Fh
+ rep stosw
+ xor AX, AX ;; Right black dot
+ stosb
+ sub DI, DX
+ sub DI, DX
+ inc DI
+ mov CX, 15000
+Loop1: loop Loop1
+ dec DX
+ jne Clear
+
+;; -------- Blinking dot --------
+ mov AX, 32
+Dot: stosb
+ dec DI
+Loop2: loop Loop2
+Loop3: loop Loop3
+Loop4: loop Loop4
+ dec AX
+ cmp AX, 16
+ jne Dot
+
+;; -------- Exit --------
+ mov AX, 3
+ int 10h
+
+ mov AH, 09h
+ mov DX, OFFSET text
+ int 21h
+
+ db 0EAh, 00, 00, 0ffh, 0ffh
+
+text db 'Stand by...$'
+
+CODE ends
+end BEGIN