; SUBROUTINE TO FILL DATA IN MEMORY ; eNTRY: (D) = DATA TO BE FILLED. ; (HL) = START OF FILL AREA. ; (BC) = NUMBER OF BYTES TO FILL ; CALL FILL ; EXIT: (D) = SAME. ; (HL) = END OF FILL +1. ; (BC) = 0. ; (A) = 0. ; .org 0000h LD SP, 0080h ; ADDED FOR TESTING PURPOSES. LD HL, 40h ; STARTING STORAGE LOCATION. LD D, 00 ; VALUE TO BE STORED. LD BC, 10 ; NUMBER OF LOCATIONS TO BE STORED. CALL FILL HALT FILL: LD (HL), D ; STORE BYTE. INC HL ; BUMP POINTER. DEC BC ; ADJUST COUNT. INC D ; OPTIONAL: INCREASE THE VALUE STORED BY 1. LD A, B ; GET MOST SIGNIFICANT BYTE OF COUNT. OR C ; MERGE LEAST SIGNIFICANT BYTE OF COUNT. JR NZ, FILL ; CONTINUE IF DONE. RET ; RETURN IF DONE. .END