517 lines
73 KiB
Plaintext
517 lines
73 KiB
Plaintext
<Normal Text> </Normal Text><Branch Instructions>jmp</Branch Instructions><Normal Text> </Normal Text><Operators>near</Operators><Normal Text> </Normal Text><Data>dword</Data><Normal Text> </Normal Text><Symbol>[</Symbol><Number>0</Number><Symbol>]</Symbol><br/>
|
|
<Normal Text> </Normal Text><Branch Instructions>jmp</Branch Instructions><Normal Text> </Normal Text><Operators>far</Operators><Normal Text> </Normal Text><Data>dword</Data><Normal Text> </Normal Text><Symbol>[</Symbol><Number>0</Number><Symbol>]</Symbol><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Instructions>mov</Instructions><Normal Text> </Normal Text><Registers>bx</Registers><Symbol>,</Symbol><Registers>ax</Registers><Normal Text> </Normal Text><Comment>; general register to general register</Comment><br/>
|
|
<Normal Text> </Normal Text><Instructions>mov</Instructions><Normal Text> </Normal Text><Symbol>[</Symbol><Normal Text>char</Normal Text><Symbol>],</Symbol><Registers>al</Registers><Normal Text> </Normal Text><Comment>; general register to memory</Comment><br/>
|
|
<Normal Text> </Normal Text><Instructions>mov</Instructions><Normal Text> </Normal Text><Registers>dl</Registers><Symbol>,</Symbol><Number>32</Number><Normal Text> </Normal Text><Comment>; immediate value to general register</Comment><br/>
|
|
<Normal Text> </Normal Text><Instructions>mov</Instructions><Normal Text> </Normal Text><Registers>cr3</Registers><Symbol>,</Symbol><Registers>ebx</Registers><Normal Text> </Normal Text><Comment>; general register to control register</Comment><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Instructions>xchg</Instructions><Normal Text> </Normal Text><Registers>ax</Registers><Symbol>,</Symbol><Registers>bx</Registers><Normal Text> </Normal Text><Comment>; swap two general registers</Comment><br/>
|
|
<Normal Text> </Normal Text><Instructions>xchg</Instructions><Normal Text> </Normal Text><Registers>al</Registers><Symbol>,[</Symbol><Normal Text>char</Normal Text><Symbol>]</Symbol><Normal Text> </Normal Text><Comment>; swap register with memory</Comment><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Instructions>push</Instructions><Normal Text> </Normal Text><Registers>ax</Registers><Normal Text> </Normal Text><Comment>; store general register</Comment><br/>
|
|
<Normal Text> </Normal Text><Instructions>push</Instructions><Normal Text> </Normal Text><Registers>es</Registers><Normal Text> </Normal Text><Comment>; store segment register</Comment><br/>
|
|
<Normal Text> </Normal Text><Instructions>pushw</Instructions><Normal Text> </Normal Text><Symbol>[</Symbol><Registers>bx</Registers><Symbol>]</Symbol><Normal Text> </Normal Text><Comment>; store memory</Comment><br/>
|
|
<Normal Text> </Normal Text><Instructions>push</Instructions><Normal Text> </Normal Text><BaseN>1000</BaseN><Radix>h</Radix><Normal Text> </Normal Text><Comment>; store immediate value</Comment><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Instructions>imul</Instructions><Normal Text> </Normal Text><Registers>ax</Registers><Symbol>,[</Symbol><Registers>si</Registers><Symbol>],</Symbol><Number>10</Number><Normal Text> </Normal Text><Comment>; memory by immediate value to register</Comment><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Instructions>bt</Instructions><Normal Text> </Normal Text><Registers>ax</Registers><Symbol>,</Symbol><Number>15</Number><Normal Text> </Normal Text><Comment>; test bit in register</Comment><br/>
|
|
<Normal Text> </Normal Text><Instructions>bts</Instructions><Normal Text> </Normal Text><Data>word</Data><Normal Text> </Normal Text><Symbol>[</Symbol><Registers>bx</Registers><Symbol>],</Symbol><Number>15</Number><Normal Text> </Normal Text><Comment>; test and set bit in memory</Comment><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Instructions>bswap</Instructions><Normal Text> </Normal Text><Registers>edx</Registers><Normal Text> </Normal Text><Comment>; swap bytes in register</Comment><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Branch Instructions>jmp</Branch Instructions><Normal Text> </Normal Text><BaseN>100</BaseN><Radix>h</Radix><Normal Text> </Normal Text><Comment>; direct near jump</Comment><br/>
|
|
<Normal Text> </Normal Text><Branch Instructions>jmp</Branch Instructions><Normal Text> </Normal Text><BaseN>0FFFF</BaseN><Radix>h</Radix><Symbol>:</Symbol><Number>0</Number><Normal Text> </Normal Text><Comment>; direct far jump</Comment><br/>
|
|
<Normal Text> </Normal Text><Branch Instructions>jmp</Branch Instructions><Normal Text> </Normal Text><Registers>ax</Registers><Normal Text> </Normal Text><Comment>; indirect near jump</Comment><br/>
|
|
<Normal Text> </Normal Text><Branch Instructions>jmp</Branch Instructions><Normal Text> </Normal Text><Data>pword</Data><Normal Text> </Normal Text><Symbol>[</Symbol><Registers>ebx</Registers><Symbol>]</Symbol><Normal Text> </Normal Text><Comment>; indirect far jump</Comment><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Instructions>movs</Instructions><Normal Text> </Normal Text><Data>byte</Data><Normal Text> </Normal Text><Symbol>[</Symbol><Registers>di</Registers><Symbol>],[</Symbol><Registers>si</Registers><Symbol>]</Symbol><Normal Text> </Normal Text><Comment>; transfer byte</Comment><br/>
|
|
<Normal Text> </Normal Text><Instructions>movs</Instructions><Normal Text> </Normal Text><Data>word</Data><Normal Text> </Normal Text><Symbol>[</Symbol><Registers>es</Registers><Symbol>:</Symbol><Registers>di</Registers><Symbol>],[</Symbol><Registers>ss</Registers><Symbol>:</Symbol><Registers>si</Registers><Symbol>]</Symbol><Normal Text> </Normal Text><Comment>; transfer word</Comment><br/>
|
|
<Normal Text> </Normal Text><Instructions>movsd</Instructions><Normal Text> </Normal Text><Comment>; transfer double word</Comment><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Instructions>cmpxchg8b</Instructions><Normal Text> </Normal Text><Symbol>[</Symbol><Registers>bx</Registers><Symbol>]</Symbol><Normal Text> </Normal Text><Comment>; compare and exchange 8 bytes</Comment><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Instructions>movq2dq</Instructions><Normal Text> </Normal Text><Registers>xmm0</Registers><Symbol>,</Symbol><Registers>mm1</Registers><Normal Text> </Normal Text><Comment>; move from MMX register to SSE register</Comment><br/>
|
|
<Normal Text> </Normal Text><Instructions>movdq2q</Instructions><Normal Text> </Normal Text><Registers>mm0</Registers><Symbol>,</Symbol><Registers>xmm1</Registers><Normal Text> </Normal Text><Comment>; move from SSE register to MMX register</Comment><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Instructions>enter</Instructions><Normal Text> </Normal Text><Number>2048</Number><Symbol>,</Symbol><Number>0</Number><Normal Text> </Normal Text><Comment>; enter and allocate 2048 bytes on stack</Comment><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Instructions>mov</Instructions><Normal Text> </Normal Text><Symbol>[</Symbol><Normal Text>rip</Normal Text><Symbol>+</Symbol><Number>3</Number><Symbol>],</Symbol><Normal Text>sil </Normal Text><Comment>; manual RIP-relative addressing</Comment><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Instructions>blendvps</Instructions><Normal Text> </Normal Text><Registers>xmm3</Registers><Symbol>,</Symbol><Registers>xmm7</Registers><Symbol>,</Symbol><Registers>xmm0</Registers><Normal Text> </Normal Text><Comment>; blend according to mask</Comment><br/>
|
|
<Normal Text> </Normal Text><Instructions>vgatherqps</Instructions><Normal Text> </Normal Text><Registers>xmm0</Registers><Symbol>,[</Symbol><Registers>xmm2</Registers><Symbol>],</Symbol><Registers>xmm3</Registers><Normal Text> </Normal Text><Comment>; gather two floats</Comment><br/>
|
|
<Normal Text> </Normal Text><Instructions>vgatherqps</Instructions><Normal Text> </Normal Text><Registers>xmm0</Registers><Symbol>,[</Symbol><Registers>ymm2</Registers><Symbol>+</Symbol><Number>64</Number><Symbol>],</Symbol><Registers>xmm3</Registers><Normal Text> </Normal Text><Comment>; gather four floats</Comment><br/>
|
|
<Normal Text> </Normal Text><Instructions>vfmsub231ps</Instructions><Normal Text> </Normal Text><Registers>ymm1</Registers><Symbol>,</Symbol><Registers>ymm2</Registers><Symbol>,</Symbol><Registers>ymm3</Registers><Normal Text> </Normal Text><Comment>; multiply and subtract</Comment><br/>
|
|
<Normal Text> </Normal Text><Instructions>vfnmadd132sd</Instructions><Normal Text> </Normal Text><Registers>xmm0</Registers><Symbol>,</Symbol><Registers>xmm5</Registers><Symbol>,[</Symbol><Registers>ebx</Registers><Symbol>]</Symbol><Normal Text> </Normal Text><Comment>; multiply, negate and add</Comment><br/>
|
|
<Normal Text> </Normal Text><Instructions>vpermil2ps</Instructions><Normal Text> </Normal Text><Registers>ymm0</Registers><Symbol>,</Symbol><Registers>ymm3</Registers><Symbol>,</Symbol><Registers>ymm7</Registers><Symbol>,</Symbol><Registers>ymm2</Registers><Symbol>,</Symbol><Number>0</Number><Normal Text> </Normal Text><Comment>; permute from two sources</Comment><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Instructions>vscatterdps</Instructions><Normal Text> </Normal Text><Symbol>[</Symbol><Registers>eax</Registers><Symbol>+</Symbol><Registers>xmm1</Registers><Symbol>]{</Symbol><Registers>k1</Registers><Symbol>},</Symbol><Registers>xmm0</Registers><Normal Text> </Normal Text><Comment>; scatter four floats</Comment><br/>
|
|
<Normal Text> </Normal Text><Instructions>vscatterdpd</Instructions><Normal Text> </Normal Text><Symbol>[</Symbol><Registers>ymm3</Registers><Symbol>*</Symbol><Number>8</Number><Symbol>]{</Symbol><Registers>k3</Registers><Symbol>},</Symbol><Registers>zmm0</Registers><Normal Text> </Normal Text><Comment>; scatter eight doubles</Comment><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Data>dd</Data><Normal Text> sum</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>x</Unknown Instructions><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Number>1</Number><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>x</Unknown Instructions><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> x</Normal Text><Symbol>+</Symbol><Number>2</Number><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>sum</Unknown Instructions><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> x</Normal Text><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>if</Preprocessor><Normal Text> count</Normal Text><Symbol>></Symbol><Number>0</Number><br/>
|
|
<Normal Text> </Normal Text><Instructions>mov</Instructions><Normal Text> </Normal Text><Registers>cx</Registers><Symbol>,</Symbol><Normal Text>count</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Instructions>rep</Instructions><Normal Text> </Normal Text><Instructions>movsb</Instructions><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>if</Preprocessor><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>if</Preprocessor><Normal Text> count </Normal Text><Symbol>&</Symbol><Normal Text> </Normal Text><Symbol>~</Symbol><Normal Text> count </Normal Text><Operators>mod</Operators><Normal Text> </Normal Text><Number>4</Number><br/>
|
|
<Normal Text> </Normal Text><Instructions>mov</Instructions><Normal Text> </Normal Text><Registers>cx</Registers><Symbol>,</Symbol><Normal Text>count</Normal Text><Symbol>/</Symbol><Number>4</Number><br/>
|
|
<Normal Text> </Normal Text><Instructions>rep</Instructions><Normal Text> </Normal Text><Instructions>movsd</Instructions><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>else</Preprocessor><Normal Text> </Normal Text><Preprocessor>if</Preprocessor><Normal Text> count</Normal Text><Symbol>></Symbol><Number>4</Number><br/>
|
|
<Normal Text> </Normal Text><Instructions>mov</Instructions><Normal Text> </Normal Text><Registers>cx</Registers><Symbol>,</Symbol><Normal Text>count</Normal Text><Symbol>/</Symbol><Number>4</Number><br/>
|
|
<Normal Text> </Normal Text><Instructions>rep</Instructions><Normal Text> </Normal Text><Instructions>movsd</Instructions><br/>
|
|
<Normal Text> </Normal Text><Instructions>mov</Instructions><Normal Text> </Normal Text><Registers>cx</Registers><Symbol>,</Symbol><Normal Text>count </Normal Text><Operators>mod</Operators><Normal Text> </Normal Text><Number>4</Number><br/>
|
|
<Normal Text> </Normal Text><Instructions>rep</Instructions><Normal Text> </Normal Text><Instructions>movsb</Instructions><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>else</Preprocessor><br/>
|
|
<Normal Text> </Normal Text><Instructions>mov</Instructions><Normal Text> </Normal Text><Registers>cx</Registers><Symbol>,</Symbol><Normal Text>count</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Instructions>rep</Instructions><Normal Text> </Normal Text><Instructions>movsb</Instructions><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>if</Preprocessor><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>repeat</Preprocessor><Normal Text> </Normal Text><Number>8</Number><br/>
|
|
<Normal Text> </Normal Text><Instructions>mov</Instructions><Normal Text> </Normal Text><Data>byte</Data><Normal Text> </Normal Text><Symbol>[</Symbol><Registers>bx</Registers><Symbol>],%</Symbol><br/>
|
|
<Normal Text> </Normal Text><Instructions>inc</Instructions><Normal Text> </Normal Text><Registers>bx</Registers><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>repeat</Preprocessor><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>s</Unknown Instructions><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> x</Normal Text><Symbol>/</Symbol><Number>2</Number><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>repeat</Preprocessor><Normal Text> </Normal Text><Number>100</Number><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>if</Preprocessor><Normal Text> x</Normal Text><Symbol>/</Symbol><Normal Text>s </Normal Text><Symbol>=</Symbol><Normal Text> s</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>break</Preprocessor><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>if</Preprocessor><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>s</Unknown Instructions><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Symbol>(</Symbol><Normal Text>s</Normal Text><Symbol>+</Symbol><Normal Text>x</Normal Text><Symbol>/</Symbol><Normal Text>s</Normal Text><Symbol>)/</Symbol><Number>2</Number><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>repeat</Preprocessor><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>repeat</Preprocessor><Normal Text> </Normal Text><Symbol>$-$$</Symbol><br/>
|
|
<Normal Text> </Normal Text><Instructions>load</Instructions><Normal Text> a </Normal Text><Data>byte</Data><Normal Text> from </Normal Text><Symbol>$$+%-</Symbol><Number>1</Number><br/>
|
|
<Normal Text> </Normal Text><Instructions>store</Instructions><Normal Text> </Normal Text><Data>byte</Data><Normal Text> a </Normal Text><Operators>xor</Operators><Normal Text> c at </Normal Text><Symbol>$$+%-</Symbol><Number>1</Number><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>repeat</Preprocessor><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>GDTR</Unknown Instructions><Normal Text> </Normal Text><Data>dp</Data><Normal Text> </Normal Text><Symbol>?</Symbol><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>virtual</Preprocessor><Normal Text> </Normal Text><Preprocessor>at</Preprocessor><Normal Text> GDTR</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>GDT_limit</Unknown Instructions><Normal Text> </Normal Text><Data>dw</Data><Normal Text> </Normal Text><Symbol>?</Symbol><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>GDT_address</Unknown Instructions><Normal Text> </Normal Text><Data>dd</Data><Normal Text> </Normal Text><Symbol>?</Symbol><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>virtual</Preprocessor><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>virtual</Preprocessor><Normal Text> </Normal Text><Preprocessor>at</Preprocessor><Normal Text> </Normal Text><Number>0</Number><br/>
|
|
<Normal Text> </Normal Text><Data>file</Data><Normal Text> </Normal Text><String>'a.txt'</String><Symbol>:</Symbol><BaseN>10</BaseN><Radix>h</Radix><Symbol>,</Symbol><Number>1</Number><br/>
|
|
<Normal Text> </Normal Text><Instructions>load</Instructions><Normal Text> char from </Normal Text><Number>0</Number><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>virtual</Preprocessor><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>virtual</Preprocessor><Normal Text> </Normal Text><Preprocessor>at</Preprocessor><Normal Text> </Normal Text><Number>0</Number><Normal Text> as </Normal Text><String>'asc'</String><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>times</Preprocessor><Normal Text> </Normal Text><Number>256</Number><Normal Text> </Normal Text><Data>db</Data><Normal Text> </Normal Text><Symbol>%-</Symbol><Number>1</Number><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>virtual</Preprocessor><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>virtual</Preprocessor><Normal Text> </Normal Text><Preprocessor>at</Preprocessor><Normal Text> </Normal Text><Number>0</Number><br/>
|
|
<Normal Text> </Normal Text><Label>hex_digits:</Label><Normal Text>:</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Data>db</Data><Normal Text> </Normal Text><String>'0123456789ABCDEF'</String><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>virtual</Preprocessor><br/>
|
|
<Normal Text> </Normal Text><Instructions>load</Instructions><Normal Text> a </Normal Text><Data>byte</Data><Normal Text> from hex_digits</Normal Text><Symbol>:</Symbol><Number>10</Number><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>bits</Unknown Instructions><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Number>16</Number><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>display</Preprocessor><Normal Text> </Normal Text><String>'Current offset is 0x'</String><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>repeat</Preprocessor><Normal Text> bits</Normal Text><Symbol>/</Symbol><Number>4</Number><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>d</Unknown Instructions><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><String>'0'</String><Normal Text> </Normal Text><Symbol>+</Symbol><Normal Text> </Normal Text><Symbol>$</Symbol><Normal Text> </Normal Text><Operators>shr</Operators><Normal Text> </Normal Text><Symbol>(</Symbol><Normal Text>bits</Normal Text><Symbol>-%*</Symbol><Number>4</Number><Symbol>)</Symbol><Normal Text> </Normal Text><Operators>and</Operators><Normal Text> </Normal Text><BaseN>0F</BaseN><Radix>h</Radix><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>if</Preprocessor><Normal Text> d </Normal Text><Symbol>></Symbol><Normal Text> </Normal Text><String>'9'</String><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>d</Unknown Instructions><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> d </Normal Text><Symbol>+</Symbol><Normal Text> </Normal Text><String>'A'</String><Symbol>-</Symbol><String>'9'</String><Symbol>-</Symbol><Number>1</Number><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>if</Preprocessor><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>display</Preprocessor><Normal Text> d</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>repeat</Preprocessor><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>display</Preprocessor><Normal Text> </Normal Text><Number>13</Number><Symbol>,</Symbol><Number>10</Number><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>if</Preprocessor><Normal Text> </Normal Text><Symbol>~</Symbol><Normal Text> </Normal Text><Operators>defined</Operators><Normal Text> alpha</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Label>alpha:</Label><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>if</Preprocessor><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>if</Preprocessor><Normal Text> </Normal Text><Symbol>~</Symbol><Normal Text> </Normal Text><Operators>defined</Operators><Normal Text> alpha </Normal Text><Symbol>|</Symbol><Normal Text> </Normal Text><Operators>defined</Operators><Normal Text> </Normal Text><Label>@f</Label><br/>
|
|
<Normal Text> </Normal Text><Label>alpha:</Label><br/>
|
|
<Normal Text> </Normal Text><Label>@@:</Label><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>if</Preprocessor><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Instructions>include</Instructions><Normal Text> </Normal Text><String>'macros.inc'</String><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>d</Unknown Instructions><Normal Text> equ </Normal Text><Data>dword</Data><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>NULL</Unknown Instructions><Normal Text> equ d </Normal Text><Number>0</Number><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>d</Unknown Instructions><Normal Text> equ </Normal Text><Registers>edx</Registers><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>d</Unknown Instructions><Normal Text> equ d</Normal Text><Symbol>,</Symbol><Registers>eax</Registers><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>b</Unknown Instructions><Normal Text> equ </Normal Text><Data>byte</Data><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>w</Unknown Instructions><Normal Text> equ </Normal Text><Data>word</Data><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>d</Unknown Instructions><Normal Text> equ </Normal Text><Data>dword</Data><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>p</Unknown Instructions><Normal Text> equ </Normal Text><Data>pword</Data><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>f</Unknown Instructions><Normal Text> equ </Normal Text><Data>fword</Data><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>q</Unknown Instructions><Normal Text> equ </Normal Text><Data>qword</Data><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>t</Unknown Instructions><Normal Text> equ </Normal Text><Data>tword</Data><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>x</Unknown Instructions><Normal Text> equ </Normal Text><Data>dqword</Data><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>y</Unknown Instructions><Normal Text> equ </Normal Text><Data>qqword</Data><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>incl</Unknown Instructions><Normal Text> fix include</Normal Text><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>macro</Preprocessor><Normal Text> tst </Normal Text><Symbol>{</Symbol><Instructions>test</Instructions><Normal Text> </Normal Text><Registers>al</Registers><Symbol>,</Symbol><Radix>0x</Radix><BaseN>FF</BaseN><Symbol>}</Symbol><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>macro</Preprocessor><Normal Text> stos0</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Symbol>{</Symbol><br/>
|
|
<Normal Text> </Normal Text><Instructions>xor</Instructions><Normal Text> </Normal Text><Registers>al</Registers><Symbol>,</Symbol><Registers>al</Registers><br/>
|
|
<Normal Text> </Normal Text><Instructions>stosb</Instructions><br/>
|
|
<Normal Text> </Normal Text><Symbol>}</Symbol><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>macro</Preprocessor><Normal Text> align value </Normal Text><Symbol>{</Symbol><Normal Text> </Normal Text><Data>rb</Data><Normal Text> </Normal Text><Symbol>(</Symbol><Normal Text>value</Normal Text><Symbol>-</Symbol><Number>1</Number><Symbol>)-($+</Symbol><Normal Text>value</Normal Text><Symbol>-</Symbol><Number>1</Number><Symbol>)</Symbol><Normal Text> </Normal Text><Operators>mod</Operators><Normal Text> value </Normal Text><Symbol>}</Symbol><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>macro</Preprocessor><Normal Text> mov op1</Normal Text><Symbol>,</Symbol><Normal Text>op2</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Symbol>{</Symbol><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>if</Preprocessor><Normal Text> op1 in </Normal Text><Symbol><</Symbol><Registers>ds</Registers><Symbol>,</Symbol><Registers>es</Registers><Symbol>,</Symbol><Registers>fs</Registers><Symbol>,</Symbol><Registers>gs</Registers><Symbol>,</Symbol><Registers>ss</Registers><Symbol>></Symbol><Normal Text> </Normal Text><Symbol>&</Symbol><Normal Text> op2 in </Normal Text><Symbol><</Symbol><Registers>cs</Registers><Symbol>,</Symbol><Registers>ds</Registers><Symbol>,</Symbol><Registers>es</Registers><Symbol>,</Symbol><Registers>fs</Registers><Symbol>,</Symbol><Registers>gs</Registers><Symbol>,</Symbol><Registers>ss</Registers><Symbol>></Symbol><br/>
|
|
<Normal Text> </Normal Text><Instructions>push</Instructions><Normal Text> op2</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Instructions>pop</Instructions><Normal Text> op1</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>else</Preprocessor><br/>
|
|
<Normal Text> </Normal Text><Instructions>mov</Instructions><Normal Text> op1</Normal Text><Symbol>,</Symbol><Normal Text>op2</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>if</Preprocessor><br/>
|
|
<Normal Text> </Normal Text><Symbol>}</Symbol><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>macro</Preprocessor><Normal Text> stoschar </Normal Text><Symbol>[</Symbol><Normal Text>char</Normal Text><Symbol>]</Symbol><br/>
|
|
<Normal Text> </Normal Text><Symbol>{</Symbol><br/>
|
|
<Normal Text> </Normal Text><Instructions>mov</Instructions><Normal Text> </Normal Text><Registers>al</Registers><Symbol>,</Symbol><Normal Text>char</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Instructions>stosb</Instructions><br/>
|
|
<Normal Text> </Normal Text><Symbol>}</Symbol><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>macro</Preprocessor><Normal Text> movstr</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Symbol>{</Symbol><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>local</Preprocessor><Normal Text> move</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Label>move:</Label><br/>
|
|
<Normal Text> </Normal Text><Instructions>lodsb</Instructions><br/>
|
|
<Normal Text> </Normal Text><Instructions>stosb</Instructions><br/>
|
|
<Normal Text> </Normal Text><Instructions>test</Instructions><Normal Text> </Normal Text><Registers>al</Registers><Symbol>,</Symbol><Registers>al</Registers><br/>
|
|
<Normal Text> </Normal Text><Branch Instructions>jnz</Branch Instructions><Normal Text> move</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Symbol>}</Symbol><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>macro</Preprocessor><Normal Text> strtbl name</Normal Text><Symbol>,[</Symbol><Normal Text>string</Normal Text><Symbol>]</Symbol><br/>
|
|
<Normal Text> </Normal Text><Symbol>{</Symbol><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>common</Preprocessor><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>label</Preprocessor><Normal Text> name </Normal Text><Data>dword</Data><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>forward</Unknown Instructions><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>local</Preprocessor><Normal Text> label</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Data>dd</Data><Normal Text> label</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>forward</Unknown Instructions><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>label</Preprocessor><Normal Text> </Normal Text><Data>db</Data><Normal Text> string</Normal Text><Symbol>,</Symbol><Number>0</Number><br/>
|
|
<Normal Text> </Normal Text><Symbol>}</Symbol><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Instructions>push</Instructions><Normal Text> </Normal Text><Number>3</Number><br/>
|
|
<Normal Text> </Normal Text><Instructions>push</Instructions><Normal Text> </Normal Text><Number>2</Number><br/>
|
|
<Normal Text> </Normal Text><Instructions>push</Instructions><Normal Text> </Normal Text><Number>1</Number><br/>
|
|
<Normal Text> </Normal Text><Branch Instructions>call</Branch Instructions><Normal Text> foo</Normal Text><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>macro</Preprocessor><Normal Text> invoke proc</Normal Text><Symbol>,[</Symbol><Normal Text>arg</Normal Text><Symbol>]</Symbol><br/>
|
|
<Normal Text> </Normal Text><Symbol>{</Symbol><Normal Text> </Normal Text><Preprocessor>common</Preprocessor><Normal Text> stdcall </Normal Text><Symbol>[</Symbol><Normal Text>proc</Normal Text><Symbol>],</Symbol><Normal Text>arg </Normal Text><Symbol>}</Symbol><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>macro</Preprocessor><Normal Text> jif op1</Normal Text><Symbol>,</Symbol><Normal Text>cond</Normal Text><Symbol>,</Symbol><Normal Text>op2</Normal Text><Symbol>,</Symbol><Normal Text>label</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Symbol>{</Symbol><br/>
|
|
<Normal Text> </Normal Text><Instructions>cmp</Instructions><Normal Text> op1</Normal Text><Symbol>,</Symbol><Normal Text>op2</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>j</Unknown Instructions><Symbol>#</Symbol><Normal Text>cond label</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Symbol>}</Symbol><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>macro</Preprocessor><Normal Text> label name</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Symbol>{</Symbol><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>label</Preprocessor><Normal Text> name</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>if</Preprocessor><Normal Text> </Normal Text><Symbol>~</Symbol><Normal Text> </Normal Text><Operators>used</Operators><Normal Text> name</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>display</Preprocessor><Normal Text> </Normal Text><Symbol>`</Symbol><Normal Text>name </Normal Text><Symbol>#</Symbol><Normal Text> </Normal Text><String>" is defined but not used."</String><Symbol>,</Symbol><Number>13</Number><Symbol>,</Symbol><Number>10</Number><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>if</Preprocessor><br/>
|
|
<Normal Text> </Normal Text><Symbol>}</Symbol><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>macro</Preprocessor><Normal Text> message arg</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Symbol>{</Symbol><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>if</Preprocessor><Normal Text> arg eqtype </Normal Text><String>""</String><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>local</Preprocessor><Normal Text> str</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Branch Instructions>jmp</Branch Instructions><Normal Text> </Normal Text><Label>@f</Label><br/>
|
|
<Normal Text> </Normal Text><Instructions>str</Instructions><Normal Text> </Normal Text><Data>db</Data><Normal Text> arg</Normal Text><Symbol>,</Symbol><BaseN>0D</BaseN><Radix>h</Radix><Symbol>,</Symbol><BaseN>0A</BaseN><Radix>h</Radix><Symbol>,</Symbol><BaseN>24</BaseN><Radix>h</Radix><br/>
|
|
<Normal Text> </Normal Text><Label>@@:</Label><br/>
|
|
<Normal Text> </Normal Text><Instructions>mov</Instructions><Normal Text> </Normal Text><Registers>dx</Registers><Symbol>,</Symbol><Normal Text>str</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>else</Preprocessor><br/>
|
|
<Normal Text> </Normal Text><Instructions>mov</Instructions><Normal Text> </Normal Text><Registers>dx</Registers><Symbol>,</Symbol><Normal Text>arg</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>if</Preprocessor><br/>
|
|
<Normal Text> </Normal Text><Instructions>mov</Instructions><Normal Text> </Normal Text><Registers>ah</Registers><Symbol>,</Symbol><Number>9</Number><br/>
|
|
<Normal Text> </Normal Text><Instructions>int</Instructions><Normal Text> </Normal Text><BaseN>21</BaseN><Radix>h</Radix><br/>
|
|
<Normal Text> </Normal Text><Symbol>}</Symbol><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>macro</Preprocessor><Normal Text> ext instr</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Symbol>{</Symbol><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>macro</Preprocessor><Normal Text> instr op1</Normal Text><Symbol>,</Symbol><Normal Text>op2</Normal Text><Symbol>,</Symbol><Normal Text>op3</Normal Text><br/>
|
|
<Normal Text> \</Normal Text><Symbol>{</Symbol><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>if</Preprocessor><Normal Text> op3 eq</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>instr</Unknown Instructions><Normal Text> op1</Normal Text><Symbol>,</Symbol><Normal Text>op2</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>else</Preprocessor><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>instr</Unknown Instructions><Normal Text> op1</Normal Text><Symbol>,</Symbol><Normal Text>op2</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>instr</Unknown Instructions><Normal Text> op2</Normal Text><Symbol>,</Symbol><Normal Text>op3</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>if</Preprocessor><br/>
|
|
<Normal Text> \</Normal Text><Symbol>}</Symbol><br/>
|
|
<Normal Text> </Normal Text><Symbol>}</Symbol><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>ext</Unknown Instructions><Normal Text> add</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>ext</Unknown Instructions><Normal Text> sub</Normal Text><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>macro</Preprocessor><Normal Text> tmacro </Normal Text><Symbol>[</Symbol><Normal Text>params</Normal Text><Symbol>]</Symbol><br/>
|
|
<Normal Text> </Normal Text><Symbol>{</Symbol><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>common</Preprocessor><Normal Text> macro params </Normal Text><Symbol>{</Symbol><br/>
|
|
<Normal Text> </Normal Text><Symbol>}</Symbol><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>MACRO</Preprocessor><Normal Text> fix tmacro</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>ENDM</Unknown Instructions><Normal Text> fix </Normal Text><Symbol>}</Symbol><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>MACRO</Preprocessor><Normal Text> stoschar char</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Instructions>mov</Instructions><Normal Text> </Normal Text><Registers>al</Registers><Symbol>,</Symbol><Normal Text>char</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Instructions>stosb</Instructions><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>ENDM</Unknown Instructions><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>postpone</Preprocessor><br/>
|
|
<Normal Text> </Normal Text><Symbol>{</Symbol><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>code_size</Unknown Instructions><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Symbol>$</Symbol><br/>
|
|
<Normal Text> </Normal Text><Symbol>}</Symbol><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>struc</Preprocessor><Normal Text> point x</Normal Text><Symbol>,</Symbol><Normal Text>y</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Symbol>{</Symbol><br/>
|
|
<Normal Text> .</Normal Text><Unknown Instructions>x</Unknown Instructions><Normal Text> </Normal Text><Data>dw</Data><Normal Text> x</Normal Text><br/>
|
|
<Normal Text> .</Normal Text><Unknown Instructions>y</Unknown Instructions><Normal Text> </Normal Text><Data>dw</Data><Normal Text> y</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Symbol>}</Symbol><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>struc</Preprocessor><Normal Text> </Normal Text><Data>db</Data><Normal Text> </Normal Text><Symbol>[</Symbol><Normal Text>data</Normal Text><Symbol>]</Symbol><br/>
|
|
<Normal Text> </Normal Text><Symbol>{</Symbol><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>common</Preprocessor><br/>
|
|
<Normal Text> . </Normal Text><Data>db</Data><Normal Text> data</Normal Text><br/>
|
|
<Normal Text> .</Normal Text><Unknown Instructions>size</Unknown Instructions><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Symbol>$</Symbol><Normal Text> </Normal Text><Symbol>-</Symbol><Normal Text> </Normal Text><Symbol>.</Symbol><br/>
|
|
<Normal Text> </Normal Text><Symbol>}</Symbol><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>rept</Preprocessor><Normal Text> </Normal Text><Number>5</Number><Normal Text> </Normal Text><Symbol>{</Symbol><Normal Text> </Normal Text><Instructions>in</Instructions><Normal Text> </Normal Text><Registers>al</Registers><Symbol>,</Symbol><Registers>dx</Registers><Normal Text> </Normal Text><Symbol>}</Symbol><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>rept</Preprocessor><Normal Text> </Normal Text><Number>3</Number><Normal Text> counter</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Symbol>{</Symbol><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>byte</Unknown Instructions><Symbol>#</Symbol><Normal Text>counter </Normal Text><Data>db</Data><Normal Text> counter</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Symbol>}</Symbol><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>match</Preprocessor><Normal Text> </Normal Text><Symbol>+,+</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><Normal Text> </Normal Text><Instructions>include</Instructions><Normal Text> </Normal Text><String>'first.inc'</String><Normal Text> </Normal Text><Symbol>}</Symbol><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>match</Preprocessor><Normal Text> </Normal Text><Symbol>+,-</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><Normal Text> </Normal Text><Instructions>include</Instructions><Normal Text> </Normal Text><String>'second.inc'</String><Normal Text> </Normal Text><Symbol>}</Symbol><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>match</Preprocessor><Normal Text> a b</Normal Text><Symbol>,</Symbol><Normal Text> </Normal Text><Number>1</Number><Symbol>+</Symbol><Number>2</Number><Symbol>+</Symbol><Number>3</Number><Normal Text> </Normal Text><Symbol>{</Symbol><Normal Text> </Normal Text><Data>db</Data><Normal Text> a </Normal Text><Symbol>}</Symbol><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>V</Unknown Instructions><Normal Text> fix </Normal Text><Symbol>{</Symbol><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>macro</Preprocessor><Normal Text> empty</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>V</Unknown Instructions><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>V</Unknown Instructions><Normal Text> fix </Normal Text><Symbol>}</Symbol><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>V</Unknown Instructions><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>list</Unknown Instructions><Normal Text> equ</Normal Text><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>macro</Preprocessor><Normal Text> append item</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Symbol>{</Symbol><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>match</Preprocessor><Normal Text> any</Normal Text><Symbol>,</Symbol><Normal Text> list </Normal Text><Symbol>\{</Symbol><Normal Text> </Normal Text><Unknown Instructions>list</Unknown Instructions><Normal Text> equ list</Normal Text><Symbol>,</Symbol><Normal Text>item </Normal Text><Symbol>\}</Symbol><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>match</Preprocessor><Normal Text> </Normal Text><Symbol>,</Symbol><Normal Text> list </Normal Text><Symbol>\{</Symbol><Normal Text> </Normal Text><Unknown Instructions>list</Unknown Instructions><Normal Text> equ item </Normal Text><Symbol>\}</Symbol><br/>
|
|
<Normal Text> </Normal Text><Symbol>}</Symbol><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>define</Unknown Instructions><Normal Text> a b</Normal Text><Symbol>+</Symbol><Number>4</Number><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>define</Unknown Instructions><Normal Text> b </Normal Text><Number>3</Number><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>rept</Preprocessor><Normal Text> </Normal Text><Number>1</Number><Normal Text> result</Normal Text><Symbol>:</Symbol><Normal Text>a</Normal Text><Symbol>*</Symbol><Normal Text>b</Normal Text><Symbol>+</Symbol><Number>2</Number><Normal Text> </Normal Text><Symbol>{</Symbol><Normal Text> </Normal Text><Unknown Instructions>define</Unknown Instructions><Normal Text> c result </Normal Text><Symbol>}</Symbol><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>rept</Preprocessor><Normal Text> </Normal Text><Number>8</Number><Normal Text> n</Normal Text><Symbol>:</Symbol><Number>0</Number><Normal Text> </Normal Text><Symbol>{</Symbol><Normal Text> </Normal Text><Instructions>pxor</Instructions><Normal Text> xmm</Normal Text><Symbol>#</Symbol><Normal Text>n</Normal Text><Symbol>,</Symbol><Normal Text>xmm</Normal Text><Symbol>#</Symbol><Normal Text>n </Normal Text><Symbol>}</Symbol><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>irps</Preprocessor><Normal Text> reg</Normal Text><Symbol>,</Symbol><Normal Text> </Normal Text><Registers>al</Registers><Normal Text> </Normal Text><Registers>bx</Registers><Normal Text> </Normal Text><Registers>ecx</Registers><br/>
|
|
<Normal Text> </Normal Text><Symbol>{</Symbol><Normal Text> </Normal Text><Instructions>xor</Instructions><Normal Text> reg</Normal Text><Symbol>,</Symbol><Normal Text>reg </Normal Text><Symbol>}</Symbol><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>if</Preprocessor><Normal Text> </Normal Text><Number>0</Number><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>a</Unknown Instructions><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Number>1</Number><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>b</Unknown Instructions><Normal Text> equ </Normal Text><Number>2</Number><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>if</Preprocessor><br/>
|
|
<Normal Text> </Normal Text><Data>dd</Data><Normal Text> b</Normal Text><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Instructions>extrn</Instructions><Normal Text> exit</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Instructions>extrn</Instructions><Normal Text> </Normal Text><String>'__imp__MessageBoxA@16'</String><Normal Text> as MessageBox</Normal Text><Symbol>:</Symbol><Data>dword</Data><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Instructions>extrn</Instructions><Normal Text> </Normal Text><String>'printf'</String><Normal Text> as _printf</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>printf</Unknown Instructions><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Operators>PLT</Operators><Normal Text> _printf</Normal Text><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>tester</Unknown Instructions><Symbol>?</Symbol><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Number>0</Number><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Label>space:</Label><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>space</Unknown Instructions><Symbol>.</Symbol><Unknown Instructions>x</Unknown Instructions><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Number>1</Number><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>space</Unknown Instructions><Symbol>.</Symbol><Unknown Instructions>y</Unknown Instructions><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Number>2</Number><br/>
|
|
<Normal Text> </Normal Text><Label>space.color:</Label><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>space</Unknown Instructions><Symbol>.</Symbol><Unknown Instructions>color</Unknown Instructions><Symbol>.</Symbol><Unknown Instructions>r</Unknown Instructions><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Number>0</Number><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>space</Unknown Instructions><Symbol>.</Symbol><Unknown Instructions>color</Unknown Instructions><Symbol>.</Symbol><Unknown Instructions>g</Unknown Instructions><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Number>0</Number><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>space</Unknown Instructions><Symbol>.</Symbol><Unknown Instructions>color</Unknown Instructions><Symbol>.</Symbol><Unknown Instructions>b</Unknown Instructions><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Number>0</Number><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Label>space:</Label><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>namespace</Preprocessor><Normal Text> space</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>x</Unknown Instructions><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Number>1</Number><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>y</Unknown Instructions><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Number>2</Number><br/>
|
|
<Normal Text> </Normal Text><Label>color:</Label><br/>
|
|
<Normal Text> .</Normal Text><Unknown Instructions>r</Unknown Instructions><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Number>0</Number><br/>
|
|
<Normal Text> .</Normal Text><Unknown Instructions>g</Unknown Instructions><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Number>0</Number><br/>
|
|
<Normal Text> .</Normal Text><Unknown Instructions>b</Unknown Instructions><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Number>0</Number><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>namespace</Preprocessor><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Label>first:</Label><br/>
|
|
<Normal Text> .</Normal Text><Unknown Instructions>child</Unknown Instructions><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Number>1</Number><br/>
|
|
<Normal Text> ..</Normal Text><Unknown Instructions>other</Unknown Instructions><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Number>0</Number><br/>
|
|
<Normal Text> </Normal Text><Label>second:</Label><br/>
|
|
<Normal Text> .</Normal Text><Unknown Instructions>child</Unknown Instructions><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Number>2</Number><br/>
|
|
<Normal Text> ..</Normal Text><Unknown Instructions>another</Unknown Instructions><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Symbol>..</Symbol><Normal Text>other</Normal Text><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>label</Preprocessor><Normal Text> character</Normal Text><Symbol>:</Symbol><Data>byte</Data><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>label</Preprocessor><Normal Text> char</Normal Text><Symbol>:</Symbol><Number>1</Number><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Data>byte</Data><Symbol>?</Symbol><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Number>1</Number><Normal Text> </Normal Text><Comment>; 8 bits</Comment><br/>
|
|
<Normal Text> </Normal Text><Data>word</Data><Symbol>?</Symbol><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Number>2</Number><Normal Text> </Normal Text><Comment>; 16 bits</Comment><br/>
|
|
<Normal Text> </Normal Text><Data>dword</Data><Symbol>?</Symbol><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Number>4</Number><Normal Text> </Normal Text><Comment>; 32 bits</Comment><br/>
|
|
<Normal Text> </Normal Text><Data>fword</Data><Symbol>?</Symbol><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Number>6</Number><Normal Text> </Normal Text><Comment>; 48 bits</Comment><br/>
|
|
<Normal Text> </Normal Text><Data>pword</Data><Symbol>?</Symbol><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Number>6</Number><Normal Text> </Normal Text><Comment>; 48 bits</Comment><br/>
|
|
<Normal Text> </Normal Text><Data>qword</Data><Symbol>?</Symbol><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Number>8</Number><Normal Text> </Normal Text><Comment>; 64 bits</Comment><br/>
|
|
<Normal Text> </Normal Text><Data>tbyte</Data><Symbol>?</Symbol><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Number>10</Number><Normal Text> </Normal Text><Comment>; 80 bits</Comment><br/>
|
|
<Normal Text> </Normal Text><Data>tword</Data><Symbol>?</Symbol><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Number>10</Number><Normal Text> </Normal Text><Comment>; 80 bits</Comment><br/>
|
|
<Normal Text> </Normal Text><Data>dqword</Data><Symbol>?</Symbol><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Number>16</Number><Normal Text> </Normal Text><Comment>; 128 bits</Comment><br/>
|
|
<Normal Text> </Normal Text><Data>xword</Data><Symbol>?</Symbol><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Number>16</Number><Normal Text> </Normal Text><Comment>; 128 bits</Comment><br/>
|
|
<Normal Text> </Normal Text><Data>qqword</Data><Symbol>?</Symbol><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Number>32</Number><Normal Text> </Normal Text><Comment>; 256 bits</Comment><br/>
|
|
<Normal Text> </Normal Text><Data>yword</Data><Symbol>?</Symbol><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Number>32</Number><Normal Text> </Normal Text><Comment>; 256 bits</Comment><br/>
|
|
<Normal Text> </Normal Text><Data>dqqword</Data><Symbol>?</Symbol><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Number>64</Number><Normal Text> </Normal Text><Comment>; 512 bits</Comment><br/>
|
|
<Normal Text> </Normal Text><Data>zword</Data><Symbol>?</Symbol><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Number>64</Number><Normal Text> </Normal Text><Comment>; 512 bits</Comment><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>element</Unknown Instructions><Normal Text> A</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>linpoly</Unknown Instructions><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> A </Normal Text><Symbol>+</Symbol><Normal Text> A </Normal Text><Symbol>+</Symbol><Normal Text> </Normal Text><Number>3</Number><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>vterm</Unknown Instructions><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> linpoly scale </Normal Text><Number>1</Number><Normal Text> </Normal Text><Symbol>*</Symbol><Normal Text> linpoly element </Normal Text><Number>1</Number><Normal Text> </Normal Text><Comment>; vterm = 2 * A</Comment><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Data>db</Data><Normal Text> </Normal Text><Number>4</Number><Normal Text> dup </Normal Text><BaseN>90</BaseN><Radix>h</Radix><Normal Text> </Normal Text><Comment>; generate 4 bytes</Comment><br/>
|
|
<Normal Text> </Normal Text><Data>db</Data><Normal Text> </Normal Text><Number>2</Number><Normal Text> dup </Normal Text><Symbol>(</Symbol><String>'abc'</String><Symbol>,</Symbol><Number>10</Number><Symbol>)</Symbol><Normal Text> </Normal Text><Comment>; generate 8 bytes</Comment><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>macro</Preprocessor><Normal Text> measured name</Normal Text><Symbol>,</Symbol><Normal Text>string</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>local</Preprocessor><Normal Text> top</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>name</Unknown Instructions><Normal Text> </Normal Text><Data>db</Data><Normal Text> string</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Label>top:</Label><Normal Text> </Normal Text><Unknown Instructions>name</Unknown Instructions><Symbol>.</Symbol><Unknown Instructions>length</Unknown Instructions><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> top </Normal Text><Symbol>-</Symbol><Normal Text> name</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>macro</Preprocessor><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>measured</Unknown Instructions><Normal Text> hello</Normal Text><Symbol>,</Symbol><Normal Text> </Normal Text><String>'Hello!'</String><Normal Text> </Normal Text><Comment>; hello.length = 6</Comment><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>A</Unknown Instructions><Normal Text> equ </Normal Text><Number>1</Number><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>A</Unknown Instructions><Normal Text> equ </Normal Text><Number>2</Number><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>drop</Unknown Instructions><Normal Text> A</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>drop</Unknown Instructions><Normal Text> A</Normal Text><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>data1</Unknown Instructions><Normal Text> </Normal Text><Data>dw</Data><Normal Text> </Normal Text><Number>1</Number><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>buffer1</Unknown Instructions><Normal Text> </Normal Text><Data>rb</Data><Normal Text> </Normal Text><BaseN>10</BaseN><Radix>h</Radix><Normal Text> </Normal Text><Comment>; zeroed and present in the output</Comment><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Instructions>org</Instructions><Normal Text> </Normal Text><BaseN>400</BaseN><Radix>h</Radix><br/>
|
|
<Normal Text> </Normal Text><Instructions>data</Instructions><Normal Text> </Normal Text><Data>dw</Data><Normal Text> </Normal Text><Number>2</Number><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>buffer2</Unknown Instructions><Normal Text> </Normal Text><Data>rb</Data><Normal Text> </Normal Text><BaseN>20</BaseN><Radix>h</Radix><Normal Text> </Normal Text><Comment>; not in the output</Comment><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Instructions>section</Instructions><Normal Text> </Normal Text><BaseN>1000</BaseN><Radix>h</Radix><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>data3</Unknown Instructions><Normal Text> </Normal Text><Data>dw</Data><Normal Text> </Normal Text><Number>3</Number><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>buffer3</Unknown Instructions><Normal Text> </Normal Text><Data>rb</Data><Normal Text> </Normal Text><BaseN>30</BaseN><Radix>h</Radix><Normal Text> </Normal Text><Comment>; not in the output</Comment><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>virtual</Preprocessor><Normal Text> </Normal Text><Preprocessor>at</Preprocessor><Normal Text> </Normal Text><Number>0</Number><br/>
|
|
<Normal Text> </Normal Text><Label>hex_digits:</Label><Normal Text>:</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Data>db</Data><Normal Text> </Normal Text><String>'0123456789ABCDEF'</String><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>virtual</Preprocessor><br/>
|
|
<Normal Text> </Normal Text><Instructions>load</Instructions><Normal Text> a</Normal Text><Symbol>:</Symbol><Data>byte</Data><Normal Text> from hex_digits</Normal Text><Symbol>:</Symbol><Number>10</Number><Normal Text> </Normal Text><Comment>; a = 'A'</Comment><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Data>db</Data><Normal Text> </Normal Text><String>"Text"</String><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>key</Unknown Instructions><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><BaseN>7B</BaseN><Radix>h</Radix><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>repeat</Preprocessor><Normal Text> </Normal Text><Symbol>$-$$</Symbol><br/>
|
|
<Normal Text> </Normal Text><Instructions>load</Instructions><Normal Text> a </Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><Data>byte</Data><Normal Text> from </Normal Text><Symbol>$$+%-</Symbol><Number>1</Number><br/>
|
|
<Normal Text> </Normal Text><Instructions>store</Instructions><Normal Text> a </Normal Text><Operators>xor</Operators><Normal Text> key </Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><Data>byte</Data><Normal Text> at </Normal Text><Symbol>$$+%-</Symbol><Number>1</Number><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>repeat</Preprocessor><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Instructions>load</Instructions><Normal Text> char </Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><Data>byte</Data><Normal Text> from const</Normal Text><Symbol>:</Symbol><Number>0</Number><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>if</Preprocessor><Normal Text> </Normal Text><Symbol>$></Symbol><BaseN>10000</BaseN><Radix>h</Radix><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>err</Preprocessor><Normal Text> </Normal Text><String>'segment too large'</String><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>if</Preprocessor><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>calminstruction</Preprocessor><Normal Text> please</Normal Text><Symbol>?</Symbol><Normal Text> cmd</Normal Text><Symbol>&</Symbol><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>match</Preprocessor><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text>do</Normal Text><Symbol>?</Symbol><Normal Text> </Normal Text><Symbol>=</Symbol><Operators>not</Operators><Symbol>?</Symbol><Normal Text> cmd</Normal Text><Symbol>,</Symbol><Normal Text> cmd</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>jyes</Unknown Instructions><Normal Text> done</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>assemble</Unknown Instructions><Normal Text> cmd</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Label>done:</Label><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>calminstruction</Preprocessor><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>please</Unknown Instructions><Normal Text> do </Normal Text><Operators>not</Operators><Normal Text> display </Normal Text><String>'Bye!'</String><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>macro</Preprocessor><Normal Text> jmpi target</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>if</Preprocessor><Normal Text> target</Normal Text><Symbol>-($+</Symbol><Number>2</Number><Symbol>)</Symbol><Normal Text> </Normal Text><Symbol><</Symbol><Normal Text> </Normal Text><BaseN>80</BaseN><Radix>h</Radix><Normal Text> </Normal Text><Symbol>&</Symbol><Normal Text> target</Normal Text><Symbol>-($+</Symbol><Number>2</Number><Symbol>)</Symbol><Normal Text> </Normal Text><Symbol>>=</Symbol><Normal Text> </Normal Text><Symbol>-</Symbol><BaseN>80</BaseN><Radix>h</Radix><Normal Text> </Normal Text><br/>
|
|
<Normal Text> </Normal Text><Data>db</Data><Normal Text> </Normal Text><BaseN>0EB</BaseN><Radix>h</Radix><br/>
|
|
<Normal Text> </Normal Text><Data>db</Data><Normal Text> target</Normal Text><Symbol>-($+</Symbol><Number>1</Number><Symbol>)</Symbol><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>else</Preprocessor><br/>
|
|
<Normal Text> </Normal Text><Data>db</Data><Normal Text> </Normal Text><BaseN>0E9</BaseN><Radix>h</Radix><br/>
|
|
<Normal Text> </Normal Text><Data>dw</Data><Normal Text> target</Normal Text><Symbol>-($+</Symbol><Number>2</Number><Symbol>)</Symbol><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>if</Preprocessor><Normal Text> </Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>macro</Preprocessor><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>macro</Preprocessor><Normal Text> EX</Normal Text><Symbol>?</Symbol><Normal Text> first</Normal Text><Symbol>,</Symbol><Normal Text>second</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>match</Preprocessor><Normal Text> </Normal Text><Symbol>(=</Symbol><Registers>SP</Registers><Symbol>?),</Symbol><Normal Text> first</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>match</Preprocessor><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text>HL</Normal Text><Symbol>?,</Symbol><Normal Text> second</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Data>db</Data><Normal Text> </Normal Text><BaseN>0E3</BaseN><Radix>h</Radix><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>else</Preprocessor><Normal Text> </Normal Text><Preprocessor>match</Preprocessor><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text>IX</Normal Text><Symbol>?,</Symbol><Normal Text> second</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Data>db</Data><Normal Text> </Normal Text><BaseN>0DD</BaseN><Radix>h</Radix><Symbol>,</Symbol><BaseN>0E3</BaseN><Radix>h</Radix><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>else</Preprocessor><Normal Text> </Normal Text><Preprocessor>match</Preprocessor><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text>IY</Normal Text><Symbol>?,</Symbol><Normal Text> second</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Data>db</Data><Normal Text> </Normal Text><BaseN>0FD</BaseN><Radix>h</Radix><Symbol>,</Symbol><BaseN>0E3</BaseN><Radix>h</Radix><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>else</Preprocessor><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>err</Preprocessor><Normal Text> </Normal Text><String>"incorrect second argument"</String><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>match</Preprocessor><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>else</Preprocessor><Normal Text> </Normal Text><Preprocessor>match</Preprocessor><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text>AF</Normal Text><Symbol>?,</Symbol><Normal Text> first</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>match</Preprocessor><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text>AF</Normal Text><String>'?, second</String><br/>
|
|
<Normal Text> </Normal Text><Data>db</Data><Normal Text> </Normal Text><BaseN>08</BaseN><Radix>h</Radix><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>else</Preprocessor><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>err</Preprocessor><Normal Text> </Normal Text><String>"incorrect second argument"</String><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>match</Preprocessor><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>else</Preprocessor><Normal Text> </Normal Text><Preprocessor>match</Preprocessor><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text>DE</Normal Text><Symbol>?,</Symbol><Normal Text> first</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>match</Preprocessor><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text>HL</Normal Text><Symbol>?,</Symbol><Normal Text> second</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Data>db</Data><Normal Text> </Normal Text><BaseN>0EB</BaseN><Radix>h</Radix><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>else</Preprocessor><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>err</Preprocessor><Normal Text> </Normal Text><String>"incorrect second argument"</String><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>match</Preprocessor><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>else</Preprocessor><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>err</Preprocessor><Normal Text> </Normal Text><String>"incorrect first argument"</String><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>match</Preprocessor><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>macro</Preprocessor><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>EX</Unknown Instructions><Normal Text> </Normal Text><Symbol>(</Symbol><Registers>SP</Registers><Symbol>),</Symbol><Normal Text>HL</Normal Text><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>macro</Preprocessor><Normal Text> INC</Normal Text><Symbol>?</Symbol><Normal Text> argument</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>match</Preprocessor><Normal Text> </Normal Text><Symbol>[:</Symbol><Normal Text>r</Normal Text><Symbol>:],</Symbol><Normal Text> argument</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Data>db</Data><Normal Text> </Normal Text><BaseN>100</BaseN><Radix>b</Radix><Normal Text> </Normal Text><Symbol>+</Symbol><Normal Text> r </Normal Text><Operators>shl</Operators><Normal Text> </Normal Text><Number>3</Number><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>else</Preprocessor><Normal Text> </Normal Text><Preprocessor>match</Preprocessor><Normal Text> </Normal Text><Symbol>(=</Symbol><Normal Text>HL</Normal Text><Symbol>?),</Symbol><Normal Text> argument</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Data>db</Data><Normal Text> </Normal Text><BaseN>34</BaseN><Radix>h</Radix><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>else</Preprocessor><Normal Text> </Normal Text><Preprocessor>match</Preprocessor><Normal Text> </Normal Text><Symbol>(=</Symbol><Normal Text>IX</Normal Text><Symbol>?+</Symbol><Normal Text>d</Normal Text><Symbol>),</Symbol><Normal Text> argument</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Data>db</Data><Normal Text> </Normal Text><BaseN>0DD</BaseN><Radix>h</Radix><Symbol>,</Symbol><BaseN>34</BaseN><Radix>h</Radix><Symbol>,</Symbol><Normal Text>d</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>else</Preprocessor><Normal Text> </Normal Text><Preprocessor>match</Preprocessor><Normal Text> </Normal Text><Symbol>(=</Symbol><Normal Text>IY</Normal Text><Symbol>?+</Symbol><Normal Text>d</Normal Text><Symbol>),</Symbol><Normal Text> argument</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Data>db</Data><Normal Text> </Normal Text><BaseN>0FD</BaseN><Radix>h</Radix><Symbol>,</Symbol><BaseN>34</BaseN><Radix>h</Radix><Symbol>,</Symbol><Normal Text>d</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>else</Preprocessor><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>err</Preprocessor><Normal Text> </Normal Text><String>"incorrect argument"</String><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>match</Preprocessor><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>macro</Preprocessor><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Instructions>INC</Instructions><Normal Text> </Normal Text><Symbol>(</Symbol><Normal Text>IX</Normal Text><Symbol>+</Symbol><Number>2</Number><Symbol>)</Symbol><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>element</Unknown Instructions><Normal Text> IY</Normal Text><Symbol>?</Symbol><Normal Text> </Normal Text><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>element</Unknown Instructions><Normal Text> L</Normal Text><Symbol>?</Symbol><Normal Text> </Normal Text><Symbol>:</Symbol><Normal Text> register </Normal Text><Symbol>+</Symbol><Normal Text> </Normal Text><BaseN>101</BaseN><Radix>b</Radix><br/>
|
|
<Normal Text></Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>macro</Preprocessor><Normal Text> CALL</Normal Text><Symbol>?</Symbol><Normal Text> arguments</Normal Text><Symbol>&</Symbol><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>local</Preprocessor><Normal Text> cc</Normal Text><Symbol>,</Symbol><Normal Text>nn</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>match</Preprocessor><Normal Text> condition </Normal Text><Symbol>=,</Symbol><Normal Text> target</Normal Text><Symbol>,</Symbol><Normal Text> arguments</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>cc</Unknown Instructions><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> condition </Normal Text><Symbol>-</Symbol><Normal Text> CC</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>nn</Unknown Instructions><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> target</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Data>db</Data><Normal Text> </Normal Text><BaseN>0C4</BaseN><Radix>h</Radix><Normal Text> </Normal Text><Symbol>+</Symbol><Normal Text> cc </Normal Text><Operators>shl</Operators><Normal Text> </Normal Text><Number>3</Number><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>else</Preprocessor><br/>
|
|
<Normal Text> </Normal Text><Unknown Instructions>nn</Unknown Instructions><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> arguments</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Data>db</Data><Normal Text> </Normal Text><BaseN>0CD</BaseN><Radix>h</Radix><Normal Text> </Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>match</Preprocessor><br/>
|
|
<Normal Text> </Normal Text><Data>dw</Data><Normal Text> nn</Normal Text><br/>
|
|
<Normal Text> </Normal Text><Preprocessor>end</Preprocessor><Normal Text> </Normal Text><Preprocessor>macro</Preprocessor><br/>
|