у меня подобный макрос работает только что проверил , первое сравнение бит С устанавливает , второе - сбрасывает, при равенсве z=1.
хотя r16 входит в оба макроса
ldi_w b,0x9999
cpi_w b,0xaaaa
cpi_w b,0x6666
.def bl = r16
.def bh = r17
.macro ldi_w
ldi @0h,high(@1)
ldi @0l,low(@1)
.endm
.macro cpi_w // R(16) - K(16)
cpi @0l,low(@1)
push r16
ldi r16,high(@1)
cpc @0h,r16
pop r16
.ENDMACRO