read: array read: ops read: 2 read: allot read: array read: optypes read: 2 read: allot read: var read: currop read: : read: op1 read: ops read: @ read: ; read: : read: op2 read: ops read: 1 read: + read: @ read: ; read: 0 read: const read: OP_NONE read: 1 read: const read: OP_REG8 read: 2 read: const read: OP_REG16 read: 3 read: const read: OP_SREG read: 4 read: const read: OP_IMM read: 5 read: const read: OP_INDIRECT read: : read: op! read: ( read: currop read: @ read: >r read: optypes read: r@ read: + read: ! read: ops read: r@ read: + read: ! read: 1 read: r> read: + read: currop read: ! read: ; read: : read: mkreg read: makedo read: , read: does> read: @ read: swap read: makedo read: , read: , read: does> read: dup read: @ read: swap read: 1 read: + read: @ read: op! read: ; read: OP_REG8 read: mkreg read: reg8 read: OP_REG16 read: mkreg read: reg16 read: OP_SREG read: mkreg read: sreg read: OP_INDIRECT read: mkreg read: ireg read: 0 read: reg16 read: ax read: 0 read: reg8 read: al read: 4 read: reg8 read: ah read: 1 read: reg16 read: cx read: 1 read: reg8 read: cl read: 5 read: reg8 read: ch read: 2 read: reg16 read: dx read: 2 read: reg8 read: dl read: 6 read: reg8 read: dh read: 3 read: reg16 read: bx read: 3 read: reg8 read: bl read: 7 read: reg8 read: bh read: 4 read: reg16 read: sp read: 5 read: reg16 read: bp read: 6 read: reg16 read: si read: 7 read: reg16 read: di read: 0 read: sreg read: es read: 1 read: sreg read: cs read: 2 read: sreg read: ss read: 3 read: sreg read: ds read: 0 read: ireg read: [ax] read: 1 read: ireg read: [cx] read: 2 read: ireg read: [dx] read: 3 read: ireg read: [bx] read: 5 read: ireg read: [bp] read: 6 read: ireg read: [si] read: 7 read: ireg read: [di] read: : read: # read: OP_IMM read: op! read: ; read: &h80 read: const read: LBL_REL read: var read: lblfixup read: var read: currlbl read: : read: currlbl-head read: currlbl read: @ read: 1 read: + read: ; read: : read: mk-lbl-fixpoint read: here read: currlbl-head read: @ read: , read: tell read: , read: lblfixup read: @ read: , read: currlbl-head read: ! read: ; read: : read: tell>addr read: &h100 read: + read: ; read: : read: :> read: makedo read: tell read: , read: 0 read: , read: does> read: 0 read: # read: currlbl read: ! read: ; read: : read: fixlabel.rel read: currlbl read: @ read: @ read: tell read: - read: &hff read: & read: tell read: 1 read: - read: seek read: outb! read: ; read: : read: fixlabel.addr read: currlbl read: @ read: @ read: tell>addr read: tell read: 2 read: - read: seek read: outw! read: ; read: : read: fixlabel read: ( read: if read: fixlabel.rel read: else read: fixlabel.addr read: then read: ; read: : read: fixpoint.seek read: ( read: 1 read: + read: @ read: seek read: ; read: : read: fixpoint.fix read: ( read: 2 read: + read: @ read: fixlabel read: ; read: : read: fixpoint read: ( read: dup read: fixpoint.seek read: dup read: fixpoint.fix read: @ read: ; read: : read: fix.fixpoints read: currlbl-head read: @ read: begin read: dup read: while read: fixpoint read: repeat read: drop read: ; read: : read: assembled read: ( read: currlbl read: @ read: and read: if read: lblfixup read: @ read: fixlabel read: mk-lbl-fixpoint read: then read: 0 read: currop read: ! read: 0 read: lblfixup read: ! read: 0 read: currlbl read: ! read: ; read: : read: update.label read: tell read: currlbl read: @ read: ! read: ; read: : read: <: read: update.label read: tell read: fix.fixpoints read: seek read: 0 read: assembled read: ; read: : read: read-impl read: ( read: dup read: @ read: swap read: dup read: 1 read: + read: @ read: swap read: 2 read: + read: ; read: : read: match-impl read: ( read: begin read: dup read: 0 read: > read: while read: 1 read: - read: 2dup read: + read: @ read: over read: optypes read: + read: @ read: != read: if read: drop read: drop read: 0 read: ret read: then read: repeat read: drop read: drop read: 1 read: ; read: : read: inst read: ( read: makedo read: dup read: &h7f read: & read: , read: 0 read: , read: &h80 read: & read: , read: does> read: dup read: 2 read: + read: @ read: lblfixup read: ! read: dup read: @ read: currop read: @ read: != read: if read: 0 read: message read: yelp read: ret read: then read: 1 read: + read: @ read: begin read: dup read: while read: read-impl read: currop read: @ read: match-impl read: if read: execute read: drop read: 1 read: assembled read: ret read: else read: drop read: then read: repeat read: drop read: 1 read: message read: yelp read: 0 read: assembled read: ; read: : read: inst-nextimpl read: do.data read: 1 read: + read: ; read: : read: inst-opcount read: do.data read: @ read: ; read: : read: impl read: ( read: here read: >r read: >r read: ( read: r@ read: inst-nextimpl read: @ read: , read: , read: r@ read: inst-opcount read: begin read: dup read: while read: 1 read: - read: swap read: , read: repeat read: drop read: r> read: inst-nextimpl read: r> read: swap read: ! read: ; read: : read: int read: &hcd read: outb! read: outb! read: 1 read: assembled read: ; read: 2 read: inst read: mov read: 2 read: inst read: movb read: OP_IMM read: OP_REG16 read: :noname read: &hb8 read: op1 read: + read: outb! read: op2 read: outw! read: ; read: ' read: mov read: impl read: OP_IMM read: OP_REG8 read: :noname read: &hb0 read: op1 read: + read: outb! read: op2 read: outb! read: ; read: ' read: movb read: impl read: : read: :+r read: anondo read: >r read: , read: OP_REG16 read: r> read: does> read: @ read: op1 read: + read: outb! read: ; read: : read: :+sreg read: anondo read: >r read: , read: OP_SREG read: r> read: does> read: @ read: op1 read: 8 read: * read: + read: outb! read: ; read: : read: modrm read: ( read: 8 read: * read: | read: swap read: 64 read: * read: | read: outb! read: ; read: 2 read: inst read: add read: OP_REG16 read: OP_REG16 read: :noname read: &h01 read: outb! read: &h03 read: op1 read: op2 read: modrm read: ; read: ' read: add read: impl read: 2 read: inst read: xor read: OP_REG16 read: OP_REG16 read: :noname read: &h31 read: outb! read: &h03 read: op1 read: op2 read: modrm read: ; read: ' read: xor read: impl read: 1 read: inst read: div read: OP_REG16 read: :noname read: &hf7 read: outb! read: &h03 read: op1 read: &h06 read: modrm read: ; read: ' read: div read: impl read: 1 read: inst read: push read: &h06 read: :+sreg read: ' read: push read: impl read: &h50 read: :+r read: ' read: push read: impl read: 1 read: inst read: pop read: &h07 read: :+sreg read: ' read: pop read: impl read: &h58 read: :+r read: ' read: pop read: impl read: 1 read: inst read: dec read: &h48 read: :+r read: ' read: dec read: impl read: 1 read: inst read: jmp read: OP_INDIRECT read: :noname read: &hff read: outb! read: 0 read: op1 read: 4 read: modrm read: ; read: ' read: jmp read: impl read: OP_REG16 read: :noname read: &hff read: outb! read: 3 read: op1 read: 4 read: modrm read: ; read: ' read: jmp read: impl read: : read: :jumprel read: here read: >r read: 1 read: LBL_REL read: | read: inst read: :| read: anondo read: >r read: , read: OP_IMM read: r> read: does> read: @ read: outb! read: op1 read: outb! read: |; read: execute read: r> read: impl read: ; read: &h77 read: :jumprel read: ja read: &h73 read: :jumprel read: jae read: &h72 read: :jumprel read: jb read: &h76 read: :jumprel read: jbe read: &h74 read: :jumprel read: je read: &h7f read: :jumprel read: jg read: &h7d read: :jumprel read: jge read: &h7c read: :jumprel read: jl read: &h7e read: :jumprel read: jle read: &h75 read: :jumprel read: jne read: &h74 read: :jumprel read: jz read: : read: .EXIT read: ax read: &h4c00 read: | read: # read: mov read: &h21 read: int read: ; read: : read: d" read: begin read: in@ read: dup read: [ read: in@ read: lit read: ] read: != read: while read: outb! read: repeat read: drop read: ; read: cs read: push read: \ read: ds read: pop read: \ read: \ read: \ read: ax read: 123 read: # read: mov read: cx read: 10 read: # read: mov read: :> read: moredigits read: dx read: dx read: xor read: cx read: div read: dl read: 48 read: # read: add read: ax read: push read: ax read: &h0200 read: # read: mov read: &h21 read: int read: ax read: pop read: moredigits read: jne read: 0 read: .EXIT read: cx read: 11 read: # read: mov read: :> read: loop read: :> read: msg read: dx read: msg read: mov read: dx read: cx read: add read: ah read: 9 read: # read: movb read: &h21 read: int read: cx read: dec read: loop read: jge read: 0 read: .EXIT read: msg read: <: read: : read: nl read: 13 read: outb! read: 10 read: outb! read: ; read: d" read: nl read: d" read: \ read: \ read: \ read: \ read: \ read: \ read: \ read: \ read: \ read: :> read: @next read: dx read: [bx] read: mov read: bx read: 2 read: # read: add read: [dx] read: jmp read: : read: .NEXT read: @next read: jmp read: ; read: : read: lbl>list read: mkdoer read: currlbl read: @ read: , read: 0 read: currlbl read: ! read: does> read: @ read: dup read: execute read: dlbl read: execute read: <: read: ; read: :> read: @latest read: @latest read: lbl>list read: latest! read: : read: outname! read: tell read: 0 read: outb! read: 0 read: begin read: in@ read: dup read: [ read: in@ read: lit read: ] read: != read: while read: outb! read: 1 read: + read: repeat read: drop read: tell read: >rot read: swap read: seek read: outb! read: seek read: ; read: : read: @mkword read: latest! read: outname! read: ; read: : read: :asm read: @mkword read: tell read: 2 read: + read: tell>addr read: outw! read: ; read: :asm read: bx read: pop read: .NEXT read: :> read: $docolon read: bx