Difference between revisions of "Fillmem.asm"
(→Functions Provided) |
|||
Line 5: | Line 5: | ||
<CENTER><TABLE BORDER><TR><TH>Entry point</TH><TH>Function provided</TH><TH>Notes</TH></TR> | <CENTER><TABLE BORDER><TR><TH>Entry point</TH><TH>Function provided</TH><TH>Notes</TH></TR> | ||
<TR><TD>FILLMEM</TD><TD>Fill a block of memory with a value</TD><TD>Destination, value and length passed in registers.</TD></TR> | <TR><TD>FILLMEM</TD><TD>Fill a block of memory with a value</TD><TD>Destination, value and length passed in registers.</TD></TR> | ||
− | <TR><TD>FILLZERO</TD><TD> | + | <TR><TD>FILLZERO</TD><TD>Fill a block of memory with zeros</TD><TD>Destination and length passed in registers. Fills with zero.</TD></TR> |
− | <TR><TD>CLRSCR</TD><TD> | + | <TR><TD>CLRSCR</TD><TD>Clear the screen.</TD><TD>Fills [[BACKTAB]] with zeros.</TD></TR></TABLE></CENTER> |
<br /><br /> | <br /><br /> | ||
See source code below for calling convention.<br /><br /> | See source code below for calling convention.<br /><br /> |
Revision as of 09:23, 7 September 2008
Functions Provided
Entry point | Function provided | Notes |
---|---|---|
FILLMEM | Fill a block of memory with a value | Destination, value and length passed in registers. |
FILLZERO | Fill a block of memory with zeros | Destination and length passed in registers. Fills with zero. |
CLRSCR | Clear the screen. | Fills BACKTAB with zeros. |
See source code below for calling convention.
Examples
(todo... please contribute!)
Notes
Source Code
;* ======================================================================== *; ;* These routines are placed into the public domain by their author. All *; ;* copyright rights are hereby relinquished on the routines and data in *; ;* this file. -- Joseph Zbiciak, 2008 *; ;* ======================================================================== *; ;; ======================================================================== ;; ;; FILLZERO ;; ;; Fills memory with zeros ;; ;; ;; ;; FILLMEM ;; ;; Fills memory with a constant ;; ;; ;; ;; INPUTS: ;; ;; R0 -- Fill value (FILLMEM only) ;; ;; R1 -- Number of words to fill ;; ;; R4 -- Start of fill area ;; ;; R5 -- Return address ;; ;; ;; ;; OUTPUTS: ;; ;; R0 -- Zeroed if FILLZERO, otherwise untouched. ;; ;; R1 -- Zeroed ;; ;; R4 -- Points to word after fill area ;; ;; ======================================================================== ;; CLRSCR PROC MVII #$0F0, R1 MVII #$200, R4 FILLZERO CLRR R0 ; Start out with R0 zeroed for FILLZERO FILLMEM MVO@ R0, R4 ; Store R0 out at R4, and move along DECR R1 ; Keep going until our count runs out BNEQ FILLMEM JR R5 ; Return to the caller. ENDP ;; ======================================================================== ;; ;; End of File: fillzero.asm ;; ;; ======================================================================== ;;