MLHA - PC - Programmering - Assembler
> DEBUG > MASM > WASM

Word.gif (905 bytes) asm.doc

> Data operations > Interrupts (INT) > DOS structures

| Boot | Terminate | System Info |

Gavin's Guide to 80x86 Assembly
Quantasm : Assembly Language Tools & Tricks
http://www.programmersheaven.com/zone5/index.htm
http://www.cesis.lv/learn/asm/index.htm : Assembler tutorials

Boot

Warm Boot (~ Ctrl-Alt-Del)
BOOT.COM (Wolverton,Gookin: Supercharging MS-DOS, p.190)
MOV AX,40
MOV DS,AX
MOV AX,1234        ;Reset flag at 40:72, bypass mem test
MOV [72],AX
JMP F000:E05B      ;BIOS boot routine
WARM.COM (Somerson: DOS 5 Power Tools, p.101) - safer!
B8 4000      MOV AX,0040
E8 D8        MOV DS,AX
B8 3412      MOV AX,1234   ;warm boot flag
A3 7200      MOV [0072],AX
EA 0000 FFFF JMP FFFF:0000 ;at FFFF:0000 : JMP F000:E05B
 
Cold Boot (~ Reset)
COLD.COM (Somerson: DOS 5 Power Tools, p.101)
B8 4000      MOV AX,0040
E8 D8        MOV DS,AX
B8 7F7F      MOV AX,7F7F   ;cold boot flag
A3 7200      MOV [0072],AX
EA 0000 FFFF JMP FFFF:0000 ;at FFFF:0000 : JMP F000:E05B

 

Terminate

INT 20
Terminate
INT 20
INT 21, 4C
Terminate and return 'errornr'in AL
mov al,0   ;return ERRORLEVEL 0
mov ah,4Ch ;End Program
int 21h

 

System Info

Get equipment list:                 INT 11 > AX=flagbits
read current clock number:          INT 1A,0
set the clock:                      INT 1A,1
get DOS version number:             INT 21,30 > AH=minor, AL=major
get list of lists (CDS structures): INT 21,52