-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdisassembly_IBM_Logo.txt
135 lines (135 loc) · 7.18 KB
/
disassembly_IBM_Logo.txt
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
Up 'n' running...
Disassembly of "roms/IBM Logo.ch8":
0x200: 0x00 ░░░░░░░░ 00E0 00E0: Clear screen
0x201: 0xE0 ███░░░░░
0x202: 0xA2 █░█░░░█░ A22A ANNN: Set register I to point at address 0x22A
0x203: 0x2A ░░█░█░█░
0x204: 0x60 ░██░░░░░ 600C 6XNN: Set register V0 to value 0x0C
0x205: 0x0C ░░░░██░░
0x206: 0x61 ░██░░░░█ 6108 6XNN: Set register V1 to value 0x08
0x207: 0x08 ░░░░█░░░
0x208: 0xD0 ██░█░░░░ D01F DXYN: Xor draw sprite of pixel size 8xF, from address pointed to by register I, at screen position (V0, V1)
0x209: 0x1F ░░░█████
0x20A: 0x70 ░███░░░░ 7009 7XNN: Add value 0x09 to register V0
0x20B: 0x09 ░░░░█░░█
0x20C: 0xA2 █░█░░░█░ A239 ANNN: Set register I to point at address 0x239
0x20D: 0x39 ░░███░░█
0x20E: 0xD0 ██░█░░░░ D01F DXYN: Xor draw sprite of pixel size 8xF, from address pointed to by register I, at screen position (V0, V1)
0x20F: 0x1F ░░░█████
0x210: 0xA2 █░█░░░█░ A248 ANNN: Set register I to point at address 0x248
0x211: 0x48 ░█░░█░░░
0x212: 0x70 ░███░░░░ 7008 7XNN: Add value 0x08 to register V0
0x213: 0x08 ░░░░█░░░
0x214: 0xD0 ██░█░░░░ D01F DXYN: Xor draw sprite of pixel size 8xF, from address pointed to by register I, at screen position (V0, V1)
0x215: 0x1F ░░░█████
0x216: 0x70 ░███░░░░ 7004 7XNN: Add value 0x04 to register V0
0x217: 0x04 ░░░░░█░░
0x218: 0xA2 █░█░░░█░ A257 ANNN: Set register I to point at address 0x257
0x219: 0x57 ░█░█░███
0x21A: 0xD0 ██░█░░░░ D01F DXYN: Xor draw sprite of pixel size 8xF, from address pointed to by register I, at screen position (V0, V1)
0x21B: 0x1F ░░░█████
0x21C: 0x70 ░███░░░░ 7008 7XNN: Add value 0x08 to register V0
0x21D: 0x08 ░░░░█░░░
0x21E: 0xA2 █░█░░░█░ A266 ANNN: Set register I to point at address 0x266
0x21F: 0x66 ░██░░██░
0x220: 0xD0 ██░█░░░░ D01F DXYN: Xor draw sprite of pixel size 8xF, from address pointed to by register I, at screen position (V0, V1)
0x221: 0x1F ░░░█████
0x222: 0x70 ░███░░░░ 7008 7XNN: Add value 0x08 to register V0
0x223: 0x08 ░░░░█░░░
0x224: 0xA2 █░█░░░█░ A275 ANNN: Set register I to point at address 0x275
0x225: 0x75 ░███░█░█
0x226: 0xD0 ██░█░░░░ D01F DXYN: Xor draw sprite of pixel size 8xF, from address pointed to by register I, at screen position (V0, V1)
0x227: 0x1F ░░░█████
0x228: 0x12 ░░░█░░█░ 1228 1NNN: Jump to address 0x228
0x229: 0x28 ░░█░█░░░
0x22A: 0xFF ████████
0x22B: 0x00 ░░░░░░░░
0x22C: 0xFF ████████
0x22D: 0x00 ░░░░░░░░
0x22E: 0x3C ░░████░░ 3C00 3XNN: Skip next instruction if register VC equals 0x00
0x22F: 0x00 ░░░░░░░░
0x230: 0x3C ░░████░░ 3C00 3XNN: Skip next instruction if register VC equals 0x00
0x231: 0x00 ░░░░░░░░
0x232: 0x3C ░░████░░ 3C00 3XNN: Skip next instruction if register VC equals 0x00
0x233: 0x00 ░░░░░░░░
0x234: 0x3C ░░████░░ 3C00 3XNN: Skip next instruction if register VC equals 0x00
0x235: 0x00 ░░░░░░░░
0x236: 0xFF ████████
0x237: 0x00 ░░░░░░░░
0x238: 0xFF ████████
0x239: 0xFF ████████
0x23A: 0x00 ░░░░░░░░
0x23B: 0xFF ████████
0x23C: 0x00 ░░░░░░░░
0x23D: 0x38 ░░███░░░
0x23E: 0x00 ░░░░░░░░
0x23F: 0x3F ░░██████
0x240: 0x00 ░░░░░░░░
0x241: 0x3F ░░██████
0x242: 0x00 ░░░░░░░░
0x243: 0x38 ░░███░░░
0x244: 0x00 ░░░░░░░░
0x245: 0xFF ████████
0x246: 0x00 ░░░░░░░░
0x247: 0xFF ████████
0x248: 0x80 █░░░░░░░ 8000 8XY0: V0 is set to value of V0. V0 is not affected.
0x249: 0x00 ░░░░░░░░
0x24A: 0xE0 ███░░░░░
0x24B: 0x00 ░░░░░░░░
0x24C: 0xE0 ███░░░░░
0x24D: 0x00 ░░░░░░░░
0x24E: 0x80 █░░░░░░░ 8000 8XY0: V0 is set to value of V0. V0 is not affected.
0x24F: 0x00 ░░░░░░░░
0x250: 0x80 █░░░░░░░ 8000 8XY0: V0 is set to value of V0. V0 is not affected.
0x251: 0x00 ░░░░░░░░
0x252: 0xE0 ███░░░░░
0x253: 0x00 ░░░░░░░░
0x254: 0xE0 ███░░░░░
0x255: 0x00 ░░░░░░░░
0x256: 0x80 █░░░░░░░
0x257: 0xF8 █████░░░
0x258: 0x00 ░░░░░░░░
0x259: 0xFC ██████░░
0x25A: 0x00 ░░░░░░░░
0x25B: 0x3E ░░█████░
0x25C: 0x00 ░░░░░░░░
0x25D: 0x3F ░░██████
0x25E: 0x00 ░░░░░░░░
0x25F: 0x3B ░░███░██
0x260: 0x00 ░░░░░░░░
0x261: 0x39 ░░███░░█
0x262: 0x00 ░░░░░░░░
0x263: 0xF8 █████░░░
0x264: 0x00 ░░░░░░░░
0x265: 0xF8 █████░░░
0x266: 0x03 ░░░░░░██
0x267: 0x00 ░░░░░░░░
0x268: 0x07 ░░░░░███
0x269: 0x00 ░░░░░░░░
0x26A: 0x0F ░░░░████
0x26B: 0x00 ░░░░░░░░
0x26C: 0xBF █░██████ BF00 BNNN: Jump to address 0xF00 plus offset found in register V0
0x26D: 0x00 ░░░░░░░░
0x26E: 0xFB █████░██
0x26F: 0x00 ░░░░░░░░
0x270: 0xF3 ████░░██
0x271: 0x00 ░░░░░░░░
0x272: 0xE3 ███░░░██
0x273: 0x00 ░░░░░░░░
0x274: 0x43 ░█░░░░██ 43E0 4XNN: Skip next instruction if register V3 NOT equals 0xE0
0x275: 0xE0 ███░░░░░
0x276: 0x00 ░░░░░░░░ 00E0 00E0: Clear screen
0x277: 0xE0 ███░░░░░
0x278: 0x00 ░░░░░░░░
0x279: 0x80 █░░░░░░░
0x27A: 0x00 ░░░░░░░░
0x27B: 0x80 █░░░░░░░
0x27C: 0x00 ░░░░░░░░
0x27D: 0x80 █░░░░░░░
0x27E: 0x00 ░░░░░░░░
0x27F: 0x80 █░░░░░░░
0x280: 0x00 ░░░░░░░░ 00E0 00E0: Clear screen
0x281: 0xE0 ███░░░░░
0x282: 0x00 ░░░░░░░░ 00E0 00E0: Clear screen
0x283: 0xE0 ███░░░░░
Done.