File: highlight.asm-arm.dark.html

package info (click to toggle)
kf6-syntax-highlighting 6.13.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 47,568 kB
  • sloc: xml: 197,750; cpp: 12,850; python: 3,023; sh: 955; perl: 546; ruby: 488; pascal: 393; javascript: 161; php: 150; jsp: 132; lisp: 131; haskell: 124; ada: 119; ansic: 107; makefile: 96; f90: 94; ml: 85; cobol: 81; yacc: 71; csh: 62; erlang: 54; sql: 51; java: 47; objc: 37; awk: 31; asm: 30; tcl: 29; fortran: 18; cs: 10
file content (157 lines) | stat: -rw-r--r-- 24,259 bytes parent folder | download
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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
<!DOCTYPE html>
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>highlight.asm-arm</title>
<meta name="generator" content="KF5::SyntaxHighlighting - Definition (ARM Assembler) - Theme (Breeze Dark)"/>
</head><body style="background-color:#232629;color:#cfcfc2"><pre>
<span style="color:#7a7c7d">; </span><span style="color:#3f8058;font-style:italic">SPDX-FileCopyrightText:</span><span style="color:#7a7c7d"> 2025 Leo Marušić &lt;leomarusic7@gmail.com></span>
<span style="color:#7a7c7d">; </span><span style="color:#3f8058;font-style:italic">SPDX-License-Identifier:</span><span style="color:#3f8058;font-style:italic"> </span><span style="color:#3f8058;font-style:italic">MIT</span>
<span style="color:#fdbc4b;font-weight:bold">MAIN:</span>
 <span style="color:#8e44ad">MOV</span> <span style="color:#2980b9">SP</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">0x10000</span>       <span style="color:#7a7c7d">; stack initialization</span>
 <span style="color:#8e44ad">LDR</span> <span style="color:#2980b9">R0</span><span style="color:#3f8058">,</span> MEM            <span style="color:#7a7c7d">; pointer to the address of the operands</span>
 <span style="color:#8e44ad">LDR</span> <span style="color:#2980b9">R12</span><span style="color:#3f8058">,</span> REZ           <span style="color:#7a7c7d">; pointer for the result address</span>
<span style="color:#fdbc4b;font-weight:bold">MAINLOOP:</span>
 <span style="color:#8e44ad">ADD</span> <span style="color:#2980b9">R0</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">R0</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">0x8</span>       <span style="color:#7a7c7d">; point to the operation in the operand block</span>
 <span style="color:#8e44ad">LDR</span> <span style="color:#2980b9">R1</span><span style="color:#3f8058">,</span> <span style="color:#3f8058">[</span><span style="color:#2980b9">R0</span><span style="color:#3f8058">]</span>           <span style="color:#7a7c7d">; save the operation code in R1</span>
 <span style="color:#8e44ad">CMP</span> <span style="color:#2980b9">R1</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">0x0</span>           <span style="color:#7a7c7d">; check for subtraction</span>
 <span style="color:#fdbc4b;font-weight:bold">BEQ</span> SUBTRACT
 <span style="color:#8e44ad">CMP</span> <span style="color:#2980b9">R1</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">0x1</span>           <span style="color:#7a7c7d">; check for addition</span>
 <span style="color:#fdbc4b;font-weight:bold">BEQ</span> ADDLOOP
 <span style="color:#8e44ad">CMP</span> <span style="color:#2980b9">R1</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">0x2</span>           <span style="color:#7a7c7d">; check for multiplication</span>
 <span style="color:#fdbc4b;font-weight:bold">BEQ</span> MULLOOP
 <span style="color:#8e44ad">CMP</span> <span style="color:#2980b9">R1</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">0x3</span>           <span style="color:#7a7c7d">; check for division</span>
 <span style="color:#fdbc4b;font-weight:bold">BEQ</span> DIVIDEOP
 <span style="color:#8e44ad">MVN</span> <span style="color:#2980b9">R2</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">0x0</span>           <span style="color:#7a7c7d">; put 0xFFFFFFFF in R2</span>
 <span style="color:#8e44ad">CMP</span> <span style="color:#2980b9">R1</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">R2</span>             <span style="color:#7a7c7d">; check for the end</span>
 <span style="color:#fdbc4b;font-weight:bold">BEQ</span> FINISH
 <span style="color:#fdbc4b;font-weight:bold">B</span> MAINLOOP             <span style="color:#7a7c7d">; go back to the loop</span>

<span style="color:#fdbc4b;font-weight:bold">SUBTRACT:</span>
 <span style="color:#8e44ad">SUB</span> <span style="color:#2980b9">R0</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">R0</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">0x8</span>   <span style="color:#7a7c7d">; go back to the beginning of the operand block</span>
 <span style="color:#8e44ad">LDR</span> <span style="color:#2980b9">R1</span><span style="color:#3f8058">,</span> <span style="color:#3f8058">[</span><span style="color:#2980b9">R0</span><span style="color:#3f8058">]</span>       <span style="color:#7a7c7d">; load the first operand</span>
 <span style="color:#8e44ad">LDR</span> <span style="color:#2980b9">R2</span><span style="color:#3f8058">,</span> <span style="color:#3f8058">[</span><span style="color:#2980b9">R0</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">0x4</span><span style="color:#3f8058">]</span> <span style="color:#7a7c7d">; load the second operand</span>
 <span style="color:#8e44ad">SUB</span> <span style="color:#2980b9">R3</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">R1</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">R2</span>     <span style="color:#7a7c7d">; subtract</span>
 <span style="color:#8e44ad">STR</span> <span style="color:#2980b9">R3</span><span style="color:#3f8058">,</span> <span style="color:#3f8058">[</span><span style="color:#2980b9">R12</span><span style="color:#3f8058">]</span>      <span style="color:#7a7c7d">; save the result</span>
 <span style="color:#8e44ad">ADD</span> <span style="color:#2980b9">R12</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">R12</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">0x4</span> <span style="color:#7a7c7d">; move the result address pointer</span>
 <span style="color:#8e44ad">ADD</span> <span style="color:#2980b9">R0</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">R0</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">0xC</span>   <span style="color:#7a7c7d">; move the operand address pointer</span>
 <span style="color:#fdbc4b;font-weight:bold">B</span> MAINLOOP

<span style="color:#fdbc4b;font-weight:bold">ADDLOOP:</span>
 <span style="color:#8e44ad">SUB</span> <span style="color:#2980b9">R0</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">R0</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">0x8</span>   <span style="color:#7a7c7d">; go back to the beginning of the operand block</span>
 <span style="color:#8e44ad">LDR</span> <span style="color:#2980b9">R1</span><span style="color:#3f8058">,</span> <span style="color:#3f8058">[</span><span style="color:#2980b9">R0</span><span style="color:#3f8058">]</span>       <span style="color:#7a7c7d">; load the first operand</span>
 <span style="color:#8e44ad">LDR</span> <span style="color:#2980b9">R2</span><span style="color:#3f8058">,</span> <span style="color:#3f8058">[</span><span style="color:#2980b9">R0</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">0x4</span><span style="color:#3f8058">]</span> <span style="color:#7a7c7d">; load the second operand</span>
 <span style="color:#8e44ad">ADD</span> <span style="color:#2980b9">R3</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">R1</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">R2</span>     <span style="color:#7a7c7d">; add</span>
 <span style="color:#8e44ad">STR</span> <span style="color:#2980b9">R3</span><span style="color:#3f8058">,</span> <span style="color:#3f8058">[</span><span style="color:#2980b9">R12</span><span style="color:#3f8058">]</span>      <span style="color:#7a7c7d">; save the result</span>
 <span style="color:#8e44ad">ADD</span> <span style="color:#2980b9">R12</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">R12</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">0x4</span> <span style="color:#7a7c7d">; move the result address pointer</span>
 <span style="color:#8e44ad">ADD</span> <span style="color:#2980b9">R0</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">R0</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">0xC</span>   <span style="color:#7a7c7d">; move the operand address pointer</span>
 <span style="color:#fdbc4b;font-weight:bold">B</span> MAINLOOP

<span style="color:#fdbc4b;font-weight:bold">MULLOOP:</span>
 <span style="color:#8e44ad">SUB</span> <span style="color:#2980b9">R0</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">R0</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">0x8</span>   <span style="color:#7a7c7d">; go back to the beginning of the operand block</span>
 <span style="color:#8e44ad">LDR</span> <span style="color:#2980b9">R1</span><span style="color:#3f8058">,</span> <span style="color:#3f8058">[</span><span style="color:#2980b9">R0</span><span style="color:#3f8058">]</span>       <span style="color:#7a7c7d">; load the first operand</span>
 <span style="color:#8e44ad">LDR</span> <span style="color:#2980b9">R2</span><span style="color:#3f8058">,</span> <span style="color:#3f8058">[</span><span style="color:#2980b9">R0</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">0x4</span><span style="color:#3f8058">]</span> <span style="color:#7a7c7d">; load the second operand</span>
 <span style="color:#8e44ad">MUL</span> <span style="color:#2980b9">R3</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">R1</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">R2</span>     <span style="color:#7a7c7d">; multiply</span>
 <span style="color:#8e44ad">STR</span> <span style="color:#2980b9">R3</span><span style="color:#3f8058">,</span> <span style="color:#3f8058">[</span><span style="color:#2980b9">R12</span><span style="color:#3f8058">]</span>      <span style="color:#7a7c7d">; save the result</span>
 <span style="color:#8e44ad">ADD</span> <span style="color:#2980b9">R12</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">R12</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">0x4</span> <span style="color:#7a7c7d">; move the result address pointer</span>
 <span style="color:#8e44ad">ADD</span> <span style="color:#2980b9">R0</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">R0</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">0xC</span>   <span style="color:#7a7c7d">; move the operand address pointer</span>
 <span style="color:#fdbc4b;font-weight:bold">B</span> MAINLOOP

<span style="color:#fdbc4b;font-weight:bold">DIVIDEOP:</span>
 <span style="color:#8e44ad">SUB</span> <span style="color:#2980b9">R0</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">R0</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">0x8</span>   <span style="color:#7a7c7d">; go back to the beginning of the operand block</span>
 <span style="color:#8e44ad">LDR</span> <span style="color:#2980b9">R1</span><span style="color:#3f8058">,</span> <span style="color:#3f8058">[</span><span style="color:#2980b9">R0</span><span style="color:#3f8058">]</span>       <span style="color:#7a7c7d">; load the first operand</span>
 <span style="color:#8e44ad">LDR</span> <span style="color:#2980b9">R2</span><span style="color:#3f8058">,</span> <span style="color:#3f8058">[</span><span style="color:#2980b9">R0</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">0x4</span><span style="color:#3f8058">]</span> <span style="color:#7a7c7d">; load the second operand</span>
 <span style="color:#8e44ad">SUB</span> <span style="color:#2980b9">SP</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">SP</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">0x4</span>   <span style="color:#7a7c7d">; space for the result</span>
 <span style="color:#8e44ad">STMFD</span> <span style="color:#2980b9">SP</span><span style="color:#3f8058">!,</span> <span style="color:#3f8058">{</span><span style="color:#2980b9">R1</span><span style="color:#3f8058">-</span><span style="color:#2980b9">R2</span><span style="color:#3f8058">}</span> <span style="color:#7a7c7d">; put the operands on the stack</span>
 <span style="color:#fdbc4b;font-weight:bold">BL</span> DIVIDE
 <span style="color:#8e44ad">ADD</span> <span style="color:#2980b9">SP</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">SP</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">0x8</span>   <span style="color:#7a7c7d">; stack cleanup</span>
 <span style="color:#8e44ad">LDMFD</span> <span style="color:#2980b9">SP</span><span style="color:#3f8058">!,</span> <span style="color:#3f8058">{</span><span style="color:#2980b9">R3</span><span style="color:#3f8058">}</span>    <span style="color:#7a7c7d">; retrieve the result</span>
 <span style="color:#8e44ad">STR</span> <span style="color:#2980b9">R3</span><span style="color:#3f8058">,</span> <span style="color:#3f8058">[</span><span style="color:#2980b9">R12</span><span style="color:#3f8058">]</span>      <span style="color:#7a7c7d">; save the result</span>
 <span style="color:#8e44ad">ADD</span> <span style="color:#2980b9">R12</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">R12</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">0x4</span> <span style="color:#7a7c7d">; move the result address pointer</span>
 <span style="color:#8e44ad">ADD</span> <span style="color:#2980b9">R0</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">R0</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">0xC</span>   <span style="color:#7a7c7d">; move the operand address pointer</span>
 <span style="color:#fdbc4b;font-weight:bold">B</span> MAINLOOP

<span style="color:#fdbc4b;font-weight:bold">DIVIDE:</span>
 <span style="color:#8e44ad">STMFD</span> <span style="color:#2980b9">SP</span><span style="color:#3f8058">!,</span> <span style="color:#3f8058">{</span><span style="color:#2980b9">R3</span><span style="color:#3f8058">-</span><span style="color:#2980b9">R5</span><span style="color:#3f8058">}</span>       <span style="color:#7a7c7d">; save the context</span>
 <span style="color:#8e44ad">LDR</span> <span style="color:#2980b9">R3</span><span style="color:#3f8058">,</span> <span style="color:#3f8058">[</span><span style="color:#2980b9">SP</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">12</span><span style="color:#3f8058">]</span>        <span style="color:#7a7c7d">; load the numerator</span>
 <span style="color:#8e44ad">LDR</span> <span style="color:#2980b9">R4</span><span style="color:#3f8058">,</span> <span style="color:#3f8058">[</span><span style="color:#2980b9">SP</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">16</span><span style="color:#3f8058">]</span>        <span style="color:#7a7c7d">; load the denominator</span>
 <span style="color:#8e44ad">MOV</span> <span style="color:#2980b9">R5</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">0</span>               <span style="color:#7a7c7d">; quotient</span>
 <span style="color:#8e44ad">CMP</span> <span style="color:#2980b9">R4</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">0x0</span>             <span style="color:#7a7c7d">; check for division by zero</span>
 <span style="color:#fdbc4b;font-weight:bold">BEQ</span> ZERO

 <span style="color:#8e44ad">CMP</span> <span style="color:#2980b9">R3</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">0</span>               <span style="color:#7a7c7d">; check if the numerator is negative</span>
 <span style="color:#8e44ad">MVNLT</span> <span style="color:#2980b9">R3</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">R3</span>             <span style="color:#7a7c7d">; 1's complement</span>
 <span style="color:#8e44ad">ADDLT</span> <span style="color:#2980b9">R3</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">R3</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">1</span>         <span style="color:#7a7c7d">; 2's complement</span>
 <span style="color:#8e44ad">CMP</span> <span style="color:#2980b9">R4</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">0</span>               <span style="color:#7a7c7d">; check if the denominator is negative</span>
 <span style="color:#8e44ad">MVNLT</span> <span style="color:#2980b9">R4</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">R4</span>             <span style="color:#7a7c7d">; 1's complement</span>
 <span style="color:#8e44ad">ADDLT</span> <span style="color:#2980b9">R4</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">R4</span> <span style="color:#3f8058">,</span> #<span style="color:#f67400">1</span>        <span style="color:#7a7c7d">; 2's complement</span>

<span style="color:#fdbc4b;font-weight:bold">LOOP1:</span>
 <span style="color:#8e44ad">CMP</span> <span style="color:#2980b9">R3</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">R4</span>         <span style="color:#7a7c7d">; compare the numerator and the denominator</span>
 <span style="color:#fdbc4b;font-weight:bold">BLT</span> DONE           <span style="color:#7a7c7d">; if the numerator is less than the denominator, the division is finished</span>
 <span style="color:#8e44ad">SUB</span> <span style="color:#2980b9">R3</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">R3</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">R4</span>     <span style="color:#7a7c7d">; subtract the denominator from the numerator</span>
 <span style="color:#8e44ad">ADD</span> <span style="color:#2980b9">R5</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">R5</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">1</span>     <span style="color:#7a7c7d">; increment the quotient</span>
 <span style="color:#fdbc4b;font-weight:bold">B</span> LOOP1

<span style="color:#fdbc4b;font-weight:bold">DONE:</span>
 <span style="color:#8e44ad">CMP</span> <span style="color:#2980b9">R1</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">0</span>         <span style="color:#7a7c7d">; check the sign of the original numerator</span>
 <span style="color:#8e44ad">MVNLT</span> <span style="color:#2980b9">R5</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">R5</span>       <span style="color:#7a7c7d">; 1's complement the quotient</span>
 <span style="color:#8e44ad">ADDLT</span> <span style="color:#2980b9">R5</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">R5</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">1</span>   <span style="color:#7a7c7d">; 2's complement the quotient</span>
 <span style="color:#8e44ad">CMP</span> <span style="color:#2980b9">R2</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">0</span>         <span style="color:#7a7c7d">; check the sign of the original denominator</span>
 <span style="color:#8e44ad">MVNLT</span> <span style="color:#2980b9">R5</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">R5</span>       <span style="color:#7a7c7d">; 1's complement the quotient</span>
 <span style="color:#8e44ad">ADDLT</span> <span style="color:#2980b9">R5</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">R5</span> <span style="color:#3f8058">,</span> #<span style="color:#f67400">1</span>  <span style="color:#7a7c7d">; 2's complement the quotient</span>
 <span style="color:#8e44ad">STR</span> <span style="color:#2980b9">R5</span><span style="color:#3f8058">,</span> <span style="color:#3f8058">[</span><span style="color:#2980b9">SP</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">20</span><span style="color:#3f8058">]</span>  <span style="color:#7a7c7d">; put the result on the stack</span>
 <span style="color:#8e44ad">LDMFD</span> <span style="color:#2980b9">SP</span><span style="color:#3f8058">!,</span> <span style="color:#3f8058">{</span><span style="color:#2980b9">R3</span><span style="color:#3f8058">-</span><span style="color:#2980b9">R5</span><span style="color:#3f8058">}</span> <span style="color:#7a7c7d">; restore the context</span>
 <span style="color:#8e44ad">MOV</span> <span style="color:#2980b9">PC</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">LR</span>

<span style="color:#fdbc4b;font-weight:bold">ZERO:</span>
 <span style="color:#8e44ad">STR</span> <span style="color:#2980b9">R5</span><span style="color:#3f8058">,</span> <span style="color:#3f8058">[</span><span style="color:#2980b9">SP</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">20</span><span style="color:#3f8058">]</span>  <span style="color:#7a7c7d">; save zero as the result on the stack</span>
 <span style="color:#8e44ad">LDMFD</span> <span style="color:#2980b9">SP</span><span style="color:#3f8058">!,</span> <span style="color:#3f8058">{</span><span style="color:#2980b9">R3</span><span style="color:#3f8058">-</span><span style="color:#2980b9">R5</span><span style="color:#3f8058">}</span> <span style="color:#7a7c7d">; restore the context</span>
 <span style="color:#8e44ad">MOV</span> <span style="color:#2980b9">PC</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">LR</span>

<span style="color:#fdbc4b;font-weight:bold">FINISH:</span>
 <span style="color:#8e44ad">MVN</span> <span style="color:#2980b9">R11</span><span style="color:#3f8058">,</span> #<span style="color:#f67400">0x0</span>      <span style="color:#7a7c7d">; marker for the end of the output</span>
 <span style="color:#8e44ad">STR</span> <span style="color:#2980b9">R11</span><span style="color:#3f8058">,</span> <span style="color:#3f8058">[</span><span style="color:#2980b9">R12</span><span style="color:#3f8058">]</span>     <span style="color:#7a7c7d">; save the marker at the end of the output</span>
 <span style="color:#8e44ad">SWI</span> 0x123456

<span style="color:#fdbc4b;font-weight:bold">MEM:</span> <span style="font-weight:bold">DW</span> 0x600       <span style="color:#7a7c7d">; Memory for the operands</span>
 <span style="font-weight:bold">ORG</span> 0x600
 <span style="font-weight:bold">DW</span> 0xFFFFFEFF
 <span style="font-weight:bold">DW</span> 0x00000010
 <span style="font-weight:bold">DW</span> 0x00000003

 <span style="font-weight:bold">DW</span> 0x000001F4
 <span style="font-weight:bold">DW</span> 0xFFFFFD44
 <span style="font-weight:bold">DW</span> 0x00000000

 <span style="font-weight:bold">DW</span> 0x00000003
 <span style="font-weight:bold">DW</span> 0xFFFFFFEC
 <span style="font-weight:bold">DW</span> 0x00000001

 <span style="font-weight:bold">DW</span> 0xFFFFFFFE
 <span style="font-weight:bold">DW</span> 0x0000000A
 <span style="font-weight:bold">DW</span> 0x00000002

 <span style="font-weight:bold">DW</span> 0xFFFFF000
 <span style="font-weight:bold">DW</span> 0xFFFFFFC0
 <span style="font-weight:bold">DW</span> 0x00000003

 <span style="font-weight:bold">DW</span> 0x00000001
 <span style="font-weight:bold">DW</span> 0x00000004
 <span style="font-weight:bold">DW</span> 0xFFFFFFFF

<span style="color:#fdbc4b;font-weight:bold">RES:</span> <span style="font-weight:bold">DW</span> 0x2000       <span style="color:#7a7c7d">; memory for the result</span>
 <span style="font-weight:bold">ORG</span> 0x2000
 <span style="font-weight:bold">DW</span> 0x0000
 <span style="font-weight:bold">DW</span> 0x0000
 <span style="font-weight:bold">DW</span> 0x0000
 <span style="font-weight:bold">DW</span> 0x0000
 <span style="font-weight:bold">DW</span> 0x0000
 <span style="font-weight:bold">DW</span> 0x0000
 <span style="font-weight:bold">DW</span> 0x0000
 <span style="font-weight:bold">DW</span> 0x0000
 <span style="font-weight:bold">DW</span> 0x0000
 <span style="font-weight:bold">DW</span> 0x0000
 <span style="font-weight:bold">DW</span> 0x0000
 <span style="font-weight:bold">DW</span> 0x0000
 <span style="font-weight:bold">DW</span> 0x0000
</pre></body></html>