Sixtyfeetunderassembly
Jump to navigation
Jump to search
Sixtyfeetunderassembly(SFUasm) is a useless esolang created by User:TheMCoder
Overview
SFUasm has 4 commands
Command name | description |
---|---|
OUT <v> | output the ascii value of v |
SET <v> <value> | sets v to value |
IN | gets input from the user and stores it in input |
GET <v> <letter index> | gets letter index from input and stores it in v |
The code NEEDS to be stored in 'code.dpasm' so the interpreter can fuction. SFUasm is very case-sensitive, the commands NEED to be in uppercase.
Code
there is only a python interpreter
python code:
v = 0 varvals = [] varnames = [] code = open("code.dpasm","r").readlines() linenum = 0 printer = "" userinput = "" for line in code: linenum += 1 #print(line) #print(v) line = line.strip("\n") commands = line.split(" ") if commands[0] == "SET": if not len(commands) > 3: if not commands[2] in varnames: varnames.append(commands[2]) varvals.append(0) varvals[varnames.index(commands[2])] = int(commands[1]) else: print("SYNTAX ERROR: Unexpected argument on line",str(linenum)) elif commands[0] == "OUT": if not len(commands) > 2: printer += chr(varvals[varnames.index(commands[1])]) else: print("SYNTAX ERROR: Unexpected argument on line",str(linenum)) elif commands[0] == "IN": if not len(commands) > 1: userinput = input() else: print("SYNTAX ERROR: Unexpected argument on line",str(linenum)) elif commands[0] == "GET": if not len(commands) > 3: if not commands[1] in varnames: varnames.append(commands[1]) varvals.append(0) varvals[varnames.index(commands[1])] = ord(userinput[int(commands[2])]) else: print("SYNTAX ERROR: Unexpected argument on line",str(linenum)) elif commands[0] == "--": pass else: print(f"ERROR: Unknown command {commands[0]!r} on line {str(linenum)}") print(printer)