Skip to content

Latest commit

 

History

History
87 lines (77 loc) · 13.3 KB

assembly.md

File metadata and controls

87 lines (77 loc) · 13.3 KB

Whitespace assembly

Mnemonics by instruction

These are the mnemonics used by known Whitespace assembly dialects for instructions, ranked by popularity.

  • push (205), psh (8), push_num (3), push_stack (3), stackpush (3), append (2), pushstack (2), <number>, <number_char>, pus, push-onto-stack, push_ch, push_n, push_number, push_number_stack_top, push_to_stack, pushchar, pushnumber, pushnumbercommand, pushtotopofstack, setstacktop
  • dup (130), duplicate (47), dupe (7), copy (6), duplicate_top (6), doub (5), dupl (5), duplicatetop (3), sdupli (3), dpl (2), duplicate_one (2), duplicateone (2), ^, copy_top, copystacktop, dup_top, dupe0, duplicate-stack-top, duplicate-top, duplicate_last, duplicate_stack, duplicate_stack_top, duplicate_top_value, duplicatestack, duplicatetopofstack, duplicatetopstack, duplicatetopvalue, pick (1,0), stackduplicate, stackduplicatetop
  • copy (106), ref (11), duplicate_nth (7), copynth (4), duplicatenth (4), copyn (3), cpy (3), dupn (3), scopy (3), copy_n (2), copy_nth (2), dup_at (2), pick (2), ^<unsigned>, copy_n_to_top, copynthstack, dup, dup2, dup_n, dup_nth, dupe, duplicate, duplicate-indexed, duplicate-nth, duplicate-stack-n, duplicate_nth_value, duplicate_num, duplicate_value, duplicatenthstack, duplicatevalueatposition, dupnum, fish, grab, n_duplicate, ncopy, nthcopytosetstacktop, pick (1,v), pull, refer, stackcopytotop, take, top
  • swap (195), swp (12), sswap (3), swap_first_two (2), swap_top (2), swapstack (2), change, exch, exchange, roll (1,1), stackswap, stackswaptop, swap-stack-top, swap-top-2, swap-top-two, swap_last, swap_stack, swap_top_two_values, swap_two_stack_items, swapstacktopsec, swaptop, swaptopofstack, swaptoptwovalues, swicth, switch, swop_2_top, xchg
  • discard (96), pop (71), drop (26), discard_top (6), dsc (4), disc (3), sdiscard (3), del (2), discard-top (2), discard_one (2), discardone (2), discardtop (2), stackpop (2), away, dis, discard (1,0), discard top, discard0, discard_stack, discard_stack_top, discard_top_value, discardstack, discardtopofstack, discardtopvalue, peek, pop_number, popstack, remove, rm_top, stackdiscard, throwstacktop
  • slide (119), discard (4), discard_top_n (3), popn (3), remove (3), sslide (3), discard_many (2), discard_n (2), discardmany (2), pop_x (2), sld (2), slid (2), <unsigned>slide, away, discard (v,1), discard-n, discard_below_top, discard_below_top_value, discard_value, discardn, discardnum, discardtopn, move, n_discard, pop_n, popnstack, removenthinstack, removenvaluesundertop, skip, slde, sli, slice, slide-n-values, slide_n, sliden, slidenstack, slideoff, stackslide
  • add (195), addition (15), plus (11), + (5), sum (3), addtion (2), adding, addtopofstack, b_plus_a, infixplus, op+, sadd
  • sub (162), subtract (34), subtraction (14), minus (12), - (5), substraction (2), subt (2), b_minus_a, infixminus, op-, ssub, subtracttopofstack, subtruct
  • mul (145), multiply (31), multiplication (17), mult (14), times (11), * (5), multi (5), multiple (2), b_times_a, infixtimes, multiplytopofstack, op*, smul
  • div (161), divide (40), division (16), / (4), integerdivision (3), intdiv (2), //, b_div_a, dividetopofstack, floordiv, infixdivide, int_division, op/, quotient, sdiv
  • mod (170), modulo (49), % (4), modulus (4), rem (3), b_mod_a, division_part, infixmodulo, modulotopofstack, smod
  • store (177), set (9), put (6), save (5), stor (5), heapstore (3), sto (3), write (3), heapput (2), heapwrite (2), push (2), addtoheap, at_b, heappush, popstoreheap, push_heap, st, stash, storeaataddressb, storeat, storeheap, str, to_heap, valuetoadress
  • retrieve (123), load (34), get (17), retr (8), retrive (7), fetch (5), read (5), heapretrieve (4), pop (3), push (3), ret (3), heappushinstack (2), heapread (2), lod (2), at_a, getfromheap, heapget, heappull, ld, pop_heap, popathenpushheapaddressa, poppushfromheap, rcl, restore, reti, retreive, retri, retrieveheap, retrv, rtr, storeatstack, to_stack, unstash, valuetostacktop
  • label (96), mark (54), <label>: (15), lbl (9), register (7), def (5), mark_label (4), marklabel (4), <number>: (3), label_<number>: (3), mark_location (3), control_mark (2), mark_sub (2), mrk (2), setlabel (2), %<number>:, :<label>, <<number>>:, <label_name><optional_space>:, <label_number>:, @<label>, addlabel, definelabel, deflabel, defun, l<number>:, label <label>:, label#_####, label_<label>:, label_<number>, label_mark, label_position, labl, location, mark-label, mark-location, mark_lable, markalocation, marklocation, marks, newlabelcommand, part, set label, set_label, setlbl, tag
  • call (179), call_subroutine (9), callsubroutine (6), call_sub (5), gosub (5), jsr (3), call-subroutine (2), cll (2), control_sub_call (2), csr (2), subcall (2), subroutine (2), bra, call label_<label>, call_label, call_routine, callasubroutine, calllabel, calllbl, callroutine, calls, callsrtn, callsub, callsubroutinecommand, cas, func, jal, sub, sub_start
  • jump (150), jmp (55), goto (9), jumplabel (4), unconditionaljump (3), control_jump (2), j (2), jp (2), jump_unconditionally (2), ujmp (2), b, go, jmp label_<label>, jpu, jump-to-label, jumps, jumpto, jumptocommand, jumpunconditionallytoalabel
  • jz (65), jumpzero (24), jumpz (18), jump_if_zero (12), jump_zero (10), jmpz (9), jzero (9), jumpifzero (7), if zero (6), equal (4), jez (4), jump-zero (3), control_jump_zero (2), gotoifzero (2), ifzero (2), jmp_eq (2), jmpzero (2), jpz (2), jump-if-zero (2), jumplabelwhenzero (2), jze (2), zero (2), zjmp (2), bez, branchz, branchzero, branchzs, brz, bz, bzero, eq_zero, etest, go-if-zero, goto_if_zero, goto_zero, gotoiz, if stack==0 then goto, if-zero, if0goto, if_zero, ifnot, ifstacktopiszerothenjump, iz_jump, jeq, jmp_if0, jmp_if_0, jmz, jnil, jp0, jsz, jump if zero, jump_ifzero, jump_stack, jump_zero_conditional, jumpifz, jumpnull, jumptoifzero, jumptolabeliftopofstackiszero, jz label_<label>, jzer, popandjumpif ==, stackzerojump, test, test_equal, zerojump, zjump
  • jn (52), jneg (16), jumpn (15), jumpneg (9), jumpnegative (9), jump_negative (7), if negative (6), jlz (6), jmpn (6), jump_if_neg (6), jumpifnegative (5), less (5), js (3), jump-neg (3), jump_if_negative (3), jumplz (3), bltz (2), control_jump_less (2), ifnegative (2), jmi (2), jmp_lt (2), jmpneg (2), jpn (2), jump_if_lt_zero (2), jumpifneg (2), jumplabelwhennegative (2), jumpless (2), jumpnega (2), njmp (2), bmi, bneg, branchlt, branchltz, branchltzs, go-if-negative, goto_if_negative, goto_negative, gotoifneg, gotoifnegative, gotoin, if stack<0 then goto, if-neg, if_negative, ifisnegativegoto, iflt, ifstacktopisnegthenjump, in_jump, jlt, jltz, jmn, jmp, jmp_if_neg, jmp_neg, jmpnegative, jmps, jn label_<label>, jne, jpl0, jsn, jump if negative, jump-if-lt-zero, jump-if-negative, jump_if_less_than_zero, jump_lt_zero, jump_nagative, jump_neg_conditional, jump_nega, jump_stack_bzero, jump_subzero, jumpde, jumpifn, jumplesszero, jumpminus, jumptoifnegative, jumptolabeliftopofstackisnegative, lt_zero, nega, negativejump, njump, ntest, popandjumpif <=, stacknegativejump, test, test_less
  • ret (91), return (74), endsubroutine (9), endsub (6), end (5), end_sub (5), exit_subroutine (5), exit_sub (3), back (2), control_sub_exit (2), end_subroutine (2), endofsubroutine (2), ends (2), exit (2), subexit (2), control_back, done, end subroutine, endfunc, endsrtn, ens, exit-subroutine, exit_routine, exitsubroutine, finishsubroutine, leave, retun, return-from-subroutine, return_to_caller, returnsubroutine, rtn, rts, sret, sub_end, subroutine_end
  • end (100), exit (81), endprogram (10), halt (8), exit_program (4), end_program (3), endprog (3), quit (3), control_exit (2), endofprogram (2), endp (2), eof (2), exitprogram (2), finish (2), stop (2), terminate (2), die, end program, end-program, end1, end2, end_prog, endle, exit-program, exitfromprogram, finishprogram, hlt, over
  • printc (23), outchar (19), outc (18), outputchar (17), output_char (15), printchar (15), putc (14), putchar (13), ochr (8), print_char (8), outputcharacter (7), output_character (5), write_char (5), writechar (5), charout (4), cout (4), writec (4), ochar (3), out (3), out-char (3), out_char (3), char_out (2), oc (2), output (2), output-char (2), pchr (2), pop_print_chr (2), print-char (2), prtc (2), write_ch (2), chr, coutput, o_chr, opc, otc, outch, outcha, outcharacter, outchr, output character, output-character-on-stack, outputc, outputcharacterattopofstack, pc, pch, pchar, pop-out-char, pop_char, print, print_c, printaschar, printcharacter, put_char, stacktopoutchar, wchar, wrc, write_character, wtc
  • outn (18), outnum (18), printi (17), output_number (12), outputnum (12), outputnumber (12), putn (11), printnum (9), onum (8), output_num (7), printn (7), write_num (7), print_num (5), printnumber (5), putnum (5), iout (4), putint (4), writen (4), oint (3), out-num (3), out_num (3), pnum (3), num_out (2), numout (2), on (2), outint (2), pop_print (2), print_int (2), printint (2), prtn (2), puti (2), putnumber (2), writeint (2), writenumber (2), int, intout, ioutput, nout, numberout, o_int, opn, otn, out, out_n, outi, outinteger, outnumber, output, output number, output-num, output-number, output-number-on-stack, output_int, outputint, outputintattopofstack, outputn, pn, pnm, pop-out-num, pop_num, print, print-int, print-number, print_i, print_number, printasint, put_num, putdigit, stacktopoutint, wnum, write_number, writenum, wrn, wtn
  • readchar (51), readc (35), read_char (22), getc (13), getchar (9), ichr (9), inc (8), input_char (7), readcharacter (7), cin (5), inputchar (5), charin (4), ichar (3), in-char (3), inchar (3), rdc (3), read-char (3), read_character (3), char_in (2), ic (2), in (2), in_char (2), rchar (2), rchr (2), read_chr (2), chr, cinput, gch, get_char, in_c, inch, incha, inchr, inpc, input, input-char, input_character, inputcharacter, inputcharandputonstack, inputchartoheap, rc, rch, read character, read-character-to-location, read-in-char, read_c, read_ch, readchartoadress, rec, redc, scan_char, store_input_character
  • readnum (36), readn (19), read_num (17), readi (17), readnumber (15), getn (11), inum (9), read_number (9), inn (7), readint (6), iin (4), innum (4), input_number (4), rnum (4), getint (3), getnum (3), iint (3), in-num (3), input_num (3), inputnum (3), inputnumber (3), rdn (3), geti (2), in (2), in_n (2), in_num (2), inint (2), input (2), nin (2), num_in (2), numin (2), read (2), read-int (2), read_int (2), get_num, getnumber, gnm, iinput, ini, inpn, input-number, input_int, inputintandputonstack, inputnumbertoheap, int, intin, numberin, read number, read-in-num, read-num, read-number-to-location, read_i, readinteger, readinttoadress, redn, ren, rn, rnu, scan_num, store_input_number
  • shuffle (3), permr
  • debug_printstack (4), debugprintstack, dumpstack
  • debug_printheap (4), debugprintheap, dumpheap
  • trace (2)

Conflicting mnemonics

  • away: drop, slide
  • chr: printc, readc
  • copy: copy (106), dup (6)
  • discard: drop (96), slide (4)
  • dup: dup (130), copy
  • dupe: dup (7), copy
  • duplicate: dup (47), copy
  • end: end (100), ret (5)
  • exit: end (81), ret (2)
  • in: readc (2), readi (2)
  • input: readi (2), readc
  • int: printi, readi
  • jmp: jmp (55), jn
  • out: printc (3), printi
  • output: printc (2), printi
  • pop: drop (71), retrieve (3)
  • print: printc, printi
  • push: push (205), retrieve (3), store (2)
  • read: retrieve (5), readi (2)
  • remove: slide (3), drop
  • ret: ret (91), retrieve (3)
  • sub: sub (162), call
  • test: jn, jz

File extensions

  • wsa (30)
  • asm (5)
  • txt (4)
  • "" (2)
  • wsm (2)
  • as
  • bs
  • hws
  • nsa
  • unws
  • wil
  • ws.rb
  • wsasm
  • wsc
  • wsf
  • wss
  • wst

Need documentation

  • rust/thaliaarchi-omniwsa