mirror of
https://github.com/Ed94/bare_x86.git
synced 2024-11-10 04:14:54 -08:00
61 lines
917 B
ArmAsm
61 lines
917 B
ArmAsm
|
; Hello world.
|
||
|
|
||
|
; x86
|
||
|
; 16-bit - Real Mode, V86 Mode
|
||
|
|
||
|
%include "AAL.x86.S"
|
||
|
|
||
|
|
||
|
; 16-Bit Mode
|
||
|
[BITS 16]
|
||
|
; The ORG directive specifies the starting address of a segment
|
||
|
[ORG Mem_BootSector_Start]
|
||
|
|
||
|
|
||
|
start :
|
||
|
|
||
|
textmode_ClearScreen:
|
||
|
; Params
|
||
|
mov AH, Video_SetMode
|
||
|
mov AL, VideoMode_Text_40x25
|
||
|
; Call Interrupt
|
||
|
int VideoService
|
||
|
|
||
|
teletype_HelloWorld :
|
||
|
mov BH, 0x0 ; Make sure the Active page is the first
|
||
|
mov AH, Video_TeleType
|
||
|
mov AL, 'H'
|
||
|
int VideoService
|
||
|
mov AL, 'e'
|
||
|
int VideoService
|
||
|
mov AL, 'l'
|
||
|
int VideoService
|
||
|
mov AL, 'l'
|
||
|
int VideoService
|
||
|
mov AL, 'l'
|
||
|
int VideoService
|
||
|
mov AL, 'o'
|
||
|
int VideoService
|
||
|
mov AL, ' '
|
||
|
int VideoService
|
||
|
mov AL, 'W'
|
||
|
int VideoService
|
||
|
mov AL, 'o'
|
||
|
int VideoService
|
||
|
mov AL, 'r'
|
||
|
int VideoService
|
||
|
mov AL, 'l'
|
||
|
int VideoService
|
||
|
mov AL, 'd'
|
||
|
int VideoService
|
||
|
|
||
|
hang :
|
||
|
jmp short hang
|
||
|
|
||
|
|
||
|
; Byte pad 512 bytes (zeroed)
|
||
|
times 510-$+start db 0
|
||
|
; Master Boot Record signature
|
||
|
db 0x55
|
||
|
db 0xAA
|