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 %define F_SGOBBLE2 0xFDF7 31 %define F_SBRANCH 0xFDF6 32 %define F_S0BRANCH 0xFDF5 33 34 ;; lua: return strings.nasmbytecode 35 ADR_strlen: 36 00000000 00 db H_C1 37 extern strlen 38 00000001 [00000000] dd strlen 39 ADR_0x3cx2ex22x3e: 40 00000005 01 db H_RSR 41 ADR_S0x3cx2ex22x3e: 42 00000006 02 db H_COL 43 00000007 FDFE dhl F_STO 44 00000009 FE db SF_DUP 45 0000000A 0000 dhl ADR_strlen -_f0 46 0000000C FDFC dhl F_2DUP 47 0000000E FDFB dhl F_TYPE 48 00000010 FDFA dhl F_PLUS 49 00000012 FDF9 dhl F_1 50 00000014 FDFA dhl F_PLUS 51 00000016 FDF8 dhl F_TOS 52 00000018 FF db SF_EXIT 53 ADR_LITW: 54 00000019 01 db H_RSR 55 0000001A 02 db H_COL 56 0000001B FDF7 dhl F_SGOBBLE2 57 0000001D FF db SF_EXIT 58 ADR_BRANCH: 59 0000001E 01 db H_RSR 60 0000001F 02 db H_COL 61 00000020 FDF6 dhl F_SBRANCH 62 00000022 FF db SF_EXIT 63 ADR_0BRANCH: 64 00000023 01 db H_RSR 65 00000024 02 db H_COL 66 00000025 FDF5 dhl F_S0BRANCH 67 00000027 FF db SF_EXIT 68 ADR_YESx2fNO: 69 00000028 02 db H_COL 70 00000029 0023 dhl ADR_0BRANCH -_f0 71 0000002B 3800 dw LBL_no-_f0 72 0000002D 0005 dhl ADR_0x3cx2ex22x3e -_f0 73 0000002F 7965730A00 db 'yes',10,0 74 00000034 001E dhl ADR_BRANCH -_f0 75 00000036 3E00 dw LBL_end-_f0 76 LBL_no: 77 00000038 0005 dhl ADR_0x3cx2ex22x3e -_f0 78 0000003A 6E6F0A00 db 'no',10,0 79 LBL_end: 80 0000003E FF db SF_EXIT 81 global ADR_DEMO 82 ADR_DEMO: 83 0000003F 02 db H_COL 84 00000040 0005 dhl ADR_0x3cx2ex22x3e -_f0 85 00000042 48656C6C6F0A00 db 'Hello',10,0 86 00000049 0019 dhl ADR_LITW -_f0 87 0000004B 1600 dw 22 88 0000004D 0028 dhl ADR_YESx2fNO -_f0 89 0000004F 0019 dhl ADR_LITW -_f0 90 00000051 0000 dw 0 91 00000053 0028 dhl ADR_YESx2fNO -_f0 92 00000055 FF db SF_EXIT