.deflong

.deflong name[(argument [, argument [, ...]])] replacement

Defining lengthy macros can be a painful job, and so you can use this directive to define a macro with multiple lines without having to use .defcont.

; 8-bit multiplication
; Used as a macro for inlining (speed)

.deflong multiply_8()
    sla h
    jr nc,{+}
    ld l,e
+
    .repeat 7
        add hl,hl
        jr nc,{+}
        add hl,de
    +
    .loop
    ret
.enddeflong

multiply_8()

All the usual macro definition rules apply.