CreativeASM/Assembler/Old Versions
Jump to navigation
Jump to search
← Back to CreativeASM/Assembler
Here are some older versions of the CreativeASM assembler... I will add more later...
Version 11.0
@echo off REM Registers set ra= set rb= set rc= set rd= REM Another set set rax= set rbx= set rcx= set rdx= REM Special ones set r= set s= set t= set u= REM x86 assembly ones set eax= set ebx= set ecx= set edx= REM If the file doesn't exist if not exist %1 ( echo E02: CreativeASM file doesn't exist echo Backend expection: %1.casm echo ^^ echo ^| [HERE] echo. echo Assembling to %1.bat failed! :( ) else ( goto asm ) :asm REM Assembling to Batch... echo @echo off >> %1.bat echo set ra= >> %1.bat echo set rb= >> %1.bat echo set rc= >> %1.bat echo set rd= >> %1.bat echo REM Another set >> %1.bat echo set rax= >> %1.bat echo set rbx= >> %1.bat echo set rcx= >> %1.bat echo set rdx= >> %1.bat echo REM Special ones >> %1.bat echo set r= >> %1.bat echo set s= >> %1.bat echo set t= >> %1.bat echo set u= >> %1.bat echo REM x86 assembly ones >> %1.bat echo set eax= >> %1.bat echo set ebx= >> %1.bat echo set ecx= >> %1.bat echo set edx= >> %1.bat for /F "eol= tokens=1,2,3,4,5* delims= " %%A in (%1) do ( if %%A EQU put ( echo set %%B=%%C %%D %%E %%F >> %1.bat ) if %%A EQU int if %%C EQU 01h ( echo echo %%%%B%% >> %1.bat ) if %%A EQU int if %%C EQU 00h ( echo set /p %%B=? >> %1.bat ) if %%A EQU add ( echo set /a %%D=%%%%B%%+%%%%C%% >> %1.bat ) if %%A EQU sub ( echo set /a %%D=%%%%B%%-%%%%C%% >> %1.bat ) if %%A EQU mul ( echo set /a %%D=%%%%B%%*%%%%C%% >> %1.bat ) if %%A EQU div ( echo set /a %%D=%%%%B%%/%%%%C%% >> %1.bat ) if %%A EQU @ ( echo REM %%B %%C %%D %%E %%F >> %1.bat ) if %%A EQU mrk ( echo REM %%B %%C %%D %%E %%F >> %1.bat ) if %%A EQU bl ( echo echo. >> %1.bat ) if %%A EQU beqrax ( echo if %%rax%% EQU %%B goto %%C >> %1.bat ) if %%A EQU beqrbx ( echo if %%rbx%% EQU %%B goto %%C >> %1.bat ) if %%A EQU beqrcx ( echo if %%rcx%% EQU %%B goto %%C >> %1.bat ) if %%A EQU beqrdx ( echo if %%rdx%% EQU %%B goto %%C >> %1.bat ) if %%A EQU lbl ( echo :%%B >> %1.bat ) if %%A EQU start ( echo :%%B >> %1.bat ) if %%A EQU slp ( echo pause ^>nul >> %1.bat ) if %%A EQU jmp ( echo goto %%B >> %1.bat ) if %%A EQU hal ( echo exit >> %1.bat ) if %%A EQU clr ( echo cls >> %1.bat ) if %%A EQU for ( echo for /L %%%%%%B in ^(%%C,%%E,%%D^) do ^( >> %1.bat ) if %%A EQU endfor ( echo ^) >> %1.bat ) if %%A EQU tit ( echo title %%B %%C %%D %%E %%F >> %1.bat ) if %%A EQU cpy ( echo set %%C=%%%%B%% >> %1.bat ) if %%A EQU mov ( echo set %%C=%%%%B%% >> %1.bat echo set %%B= >> %1.bat ) if %%A EQU or ( echo set /a %%D=%%%%B%%^|^|%%%%C%% >> %1.bat ) if %%A EQU xor ( echo set /a %%D=%%%%B%%^^^^%%%%C%% >> %1.bat ) if %%A EQU rnd ( echo set /a math=%%D-%%C+1 >> %1.bat echo set /a %%B=%%random%%%%%%%%math%%+%%C >> %1.bat ) if %%A EQU slt ( echo ping /n 1 localhost ^>nul >> %1.bat ) if %%A EQU sls ( echo ping /n 2 localhost ^>nul >> %1.bat ) if %%A EQU col ( echo color %%B >> %1.bat ) if %%A EQU dat ( echo echo %%date%% >> %1.bat ) if %%A EQU tim ( echo echo %%time%% >> %1.bat ) if %%A NEQ put if %%A NEQ int if %%A NEQ add if %%A NEQ sub if %%A NEQ mul if %%A NEQ div if %%A NEQ @ if %%A NEQ mrk if %%A NEQ beqrax if %%A NEQ beqrbx if %%A NEQ beqrcx if %%A NEQ beqrdx if %%A NEQ lbl if %%A NEQ hal if %%A NEQ slp if %%A NEQ jmp if %%A NEQ clr if %%A NEQ for if %%A NEQ endfor if %%A NEQ mov if %%A NEQ cpy if %%A NEQ start if %%A NEQ bl if %%A NEQ tit if %%A NEQ or if %%A NEQ xor if %%A NEQ rnd if %%A NEQ slt if %%A NEQ sls if %%A NEQ col if %%A NEQ dat if %%A NEQ tim ( echo E01: Instruction not valid, or didn't put comments with "@" or "mrk". echo Backend expection: %%A echo ^^ echo ^| [HERE] echo. echo Assembled to %1.bat, but with errors! :^| ) ) echo Assembled to %1.bat! :)