%imacro wlcalc 1-2.nolist global wlcalc_%1 wlcalc_%1: %2 %endmacro section code group datagroup data1 data2 section data1 align=16 times 32 db "1" section data2 align=16 times 16 db "2" section code start: mov ax, 0 wlcalc word_seg_data1, equ $ - 2 mov ax, 0 wlcalc word_seg_data2, equ $ - 2 mov ax, 0 wlcalc word_seg_datagroup, equ $ - 2 mov ax, 0 wlcalc word_segrel_data1, equ $ - 2 mov ax, 0 wlcalc word_segrel_data2, equ $ - 2 mov ax, 0 wlcalc word_segrel_datagroup, equ $ - 2 mov ax, 4C00h int 21h