Module:Instruction set table builder

Revision as of 00:23, 13 November 2020 by Bigbass (talk | contribs)

Documentation for this module may be created at Module:Instruction set table builder/doc

local getArgs = require('Module:Arguments').getArgs
local p = {}

function p.notation( frame )
    local args = getArgs(frame)
    local s = "{| class=\"wikitable\" style=\"text-align: center;\"\n! Symbol !! Description\n"
    
    local arr = {}
    for k,v in pairs(args) do
    	table.insert(arr, v)
    end
    
    for i = 1, #arr, 2 do
    	s = s .. "|-\n"
		s = s .. "| " .. arr[i] .. " || style=\"text-align: left;\"| " .. arr[i + 1] .. " || " .. arr[i + 2] .. "\n"
	end
    
    s = s .. "|}\n"
    
	return s
end

function p.set( frame )
	local args = getArgs(frame)
    local s = "{| class=\"wikitable\" style=\"text-align: center;\"\n! Mnemonic !! Description !! 32-bit Instruction Word\n"
    
    local arr = {}
    for k,v in pairs(args) do
    	table.insert(arr, v)
    end
    
    for i = 1, #arr, 3 do
    	s = s .. "|-\n"
		s = s .. "| style=\"text-align: left;\"| " .. arr[i] .. " || style=\"text-align: left;\"| " .. arr[i + 1] .. "\n"
	end
    
    s = s .. "|}\n"
    
	return s
end

return p