hello1.asm

;; tell the assembler that this is 16 bit code                                                                  

[bits 16]


;; define system calls                                                                                          

reset   equ     0

bdos    equ     5 ;does not work?                                                                         

writes  equ     9

dos     equ     0x21            ;works instead of bdos call                                                             


        ;; start above zero page                                                                                        

        org     0x100


section .text


;; write whatever is at address "hello"                                                                         

        mov     dx,hello        ;set destination address to "hello"                                                     

        mov     ah,writes       ;load writes system call                                                                

        int     dos             ;make system call                                                                       


;; exit program                                                                                                 

        mov     ah,reset        ;load reset system call                                                                 

        int     dos             ;make system call                                                                       


section .data

hello:  db      'Hello, world!',13,10,'$'

 © Andrew Brehm 2016