F1DE is 0x10c DCPU 1.7 Compliant -   [Editor]   [Dcpu]   [0x10c]   [About]
Project : Default Project

; This is a simple program set a,1 :loop add a,3 set pc, loop
  • A

  • B

  • C

  • X

  • Y

  • Z

  • I

  • J

  • SP

  • PC

  • EX

  • IA


copy current project files
NOTE: You do not need to save to assemble a project. Just click assemble.

This is a public project. If you wish to save your changes, you must fork it. This will create a new project from your changes, that you alone will be able to edit.

About F1DE

F1DE - The DCPU Development Tool for 0x10c

Latest Update 23th May 2012 - Version 0.9.20

F1DE is securely hosted on Amazon Web Services for emulation and file storage.
Database is backed up daily.

Example project is here:

Comments? Suggestions? Ideas? Join us on http://www.0x10cforum.com

DCPU Instructions:
Instruction Effect
SETb, asets b to a
ADDb, asets b to b+a, sets EX to 0x0001 if there's an overflow, 0x0 otherwise
SUBb, asets b to b-a, sets EX to 0xffff if there's an underflow, 0x0 otherwise
MULb, asets b to b*a, sets EX to ((b*a)>>16)&0xffff (treats b, a as unsigned)
MLIb, alike MUL, but treat b, a as signed
DIVb, asets b to b/a, sets EX to ((b<<16)/a)&0xffff. if a==0, sets b and EX to 0 instead. (treats b, a as unsigned)
DVIb, alike DIV, but treat b, a as signed. Rounds towards 0
MODb, asets b to b%a. if a==0, sets b to 0 instead.
MDIb, alike MOD, but treat b, a as signed. (MDI -7, 16 == -7)
ANDb, asets b to b&a
BORb, asets b to b|a
XORb, asets b to b^a
SHRb, asets b to b>>>a, sets EX to ((b<<16)>>a)&0xffff (logical shift)
ASRb, asets b to b>>a, sets EX to ((b<<16)>>>a)&0xffff (arithmetic shift) (treats b as signed)
SHLb, asets b to b<<a, sets EX to ((b<<a)>>16)&0xffff
IFBb, aperforms next instruction only if (b&a)!=0
IFCb, aperforms next instruction only if (b&a)==0
IFEb, aperforms next instruction only if b==a
IFNb, aperforms next instruction only if b!=a
IFGb, aperforms next instruction only if b>a
IFAb, aperforms next instruction only if b>a (signed)
IFLb, aperforms next instruction only if b<a
IFUb, aperforms next instruction only if b<a (signed)
ADXb, asets b to b+a+EX, sets EX to 0x0001 if there is an over-flow, 0x0 otherwise
SBXb, asets b to b-a+EX, sets EX to 0xFFFF if there is an under-flow, 0x0 otherwise
STIb, asets b to a, then increases I and J by 1
STDb, asets b to a, then decreases I and J by 1
JSRapushes the address of the next instruction to the stack, then sets PC to a
INTatriggers a software interrupt with message a
IASasets IA to a
IAGasets a to IA
RFIadisables interrupt queueing, pops A from the stack, then pops PC from the stack
IAQaif a is nonzero, interrupts will be added to the queue instead of triggered. if a is zero, interrupts will be triggered as normal again
HWNasets a to number of connected hardware devices
HWQasets A, B, C, X, Y registers to information about hardware a
A+(B<<16) is a 32 bit word identifying the hardware id
C is the hardware version
X+(Y<<16) is a 32 bit word identifying the manufacturer
HWIasends an interrupt to hardware a
Editor Key Shortcuts:
PC (Windows/Linux) Mac action
Ctrl-U Ctrl-U change to upper case
Ctrl-Shift-U Ctrl-Shift-U change to lower case
Ctrl-Alt-Down Command-Option-Down copy lines down
Ctrl-Alt-Up Command-Option-Up copy lines up
Ctrl-F Command-F find
Ctrl-K Command-G find next
Ctrl-Shift-K Command-Shift-G find previous
Ctrl-End,Ctrl-Down Command-End,Command-Down go to end
Ctrl-L Command-L go to line
Alt-Right,End Command-Right,End,Ctrl-E go to line end
Alt-Left,Home Command-Left,Home,Ctrl-A go to line start
Ctrl-Home,Ctrl-Up Command-Home,Command-Up go to start
Ctrl-Left Option-Left go to word left
Ctrl-Right Option-Right go to word right
Tab Tab indent
Alt-Down Option-Down move lines down
Alt-Up Option-Up move lines up
Shift-Tab Shift-Tab outdent
Insert Insert overwrite
Ctrl-Shift-Z,Ctrl-Y Command-Shift-Z,Command-Y redo
Ctrl-D Command-D remove line
Ctrl-K remove to line end
Option-Backspace remove to linestart
Alt-Backspace,Ctrl-Alt-Backspace remove word left
Alt-Delete remove word right
Ctrl-R Command-Option-F replace
Ctrl-Shift-R Command-Shift-Option-F replace all
Ctrl-A Command-A select all
Shift-Down Shift-Down select down
Shift-Left Shift-Left select left
Shift-End Shift-End select line end
Shift-Home Shift-Home select line start
Shift-PageDown Shift-PageDown select page down
Shift-PageUp Shift-PageUp select page up
Shift-Right Shift-Right select right
Ctrl-Shift-End,Alt-Shift-Down Command-Shift-Down select to end
Alt-Shift-Right Command-Shift-Right select to line end
Alt-Shift-Left Command-Shift-Left select to line start
Ctrl-Shift-Home,Alt-Shift-Up Command-Shift-Up select to start
Shift-Up Shift-Up select up
Ctrl-Shift-Left Option-Shift-Left select word left
Ctrl-Shift-Right Option-Shift-Right select word right
Ctrl-O split line
Ctrl-T Ctrl-T transpose letters
Ctrl-Z Command-Z undo