Changes
<pre>
;; A simple program to display "Hello World". This program
;; will work with CP/M 2.1 and C/PM +
;; origin for CP/M programs
org &100
nolist
write"cpmex1.com"
;;---------------------------------------------------------
.bdos equ 5
;;---------------------------------------------------------
;; display message and then return back to the command-line
ld hl,message
call display_message
ret
;;---------------------------------------------------------
;; HL = pointer to null terminated message
.display_message
ld a,(hl) ;; get ASCII character
inc hl ;; increment pointer for next character
or a ;; end of message marker (0)?
ret z ;; quit if end of message marker found.
call display_char ;; send character to console output
jp display_message ;; loop for next char
;;---------------------------------------------------------
;; put character to console
;;
;; A = ASCII character
.display_char
push hl
ld c,2 ;; console output function id
ld e,a ;; ASCII character
call bdos ;; call BDOS to execute function
pop hl
ret
;;---------------------------------------------------------
;; the message to display
.message
defb "Hello World!",0
</pre>
;; A simple program to display "Hello World". This program
;; will work with CP/M 2.1 and C/PM +
;; origin for CP/M programs
org &100
nolist
write"cpmex1.com"
;;---------------------------------------------------------
.bdos equ 5
;;---------------------------------------------------------
;; display message and then return back to the command-line
ld hl,message
call display_message
ret
;;---------------------------------------------------------
;; HL = pointer to null terminated message
.display_message
ld a,(hl) ;; get ASCII character
inc hl ;; increment pointer for next character
or a ;; end of message marker (0)?
ret z ;; quit if end of message marker found.
call display_char ;; send character to console output
jp display_message ;; loop for next char
;;---------------------------------------------------------
;; put character to console
;;
;; A = ASCII character
.display_char
push hl
ld c,2 ;; console output function id
ld e,a ;; ASCII character
call bdos ;; call BDOS to execute function
pop hl
ret
;;---------------------------------------------------------
;; the message to display
.message
defb "Hello World!",0
</pre>