New page wikitext, after the edit (new_wikitext) | '== Assembely ==
This is a fun modification of '''AMD64''' assembly language to look quirky.
"Assembely" is a typo of "Assembly" word.
=== MOV Operation ===
This operation allows to change a register, which can used as a flag.
Syntax: '''MOV''' x, y
Operation: R'''x''' = y ('''There are 32-bit R0-R31 registers''')
Flags:
R0 become 255 - Prints a ASCII/Unicode character with ASCII code in R31.
R1 become 255 - Clears all registers to 0
R2 become 255 - Sets R30 to ASCII code of '''R29'''th character of input, and characters in input are 0-indexed.
=== INT Operation ===
Syntax: '''INT''' x
Operation: Varies based on value of X.
Meaning of X input:
10 - Halts program
11 - Jumps at address 0 (first command)
12 - Hangs program (infinite loop)
=== RDM Operation ===
Reads value of a memory address to a register.
Syntax: '''RDM''' x, y
Operation: R'''y''' = Value in memory address x
=== WRM Operation ===
Writes to a memory with specified address.
Syntax: '''WRM''' x, y
Operation: Memory address X = Y
=== INCR Operation ===
Increases a value of a register.
Syntax: '''INCR''' x, y
Operation: R'''x''' = R'''x''' + Y
=== DECR Operation ===
Decreases a value of a register.
Syntax: '''DECR''' x, y
Operation: R'''x''' = R'''x''' - Y
=== DECM Operation ===
Decreases a value of a memory address.
Syntax: '''DECM''' x, y
Operation: Memory address X = Memory address X - Y
=== INCM Operation ===
Increases a value of a memory address.
Syntax: '''INCM''' x, y
Operation: Memory address X = Memory address X + Y
=== ABT Operation ===
Gets about the system. R10 become architecture of system, R11 become Pentium version of system CPU, R12 will equal how many megabytes of RAM installed. So, R10 equal to 64, R11 become 4, and R12 become 32.
Syntax: '''ABT'''
Operation: R10 = 64 '''|''' R11 = 4 '''|''' R12 = 32
=== WAIT Operation ===
Hangs program for a specified number of seconds in R16.
Syntax: '''WAIT'''
Operation: HANG '''R16'''s
=== LWAIT Operation ===
Hangs program for a specified number of '''hours''' in R16.
Syntax: '''LWAIT'''
Operation: HANG '''R16'''hrs' |
Lines added in edit (added_lines) | [
0 => '== Assembely ==',
1 => '',
2 => 'This is a fun modification of '''AMD64''' assembly language to look quirky.',
3 => '"Assembely" is a typo of "Assembly" word.',
4 => '',
5 => '=== MOV Operation ===',
6 => 'This operation allows to change a register, which can used as a flag.',
7 => '',
8 => 'Syntax: '''MOV''' x, y',
9 => '',
10 => 'Operation: R'''x''' = y ('''There are 32-bit R0-R31 registers''')',
11 => '',
12 => 'Flags:',
13 => '',
14 => 'R0 become 255 - Prints a ASCII/Unicode character with ASCII code in R31.',
15 => '',
16 => 'R1 become 255 - Clears all registers to 0',
17 => '',
18 => 'R2 become 255 - Sets R30 to ASCII code of '''R29'''th character of input, and characters in input are 0-indexed.',
19 => '',
20 => '',
21 => '=== INT Operation ===',
22 => '',
23 => 'Syntax: '''INT''' x',
24 => '',
25 => 'Operation: Varies based on value of X.',
26 => '',
27 => 'Meaning of X input:',
28 => '',
29 => '10 - Halts program',
30 => '',
31 => '11 - Jumps at address 0 (first command)',
32 => '',
33 => '12 - Hangs program (infinite loop)',
34 => '',
35 => '',
36 => '',
37 => '=== RDM Operation ===',
38 => '',
39 => 'Reads value of a memory address to a register.',
40 => '',
41 => 'Syntax: '''RDM''' x, y',
42 => '',
43 => 'Operation: R'''y''' = Value in memory address x',
44 => '',
45 => '',
46 => '=== WRM Operation ===',
47 => '',
48 => 'Writes to a memory with specified address.',
49 => '',
50 => 'Syntax: '''WRM''' x, y',
51 => '',
52 => 'Operation: Memory address X = Y',
53 => '',
54 => '',
55 => '=== INCR Operation ===',
56 => '',
57 => 'Increases a value of a register.',
58 => '',
59 => 'Syntax: '''INCR''' x, y',
60 => '',
61 => 'Operation: R'''x''' = R'''x''' + Y',
62 => '',
63 => '',
64 => '=== DECR Operation ===',
65 => '',
66 => 'Decreases a value of a register.',
67 => '',
68 => 'Syntax: '''DECR''' x, y',
69 => '',
70 => 'Operation: R'''x''' = R'''x''' - Y',
71 => '',
72 => '',
73 => '=== DECM Operation ===',
74 => '',
75 => 'Decreases a value of a memory address.',
76 => '',
77 => 'Syntax: '''DECM''' x, y',
78 => '',
79 => 'Operation: Memory address X = Memory address X - Y',
80 => '',
81 => '',
82 => '',
83 => '=== INCM Operation ===',
84 => '',
85 => 'Increases a value of a memory address.',
86 => '',
87 => 'Syntax: '''INCM''' x, y',
88 => '',
89 => 'Operation: Memory address X = Memory address X + Y',
90 => '',
91 => '',
92 => '',
93 => '=== ABT Operation ===',
94 => '',
95 => 'Gets about the system. R10 become architecture of system, R11 become Pentium version of system CPU, R12 will equal how many megabytes of RAM installed. So, R10 equal to 64, R11 become 4, and R12 become 32.',
96 => '',
97 => 'Syntax: '''ABT'''',
98 => '',
99 => 'Operation: R10 = 64 '''|''' R11 = 4 '''|''' R12 = 32',
100 => '',
101 => '',
102 => '=== WAIT Operation ===',
103 => '',
104 => 'Hangs program for a specified number of seconds in R16.',
105 => '',
106 => 'Syntax: '''WAIT'''',
107 => '',
108 => 'Operation: HANG '''R16'''s',
109 => '',
110 => '',
111 => '=== LWAIT Operation ===',
112 => '',
113 => 'Hangs program for a specified number of '''hours''' in R16.',
114 => '',
115 => 'Syntax: '''LWAIT'''',
116 => '',
117 => 'Operation: HANG '''R16'''hrs'
] |