summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2003-09-22 09:20:22 +0000
committerDimitri Sokolyuk <demon@dim13.org>2003-09-22 09:20:22 +0000
commitf1e0ff8f952ad82eb337a523c78568983c84c5f7 (patch)
treebce8ee9733ae60d6e9a6fda98d6bc057ece85f6f
Reboot (DOS)
-rw-r--r--reboot.asm73
-rw-r--r--reboot1.asm11
-rw-r--r--reboot2.asm12
-rw-r--r--reboot3.asm18
4 files changed, 114 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
diff --git a/reboot1.asm b/reboot1.asm
new file mode 100644
index 0000000..955f3f8
--- /dev/null
+++ b/reboot1.asm
@@ -0,0 +1,11 @@
+; $Id$
+; Titel: ReBoot #1
+; Autor: DreamDemon
+; Date : 05.08.1999
+
+.model small
+.code
+ org 100h
+start:
+ int 19h ; Bootstrap loader
+end start
diff --git a/reboot2.asm b/reboot2.asm
new file mode 100644
index 0000000..30019b8
--- /dev/null
+++ b/reboot2.asm
@@ -0,0 +1,12 @@
+; $Id$
+; Titel: ReBoot #2
+; Autor: DreamDemon
+; Date : 05.08.1999
+
+.model small
+.code
+ org 100h
+start:
+ db 0EAh ; Jump to Power On Self Test - Cold Boot
+ dw 0,0FFFFh
+end start
diff --git a/reboot3.asm b/reboot3.asm
new file mode 100644
index 0000000..466ec10
--- /dev/null
+++ b/reboot3.asm
@@ -0,0 +1,18 @@
+; $Id$
+; Titel: ReBoot #3
+; Autor: DreamDemon
+; Date : 05.08.1999
+
+.model small
+.code
+ org 100h
+start:
+ mov ah,0Dh
+ int 21h ; DOS Services ah=function 0Dh
+ ; flush disk buffers to disk
+ sti ; Enable interrupts
+ hlt ; Halt processor
+ mov al,0FEh
+ out 64h,al ; port 64h, kybd cntrlr functn
+ ; al = 0FEh, pulse CPU reset
+end start