Created
December 20, 2013 10:55
-
-
Save denisbr/8053223 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name "hello-world" | |
org 100h | |
; set video mode | |
mov ax, 3 ; text mode 80x25, 16 colors, 8 pages (ah=0, al=3) | |
int 10h ; do it! | |
; cancel blinking and enable all 16 colors: | |
mov ax, 1003h | |
mov bx, 0 | |
int 10h | |
; set segment register: | |
mov ax, 0b800h | |
mov ds, ax | |
; print "hello world" | |
; first byte is ascii code, second byte is color code. | |
mov [02h], 'h' | |
mov [04h], 'e' | |
mov [06h], 'l' | |
mov [08h], 'l' | |
mov [0ah], 'o' | |
mov [0ch], ',' | |
mov [0eh], 'w' | |
mov [10h], 'o' | |
mov [12h], 'r' | |
mov [14h], 'l' | |
mov [16h], 'd' | |
mov [18h], '!' | |
; color all characters: | |
mov cx, 12 ; number of characters. | |
mov di, 03h ; start from byte after 'h' | |
c: mov [di], 11101100b ; light red(1100) on yellow(1110) | |
add di, 2 ; skip over next ascii code in vga memory. | |
loop c | |
; wait for any key press: | |
mov ah, 0 | |
int 16h | |
ret |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment