home *** CD-ROM | disk | FTP | other *** search
Text File | 1986-04-24 | 27.7 KB | 1,225 lines |
- CREATE X
- CREATE Y
- EDIT
- : y
- base @ 16 base ! over c@ . base ! 1+ ;
- ~UP
- CREATE THEN
- EDIT
- : then ['] endif execute ; immediate
- ~UP
- CREATE 0<>
- EDIT
- : 0<> 0= not ;
- ~UP
- CREATE -ROT
- EDIT
- : -ROT
- stack abc|cab
- ;
- ~UP
- CREATE ROT
- EDIT
- : ROT
- stack abc|bca
- ;
- ~UP
- CREATE 2DUP
- EDIT
- : 2dup
- stack ab|abab
- ;
- ~UP
- CREATE NIP
- EDIT
- : nip stack ab|b ;
- ~UP
- CREATE ON
- EDIT
- \ Pure guess work
- : on -1 swap ! ;
- ~UP
- CREATE OFF
- EDIT
- \ Pure guess work
- : off 0 swap ! ;
- ~UP
- CREATE WITHIN
- EDIT
- \ (value min max - flag)
- : within
- stack abc|abac 1+ < >r 1- > r> and
- ;
- ~UP
- CREATE 8086
- CREATE REG
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- 8 base !
- : REG 11 * SWAP 1000 * OR CONSTANT ;
- ~UP
- CREATE AL
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- \ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
- \ 10 0 REGS AL CL DL BL AH CH DH BH
- 0 0 reg al
- ~UP
- CREATE CL
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- \ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
- \ 10 0 REGS AL CL DL BL AH CH DH BH
- 0 1 reg cl
- ~UP
- CREATE DL
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- \ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
- \ 10 0 REGS AL CL DL BL AH CH DH BH
- 0 2 reg dl
- ~UP
- CREATE BL
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- \ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
- \ 10 0 REGS AL CL DL BL AH CH DH BH
- 0 3 reg bl
- ~UP
- CREATE AH
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- \ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
- \ 10 0 REGS AL CL DL BL AH CH DH BH
- 0 4 reg ah
- ~UP
- CREATE CH
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- \ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
- \ 10 0 REGS AL CL DL BL AH CH DH BH
- 0 5 reg ch
- ~UP
- CREATE DH
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- \ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
- \ 10 0 REGS AL CL DL BL AH CH DH BH
- 0 6 reg dh
- ~UP
- CREATE BH
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- \ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
- \ 10 0 REGS AL CL DL BL AH CH DH BH
- 0 7 reg bh
- ~UP
- CREATE AX
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- \ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
- \ 10 1 REGS AX CX DX BX SP BP SI DI
- 1 0 reg ax
- ~UP
- CREATE CX
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- \ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
- \ 10 1 REGS AX CX DX BX SP BP SI DI
- 1 1 reg cx
- ~UP
- CREATE DX
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- \ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
- \ 10 1 REGS AX CX DX BX SP BP SI DI
- 1 2 reg dx
- ~UP
- CREATE BX
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- \ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
- \ 10 1 REGS AX CX DX BX SP BP SI DI
- 1 3 reg bx
- ~UP
- CREATE SP
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- \ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
- \ 10 1 REGS AX CX DX BX SP BP SI DI
- 1 4 reg sp
- ~UP
- CREATE BP
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- \ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
- \ 10 1 REGS AX CX DX BX SP BP SI DI
- 1 5 reg bp
- ~UP
- CREATE SI
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- \ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
- \ 10 1 REGS AX CX DX BX SP BP SI DI
- 1 6 reg si
- ~UP
- CREATE DI
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- \ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
- \ 10 1 REGS AX CX DX BX SP BP SI DI
- 1 7 reg di
- ~UP
- CREATE [BX+SI]
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- \ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
- \ 10 2 REGS [BX+SI] [BX+DI] [BP+SI] [BP+DI] [SI] [DI] [BP] [BX]
- 2 0 reg [bx+si]
- ~UP
- CREATE [BX+DI]
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- \ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
- \ 10 2 REGS [BX+SI] [BX+DI] [BP+SI] [BP+DI] [SI] [DI] [BP] [BX]
- 2 1 reg [bx+di]
- ~UP
- CREATE [BP+SI]
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- \ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
- \ 10 2 REGS [BX+SI] [BX+DI] [BP+SI] [BP+DI] [SI] [DI] [BP] [BX]
- 2 2 reg [bp+si]
- ~UP
- CREATE [BP+DI]
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- \ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
- \ 10 2 REGS [BX+SI] [BX+DI] [BP+SI] [BP+DI] [SI] [DI] [BP] [BX]
- 2 3 reg [bp+di]
- ~UP
- CREATE [SI]
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- \ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
- \ 10 2 REGS [BX+SI] [BX+DI] [BP+SI] [BP+DI] [SI] [DI] [BP] [BX]
- 2 4 reg [si]
- ~UP
- CREATE [DI]
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- \ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
- \ 10 2 REGS [BX+SI] [BX+DI] [BP+SI] [BP+DI] [SI] [DI] [BP] [BX]
- 2 5 reg [di]
- ~UP
- CREATE [BP]
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- \ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
- \ 10 2 REGS [BX+SI] [BX+DI] [BP+SI] [BP+DI] [SI] [DI] [BP] [BX]
- 2 6 reg [bp]
- ~UP
- CREATE [BX]
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- \ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
- \ 10 2 REGS [BX+SI] [BX+DI] [BP+SI] [BP+DI] [SI] [DI] [BP] [BX]
- 2 7 reg [bx]
- ~UP
- CREATE [SI+BX]
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- \ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
- \ 4 2 REGS [SI+BX] [DI+BX] [SI+BP] [DI+BP]
- 2 0 reg [si+bx]
- ~UP
- CREATE [DI+BX]
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- \ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
- \ 4 2 REGS [SI+BX] [DI+BX] [SI+BP] [DI+BP]
- 2 1 reg [di+bx]
- ~UP
- CREATE [SI+BP]
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- \ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
- \ 4 2 REGS [SI+BX] [DI+BX] [SI+BP] [DI+BP]
- 2 2 reg [si+bp]
- ~UP
- CREATE [DI+BP]
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- \ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
- \ 4 2 REGS [SI+BX] [DI+BX] [SI+BP] [DI+BP]
- 2 3 reg [di+bp]
- ~UP
- CREATE ES
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- \ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
- \ 4 3 REGS ES CS SS DS
- 3 0 reg es
- ~UP
- CREATE CS
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- \ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
- \ 4 3 REGS ES CS SS DS
- 3 1 reg cs
- ~UP
- CREATE SS
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- \ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
- \ 4 3 REGS ES CS SS DS
- 3 2 reg ss
- ~UP
- CREATE DS
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- \ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
- \ 4 3 REGS ES CS SS DS
- 3 3 reg ds
- ~UP
- CREATE #
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- \ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
- \ 3 4 REGS # #) S#)
- 4 0 reg #
- ~UP
- CREATE #)
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- \ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
- \ 3 4 REGS # #) S#)
- 4 1 reg #)
- ~UP
- CREATE S#)
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- \ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
- \ 3 4 REGS # #) S#)
- 4 2 reg s#)
- ~UP
- CREATE RP
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- BP CONSTANT RP ( RETURN STACK POINTER )
- ~UP
- CREATE [RP]
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- [BP] CONSTANT [RP] ( RETURN STACK POINTER )
- ~UP
- CREATE IP
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- SI CONSTANT IP ( INTERPRETER POINTER )
- ~UP
- CREATE [IP]
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- [SI] CONSTANT [IP] ( INTERPRETER POINTER )
- ~UP
- CREATE W
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- BX CONSTANT W ( WORKING REGISTER )
- ~UP
- CREATE [W]
- EDIT
- \ 8086 Assembler Register Definitions 11OCT83HHL
- [BX] CONSTANT [W] ( WORKING REGISTER )
- ~UP
- CREATE MD
- EDIT
- \ Addressing Modes 16Oct83map
- 8 base !
- : MD CREATE 1000 * , DOES> @ SWAP 7000 AND = 0<> ;
- ~UP
- CREATE R8?
- EDIT
- \ Addressing Modes 16Oct83map
- 0 MD R8?
- ~UP
- CREATE R16?
- EDIT
- \ Addressing Modes 16Oct83map
- 1 MD R16?
- ~UP
- CREATE MEM?
- EDIT
- \ Addressing Modes 16Oct83map
- 2 MD MEM?
- ~UP
- CREATE SEG?
- EDIT
- \ Addressing Modes 16Oct83map
- 3 MD SEG?
- ~UP
- CREATE #?
- EDIT
- \ Addressing Modes 16Oct83map
- 4 MD #?
- ~UP
- CREATE REG?
- EDIT
- \ Addressing Modes 16Oct83map
- 8 base !
- : REG? ( n -- f ) 7000 AND 2000 < 0<> ;
- ~UP
- CREATE BIG?
- EDIT
- \ Addressing Modes 16Oct83map
- 8 base !
- : BIG? ( N -- F ) ABS -200 AND 0<> ;
- ~UP
- CREATE RLOW
- EDIT
- \ Addressing Modes 16Oct83map
- 8 base !
- : RLOW ( n1 -- n2 ) 7 AND ;
- ~UP
- CREATE RMID
- EDIT
- \ Addressing Modes 16Oct83map
- 8 base !
- : RMID ( n1 -- n2 ) 70 AND ;
- ~UP
- CREATE SIZE
- EDIT
- \ Addressing Modes 16Oct83map
- VARIABLE SIZE SIZE ON
- ~UP
- CREATE BYTE
- EDIT
- \ Addressing Modes 16Oct83map
- : BYTE ( -- ) SIZE OFF ;
- ~UP
- CREATE OP,
- EDIT
- \ Addressing Modes 16Oct83map
- : OP, ( N OP -- ) OR C, ;
- ~UP
- CREATE W,
- EDIT
- \ Addressing Modes 16Oct83map
- : W, ( OP MR -- ) R16? 1 AND OP, ;
- ~UP
- CREATE SIZE,
- EDIT
- \ Addressing Modes 16Oct83map
- : SIZE, ( OP -- OP' ) SIZE @ 1 AND OP, ;
- ~UP
- CREATE ,/C,
- EDIT
- \ Addressing Modes 16Oct83map
- : ,/C, ( n f -- ) IF , ELSE C, THEN ;
- ~UP
- CREATE RR,
- EDIT
- \ Addressing Modes 16Oct83map
- 8 base !
- : RR, ( MR1 MR2 -- ) RMID SWAP RLOW OR 300 OP, ;
- ~UP
- CREATE LOGICAL
- EDIT
- \ Addressing Modes 16Oct83map
- VARIABLE LOGICAL
- ~UP
- CREATE B/L?
- EDIT
- \ Addressing Modes 16Oct83map
- : B/L? ( n -- f ) BIG? LOGICAL @ OR ;
- ~UP
- CREATE MEM,
- EDIT
- \ Addressing 16Oct83map
- 8 base !
- : MEM, ( DISP MR RMID -- ) OVER #) =
- IF RMID 6 OP, DROP ,
- ELSE RMID OVER RLOW OR -ROT [BP] = OVER 0= AND
- IF SWAP 100 OP, C, ELSE SWAP OVER BIG?
- IF 200 OP, , ELSE OVER 0=
- IF C, DROP ELSE 100 OP, C,
- THEN THEN THEN THEN ;
- ~UP
- CREATE WMEM,
- EDIT
- \ Addressing 16Oct83map
- : WMEM, ( DISP MEM REG OP -- ) OVER W, MEM, ;
- ~UP
- CREATE R/M,
- EDIT
- \ Addressing 16Oct83map
- : R/M, ( MR REG -- )
- OVER REG? IF RR, ELSE MEM, THEN ;
- ~UP
- CREATE WR/SM,
- EDIT
- \ Addressing 16Oct83map
- : WR/SM, ( R/M R OP -- ) 2 PICK DUP REG?
- IF W, RR, ELSE DROP SIZE, MEM, THEN SIZE ON ;
- ~UP
- CREATE INTER
- EDIT
- \ Addressing 16Oct83map
- VARIABLE INTER
- ~UP
- CREATE FAR
- EDIT
- \ Addressing 16Oct83map
- : FAR ( -- ) INTER ON ;
- ~UP
- CREATE ?FAR
- EDIT
- \ Addressing 16Oct83map
- 8 base !
- : ?FAR ( n1 -- n2 ) INTER @ IF 10 OR THEN INTER OFF ;
- ~UP
- CREATE 1MI
- EDIT
- \ Defining Words to Generate Op Codes 08MAY84HHL
- : 1MI CREATE C, DOES> C@ C, ;
- ~UP
- CREATE 2MI
- EDIT
- \ Defining Words to Generate Op Codes 08MAY84HHL
- 8 base !
- : 2MI CREATE C, DOES> C@ C, 12 C, ;
- ~UP
- CREATE 3MI
- EDIT
- \ Defining Words to Generate Op Codes 08MAY84HHL
- 8 base !
- : 3MI CREATE C, DOES> C@ C, HERE - 1-
- DUP -200 177 WITHIN NOT ABORT" Branch out of Range" C, ;
- ~UP
- CREATE 4MI
- EDIT
- \ Defining Words to Generate Op Codes 08MAY84HHL
- : 4MI CREATE C, DOES> C@ C, MEM, ;
- ~UP
- CREATE 5MI
- EDIT
- \ Defining Words to Generate Op Codes 08MAY84HHL
- : 5MI CREATE C, DOES> C@ SIZE, SIZE ON ;
- ~UP
- CREATE 6MI
- EDIT
- \ Defining Words to Generate Op Codes 08MAY84HHL
- : 6MI CREATE C, DOES> C@ SWAP W, ;
- ~UP
- CREATE 7MI
- EDIT
- \ Defining Words to Generate Op Codes 08MAY84HHL
- 8 base !
- : 7MI CREATE C, DOES> C@ 366 WR/SM, ;
- ~UP
- CREATE 8MI
- EDIT
- \ Defining Words to Generate Op Codes 08MAY84HHL
- 8 base !
- : 8MI CREATE C, DOES> C@ SWAP R16? 1 AND OR SWAP # =
- IF C, C, ELSE 10 OR C, THEN ;
- ~UP
- CREATE 9MI
- EDIT
- \ Defining Words to Generate Op Codes 08MAY84HHL
- 8 base !
- : 9MI CREATE C, DOES> C@ OVER R16?
- IF 100 OR SWAP RLOW OP, ELSE 376 WR/SM, THEN ;
- ~UP
- CREATE 10MI
- EDIT
- \ Defining Words to Generate Op Codes 08MAY84HHL
- 8 base !
- : 10MI CREATE C, DOES> C@ OVER CL =
- IF NIP 322 ELSE 320 THEN WR/SM, ;
- ~UP
- CREATE 11MI
- EDIT
- \ Defining Words to Generate Op Codes 27JAN86GEB
- 8 base !
- : 11MI CREATE C, C, DOES> OVER REG?
- IF 377 C, C@ 1 AND
- IF 340 ELSE 320 THEN SWAP RLOW OP,
- ELSE OVER #) = IF NIP C@ INTER @
- IF 1 AND IF 352 ELSE 232 THEN C, SWAP , ,
- ELSE SWAP HERE - 2- SWAP 2DUP 1 AND SWAP BIG? NOT AND
- IF 2 OP, C, ELSE C, 1- , THEN THEN
- ELSE 377 C, 1+ C@ ?FAR R/M, THEN THEN ;
- ~UP
- CREATE 12MI
- EDIT
- \ Defining Words to Generate Op Codes 27JAN86GEB
- 8 base !
- : 12MI CREATE C, C, C, DOES> OVER REG?
- IF C@ SWAP RLOW OP, ELSE 1+ OVER SEG?
- IF C@ RLOW SWAP RMID OP,
- ELSE COUNT SWAP C@ C, MEM, THEN THEN ;
- ~UP
- CREATE 13MI
- EDIT
- \ Defining Words to Generate Op Codes 09Apr84map
- 8 base !
- : 13MI CREATE C, C, DOES> COUNT >R C@ LOGICAL ! DUP REG?
- IF OVER REG?
- IF R> OVER W, SWAP RR, ELSE OVER DUP MEM? SWAP #) = OR
- IF R> 2 OR WMEM, ELSE ( # ) NIP DUP RLOW 0= ( ACC? )
- IF R> 4 OR OVER W, R16? ,/C,
- ELSE OVER B/L? OVER R16? 2DUP AND
- -ROT 1 AND SWAP NOT 2 AND OR 200 OP,
- SWAP RLOW 300 OR R> OP, ,/C,
- THEN THEN THEN
- ELSE ( MEM ) ROT DUP REG?
- IF R> WMEM,
- ELSE ( # ) DROP 2 PICK B/L? DUP NOT 2 AND 200 OR SIZE,
- -ROT R> MEM, SIZE @ AND ,/C, SIZE ON
- THEN THEN ;
- ~UP
- CREATE 14MI
- EDIT
- \ Defining Words to Generate Op Codes 27JAN86GEB
- 8 base !
- : 14MI CREATE C, DOES> C@
- DUP ?FAR C, 1 AND 0= IF , THEN ;
- ~UP
- CREATE TEST
- EDIT
- \ Instructions 14MAY84RKG
- 8 base !
- : TEST ( source dest -- ) DUP REG?
- IF OVER REG?
- IF 204 OVER W, SWAP RR, ELSE OVER DUP MEM? SWAP #) = OR
- IF 204 WMEM, ELSE ( # ) NIP DUP RLOW 0= ( ACC? )
- IF 250 OVER W,
- ELSE 366 OVER W, DUP RLOW 300 OP,
- THEN R16? ,/C, THEN THEN
- ELSE ( MEM ) ROT DUP REG?
- IF 204 WMEM,
- ELSE ( # ) DROP 366 SIZE, 0 MEM, SIZE @ ,/C, SIZE ON
- THEN THEN ;
- ~UP
- CREATE ESC
- EDIT
- \ Instructions 16Oct83map
- 16 BASE !
- : ESC ( source ext-opcode -- ) RLOW 0D8 OP, R/M, ;
- ~UP
- CREATE INT
- EDIT
- \ Instructions 16Oct83map
- 16 BASE !
- : INT ( N -- ) 0CD C, C, ;
- ~UP
- CREATE SEG
- EDIT
- \ Instructions 16Oct83map
- 16 BASE !
- : SEG ( SEG -- ) RMID 26 OP, ;
- ~UP
- CREATE XCHG
- EDIT
- \ Instructions 16Oct83map
- 16 BASE !
- : XCHG ( MR1 MR2 -- ) DUP REG?
- IF DUP AX =
- IF DROP RLOW 90 OP, ELSE OVER AX =
- IF NIP RLOW 90 OP, ELSE 86 WR/SM, THEN THEN
- ELSE ROT 86 WR/SM, THEN ;
- ~UP
- CREATE CS:
- EDIT
- \ Instructions 16Oct83map
- 16 BASE !
- : CS: CS SEG ;
- ~UP
- CREATE DS:
- EDIT
- \ Instructions 16Oct83map
- 16 BASE !
- : DS: DS SEG ;
- ~UP
- CREATE ES:
- EDIT
- \ Instructions 16Oct83map
- 16 BASE !
- : ES: ES SEG ;
- ~UP
- CREATE SS:
- EDIT
- \ Instructions 16Oct83map
- 16 BASE !
- : SS: SS SEG ;
- ~UP
- CREATE MOV
- EDIT
- \ Instructions 18APR83HHL
- 16 BASE !
- : MOV ( S D -- ) DUP SEG?
- IF 8E C, R/M, ELSE DUP REG?
- IF OVER #) = OVER RLOW 0= AND
- IF A0 SWAP W, DROP , ELSE OVER SEG?
- IF SWAP 8C C, RR, ELSE OVER # =
- IF NIP DUP R16? SWAP RLOW OVER 8 AND OR B0 OP, ,/C,
- ELSE 8A OVER W, R/M, THEN THEN THEN
- ELSE ( MEM ) ROT DUP SEG?
- IF 8C C, MEM, ELSE DUP # =
- IF DROP C6 SIZE, 0 MEM, SIZE @ ,/C,
- ELSE OVER #) = OVER RLOW 0= AND
- IF A2 SWAP W, DROP , ELSE 88 OVER W, R/M,
- THEN THEN THEN THEN THEN SIZE ON ;
- ~UP
- CREATE AAA
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 37 1MI AAA
- ~UP
- CREATE AAD
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- D5 2MI AAD
- ~UP
- CREATE AAM
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- D4 2MI AAM
- ~UP
- CREATE AAS
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 3F 1MI AAS
- ~UP
- CREATE ADC
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 0 10 13MI ADC
- ~UP
- CREATE ADD
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 0 00 13MI ADD
- ~UP
- CREATE ADD
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 0 00 13MI ADD
- ~UP
- CREATE AND
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 2 20 13MI AND
- ~UP
- CREATE CALL
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 10 E8 11MI CALL
- ~UP
- CREATE CBW
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 98 1MI CBW
- ~UP
- CREATE CLC
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- F8 1MI CLC
- ~UP
- CREATE CLD
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- FC 1MI CLD
- ~UP
- CREATE CLI
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- FA 1MI CLI
- ~UP
- CREATE CMC
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- F5 1MI CMC
- ~UP
- CREATE CMP
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 0 38 13MI CMP
- ~UP
- CREATE CMPS
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- A6 5MI CMPS
- ~UP
- CREATE CWD
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 99 1MI CWD
- ~UP
- CREATE DAA
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 27 1MI DAA
- ~UP
- CREATE DAS
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 2F 1MI DAS
- ~UP
- CREATE DEC
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 08 9MI DEC
- ~UP
- CREATE DIV
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 30 7MI DIV
- ~UP
- CREATE HLT
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- F4 1MI HLT
- ~UP
- CREATE IDIV
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 38 7MI IDIV
- ~UP
- CREATE IMUL
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 28 7MI IMUL
- ~UP
- CREATE IN
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- E4 8MI IN
- ~UP
- CREATE INC
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 00 9MI INC
- ~UP
- CREATE INTO
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 0CE 1MI INTO
- ~UP
- CREATE IRET
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 0CF 1MI IRET
- ~UP
- CREATE JA
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 77 3MI JA
- ~UP
- CREATE JAE
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 73 3MI JAE
- ~UP
- CREATE JB
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 72 3MI JB
- ~UP
- CREATE JBE
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 76 3MI JBE
- ~UP
- CREATE JCXZ
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- E3 3MI JCXZ
- ~UP
- CREATE JE
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 74 3MI JE
- ~UP
- CREATE JG
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 7F 3MI JG
- ~UP
- CREATE JGE
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 7D 3MI JGE
- ~UP
- CREATE JL
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 7C 3MI JL
- ~UP
- CREATE JLE
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 7E 3MI JLE
- ~UP
- CREATE JMP
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 20 E9 11MI JMP
- ~UP
- CREATE JNE
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 75 3MI JNE
- ~UP
- CREATE JNO
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 71 3MI JNO
- ~UP
- CREATE JNS
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 79 3MI JNS
- ~UP
- CREATE JO
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 70 3MI JO
- ~UP
- CREATE JPE
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 7A 3MI JPE
- ~UP
- CREATE JPO
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 7B 3MI JPO
- ~UP
- CREATE JS
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 78 3MI JS
- ~UP
- CREATE LAHF
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 9F 1MI LAHF
- ~UP
- CREATE LDS
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- C5 4MI LDS
- ~UP
- CREATE LEA
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 8D 4MI LEA
- ~UP
- CREATE LES
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- C4 4MI LES
- ~UP
- CREATE LOCK
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- F0 1MI LOCK
- ~UP
- CREATE LODS
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- 0AC 6MI LODS
- ~UP
- CREATE LOOP
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- E2 3MI LOOP
- ~UP
- CREATE LOOPE
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- E1 3MI LOOPE
- ~UP
- CREATE LOOPNE
- EDIT
- \ Instructions 12Oct83map
- 16 BASE !
- E0 3MI LOOPNE
- ~UP
- CREATE MOVS
- EDIT
- \ Instructions 12Apr84map
- 16 BASE !
- 0A4 5MI MOVS
- ~UP
- CREATE MUL
- EDIT
- \ Instructions 12Apr84map
- 16 BASE !
- 20 7MI MUL
- ~UP
- CREATE NEG
- EDIT
- \ Instructions 12Apr84map
- 16 BASE !
- 18 7MI NEG
- ~UP
- CREATE NOP
- EDIT
- \ Instructions 12Apr84map
- 16 BASE !
- 90 1MI NOP
- ~UP
- CREATE NOT
- EDIT
- \ Instructions 12Apr84map
- 16 BASE !
- 10 7MI NOT
- ~UP
- CREATE OR
- EDIT
- \ Instructions 12Apr84map
- 16 BASE !
- 2 08 13MI OR
- ~UP
- CREATE OUT
- EDIT
- \ Instructions 12Apr84map
- 16 BASE !
- E6 8MI OUT
- ~UP
- CREATE POP
- EDIT
- \ Instructions 12Apr84map
- 16 base !
- 8F 07 58 12MI POP
- ~UP
- CREATE POPF
- EDIT
- \ Instructions 12Apr84map
- 16 base !
- 9D 1MI POPF
- ~UP
- CREATE PUSH
- EDIT
- \ Instructions 12Apr84map
- 16 base !
- 0FF 36 50 12MI PUSH
- ~UP
- CREATE PUSHF
- EDIT
- \ Instructions 12Apr84map
- 16 base !
- 9C 1MI PUSHF
- ~UP
- CREATE RCL
- EDIT
- \ Instructions 12Apr84map
- 16 base !
- 10 10MI RCL
- ~UP
- CREATE RCR
- EDIT
- \ Instructions 12Apr84map
- 16 base !
- 18 10MI RCR
- ~UP
- CREATE REP
- EDIT
- \ Instructions 12Apr84map
- 16 base !
- F2 1MI REP
- ~UP
- CREATE REPNZ
- EDIT
- \ Instructions 12Apr84map
- 16 base !
- F2 1MI REPNZ
- ~UP
- CREATE REPZ
- EDIT
- \ Instructions 12Apr84map
- 16 base !
- F3 1MI REPZ
- ~UP
- CREATE RET
- EDIT
- \ Instructions 12Apr84map
- 16 base !
- C3 14MI RET
- ~UP
- CREATE ROL
- EDIT
- \ Instructions 12Apr84map
- 16 base !
- 00 10MI ROL
- ~UP
- CREATE ROR
- EDIT
- \ Instructions 12Apr84map
- 16 base !
- 8 10MI ROR
- ~UP
- CREATE SAHF
- EDIT
- \ Instructions 12Apr84map
- 16 base !
- 9E 1MI SAHF
- ~UP
- CREATE SAR
- EDIT
- \ Instructions 12Apr84map
- 16 base !
- 38 10MI SAR
- ~UP
- CREATE SBB
- EDIT
- \ Instructions 12Apr84map
- 16 base !
- 0 18 13MI SBB
- ~UP
- CREATE SCAS
- EDIT
- \ Instructions 12Apr84map
- 16 base !
- 0AE 5MI SCAS
- ~UP
- CREATE SHL
- EDIT
- \ Instructions 12Apr84map
- 16 base !
- 20 10MI SHL
- ~UP
- CREATE SHR
- EDIT
- \ Instructions 12Apr84map
- 16 base !
- 28 10MI SHR
- ~UP
- CREATE STC
- EDIT
- \ Instructions 12Apr84map
- 16 base !
- F9 1MI STC
- ~UP
- CREATE STD
- EDIT
- \ Instructions 12Apr84map
- 16 base !
- FD 1MI STD
- ~UP
- CREATE STI
- EDIT
- \ Instructions 12Apr84map
- 16 base !
- FB 1MI STI
- ~UP
- CREATE STOS
- EDIT
- \ Instructions 12Apr84map
- 16 base !
- 0AA 6MI STOS
- ~UP
- CREATE SUB
- EDIT
- \ Instructions 12Apr84map
- 16 base !
- 0 28 13MI SUB
- ~UP
- CREATE WAIT
- EDIT
- \ Instructions 12Apr84map
- 16 base !
- 9B 1MI WAIT
- ~UP
- CREATE XLAT
- EDIT
- \ Instructions 12Apr84map
- 16 base !
- D7 1MI XLAT
- ~UP
- CREATE XOR
- EDIT
- \ Instructions 12Apr84map
- 16 base !
- 2 30 13MI XOR
- ~UP
- CREATE +RET
- EDIT
- \ Instructions 12Apr84map
- 16 base !
- C2 14MI +RET
- ~UP
- EDIT
- : 8086 ( Swap hi/lo halfs)
-
- [ \ Dive straight into assembly - turn compiler off
- 0 [bp] ax mov \ Move [bp+0] to ax
- ax 2 [bp] xchg \ Exchange ax and [bp+2]
- ax 0 [bp] mov \ Move ax to [bp+0]
- ] \ note mixing FORTH and ASSEMBLY - turn compiler on
-
- dup . \ Print the result
-
- ;
- ~UP
- EDIT
- ~UP
- ABORT