Added the simple assembler
This commit is contained in:
parent
733e3c3cb1
commit
f29fb5fbd8
40
sasm.lua
Normal file
40
sasm.lua
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
tArgs = {...}
|
||||||
|
|
||||||
|
insd = {[4095] = "dup",
|
||||||
|
[4094] = "swp",
|
||||||
|
[4093] = "read",
|
||||||
|
[4092] = "write",
|
||||||
|
[4091] = "add",
|
||||||
|
[4090] = "sub",
|
||||||
|
[4089] = "jmp",
|
||||||
|
[4088] = "sez"}
|
||||||
|
insc = {}
|
||||||
|
insc.dup = 4095
|
||||||
|
insc.swp = 4094
|
||||||
|
insc.read = 4093
|
||||||
|
insc.write = 4092
|
||||||
|
insc.add = 4091
|
||||||
|
insc.sub = 4090
|
||||||
|
insc.jmp = 4089
|
||||||
|
insc.sez = 4088
|
||||||
|
|
||||||
|
f = io.open(tArgs[2],"rb")
|
||||||
|
if not f then error("file inaccessable") end
|
||||||
|
c = f:read("*a")
|
||||||
|
f:close()
|
||||||
|
|
||||||
|
for w in c:gmatch("%S+") do
|
||||||
|
if tArgs[1] == "-c" then
|
||||||
|
if insc[w] ~= nil then
|
||||||
|
print(insc[w])
|
||||||
|
else
|
||||||
|
print(w)
|
||||||
|
end
|
||||||
|
elseif tArgs[1] == "-d" then
|
||||||
|
if insd[tonumber(w)] ~= nil then
|
||||||
|
print(insd[tonumber(w)])
|
||||||
|
else
|
||||||
|
print(w)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue
Block a user