1 %macro dhl 1.nolist 2 db (%1) >> 8 3 db (%1) & 0xFF 4 %endmacro 5 %macro dhla 1.nolist 6 db ((%1)-_f0) >> 8 7 db ((%1)-_f0) & 0xFF 8 %endmacro 9 SECTION .data 10 global _f0 11 _f0: 12 13 ;; lua: return gsub(strings.Cdefs, "#", "%%") 14 %define H_C1 0x00 15 %define H_RSR 0x01 16 %define H_COL 0x02 17 %define FIP_RETURN 0xFFFF 18 %define FIP_RSREXIT 0xFFFE 19 %define FIP_FIPDROP 0xFFFD 20 %define SF_EXIT 0xFF 21 %define SF_DUP 0xFE 22 %define F_EXIT 0xFDFF 23 %define F_STO 0xFDFE 24 %define F_DUP 0xFDFD 25 %define F_2DUP 0xFDFC 26 %define F_TYPE 0xFDFB 27 %define F_PLUS 0xFDFA 28 %define F_1 0xFDF9 29 %define F_TOS 0xFDF8 30 31 ;; lua: return strings.nasmbytecode 32 ADR_strlen: 33 00000000 00 db H_C1 34 extern strlen 35 00000001 [00000000] dd strlen 36 ADR_0x3cx2ex22x3e: 37 00000005 01 db H_RSR 38 ADR_S0x3cx2ex22x3e: 39 00000006 02 db H_COL 40 00000007 FDFE dhl F_STO 41 00000009 FE db SF_DUP 42 0000000A 0000 dhl ADR_strlen -_f0 43 0000000C FDFC dhl F_2DUP 44 0000000E FDFB dhl F_TYPE 45 00000010 FDFA dhl F_PLUS 46 00000012 FDF9 dhl F_1 47 00000014 FDFA dhl F_PLUS 48 00000016 FDF8 dhl F_TOS 49 00000018 FF db SF_EXIT 50 global ADR_DEMO 51 ADR_DEMO: 52 00000019 02 db H_COL 53 0000001A 0005 dhl ADR_0x3cx2ex22x3e -_f0 54 0000001C 48656C6C6F0A00 db 'Hello',10,0 55 00000023 0005 dhl ADR_0x3cx2ex22x3e -_f0 56 00000025 5468657265210A00 db 'There!',10,0 57 0000002D FF db SF_EXIT