-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdisasmui.js
112 lines (88 loc) · 2.77 KB
/
disasmui.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
// Marcel Timm, RhinoDevel, 2020dec23
/** To be run during page load to augment single global obj. with new property.
*/
(function() // IIFE
{
'use strict';
var g = rhino6502doc, // Shortcut
f = {},
v = {};
f.initTopEleContent = function()
{
v.topEle.textContent = 'Disassembler';
};
f.initTopEle = function(parentNode, flexOrder)
{
v.topEle = g.ele.createAndAppend('div', parentNode, flexOrder);
v.topEle.style['font-weight'] = 'bold';
f.initTopEleContent();
};
f.initBinaryInputEle = function(parentNode, flexOrder)
{
v.binaryInputEle = g.ele.createAndAppend(
'input', parentNode, flexOrder);
v.binaryInputEle.style['margin-bottom'] = '0.4ch';
v.binaryInputEle.title = 'Select binary source file to load.';
v.binaryInputEle.type = 'file';
};
f.initOffsetInputEle = function(parentNode, flexOrder)
{
v.offsetInputEle = g.ele.createAndAppend('input', parentNode, flexOrder);
v.offsetInputEle.title = 'Enter byte offset of code in loaded binary as decimal value.';
v.offsetInputEle.placeholder = 'byte offset';
v.offsetInputEle.style['text-align'] = 'right';
v.offsetInputEle.style['padding-left'] = '0.2ch';
v.offsetInputEle.style['width'] = '10ch';
v.offsetInputEle.type = 'number';
};
f.initOffsetEleContent = function()
{
v.offsetTitleEle = g.ele.createAndAppend('div', v.offsetEle, 1);
v.offsetTitleEle.textContent = 'Byte offset:';
v.offsetTitleEle.style['padding-right'] = '0.2ch';
f.initOffsetInputEle(v.offsetEle, 2);
};
f.initOffsetEle = function(parentNode, flexOrder)
{
v.offsetEle = g.ele.createAndAppend('div', parentNode, flexOrder, 'row');
v.offsetEle.style['margin-bottom'] = '0.4ch';
f.initOffsetEleContent();
};
f.initCodeEle = function(parentNode, flexOrder)
{
v.codeEle = g.ele.createAndAppend(
'div', parentNode, flexOrder, 'column');
v.codeEle.style.border = '1px solid black';
v.codeEle.style.width = '38ch';
v.codeEle.style.height = '48ch';
v.codeEle.style['overflow-y'] = 'scroll';
v.codeEle.style['font-family'] = 'monospace';
};
f.initMainEleContent = function()
{
f.initTopEle(v.mainEle, 1);
f.initBinaryInputEle(v.mainEle, 2);
f.initOffsetEle(v.mainEle, 3);
f.initCodeEle(v.mainEle, 4);
};
f.initMainEle = function(parentNode, flexOrder)
{
v.mainEle = g.ele.createAndAppend(
'div', parentNode, flexOrder, 'column');
f.initMainEleContent();
};
f.getEles = function()
{
return {
binaryInput: v.binaryInputEle,
offsetInput: v.offsetInputEle,
code: v.codeEle
};
};
f.initAndGetEles = function(parentNode, flexOrder)
{
f.initMainEle(parentNode, flexOrder);
return f.getEles();
};
g.disAsmUiInitAndGetEles = f.initAndGetEles;
}());