| ||||||||
Technical Support On-Line Manuals AARM User's Guide | Calling Standard MacrosThe following defines a macro named BMOVE that takes three arguments: source, destination, and count. The macro produces code that copies any number of bytes from one part of memory to another.
BMOVE MACRO src, dst, cnt
LOCAL lab
MOV R2,#cnt
MOV R1,#src
MOV R0,#dst
lab: MOVB [R0+],[R1]
ADD R1,#1
CMPD1 R2,#0
JMP CC_NZ, lab
ENDM
To call this macro, specify the macro name and the list of parameters. For example, the above macro may be called as follows: BMOVE array1, array2, 10 The macro is expanded as:
MOV R2,#10
MOV R1,#array1
MOV R0,#array2
??0000: MOVB [R0+],[R1]
ADD R1,#1
CMPD1 R2,#0
JMP CC_NZ, ??0000
Note | |||||||
| ||||||||