{ "name": "Assembly Emulator", "icon": `build_circle`, "desc": "An assembly emulator that uses a simple assembly language. Great for learning the basics of assembly!", "id": "asm-emu", "globalID": "GopalOS.AssemblyEmulator", "defaultRelease": "alpha", "releases": { "alpha": { "version": "v1.0.0-alpha.12", "app-files": { "asm-emu": { type: "pgm", content: function() { if (document.getElementById("app_asm-emu_window")) { document.getElementById("app_asm-emu_window").style.display = "block"; } else { document.getElementById("windows").insertAdjacentHTML("beforeend", getRef("/apps/asm-emu/window")); getRef("/apps/asm-emu/load")(); } focusWin(document.getElementById("app_asm-emu_window")); regTbarIcon("/apps/asm-emu/asm-emu", "app_asm-emu_window", os.apps["asm-emu"].icon, true); refreshWindows(); } }, "load": { type: "js", content: function() { createRef("/home/appdata/asm-emu", "dir", { "files": { type: "dir", content: { "stl": { type: "dir", content: { "testlib": { type: "asm", content: `; Test library .strout "Test library loaded", 0` } } }, "demo": { type: "asm", content: `; Demo for GopalOS Assembly Emulator jmp _main _main: mov eax, message mov ebx, 2 mov ecx, 10 jmp part mov eax, 100 part: mov ebx, part int 0x10 message: .db "Hello, World!", 0` }, "test": { type: "asm", content: `; Test file jmp _main oof: .strout "oof", 0 .strout "hello again", 0 jmp end _main: .strout "Hello!", 0 jmp befend loop: .strout "A", 0 .strout "B", 0 .strout "C", 0 jmp loop befend: .strout "up!", 0 jmp oof end: .strout "Bye!", 0` } } } }); let devices = getRef("/apps/asm-emu/device-templates"); for (let deviceId of Object.keys(devices)) { document.getElementById("app_asm-emu_device-templates").insertAdjacentHTML("beforeend", `