42 lines
488 B
ArmAsm
42 lines
488 B
ArmAsm
|
; assemble this and concatenate sp2.com with it to make it bootable!
|
||
|
|
||
|
[org 0x7C00]
|
||
|
[bits 16]
|
||
|
|
||
|
NUMSEG equ (1993/512)+1 ; filesize is 1993 bytes
|
||
|
|
||
|
mov ax, 0x100
|
||
|
mov ss, ax
|
||
|
mov ds, ax
|
||
|
mov es, ax
|
||
|
mov gs, ax
|
||
|
mov fs, ax
|
||
|
mov bp, 0xF000
|
||
|
mov sp, bp
|
||
|
|
||
|
mov bx, 0x100
|
||
|
mov al, NUMSEG
|
||
|
inc ah
|
||
|
mov cl, ah
|
||
|
xor ch, ch
|
||
|
xor dh, dh
|
||
|
int 13h
|
||
|
|
||
|
xor cx, cx
|
||
|
mov ds, cx
|
||
|
mov word [ds:0x21*4], int21
|
||
|
mov word [ds:0x21*4+2], 0
|
||
|
|
||
|
inc ch
|
||
|
mov ds, cx
|
||
|
push 0x100
|
||
|
push 0x100
|
||
|
retf
|
||
|
|
||
|
int21:
|
||
|
hlt
|
||
|
|
||
|
times 510 - ($-$$) db 0
|
||
|
|
||
|
dw 0xAA55
|