Warning, /frameworks/syntax-highlighting/autotests/reference/highlight.asm-nasm.ref is written in an unsupported language. File is not indexed.

0001 <Comment>; Example file for nasm.xml kate syntax file</Comment><br/>
0002 <Comment>; compile with `nasm example.asm -f elf -o example.o`</Comment><br/>
0003 <Comment>; and link with 'gcc example.o -o example`</Comment><br/>
0004 <Comment>; Public domain</Comment><br/>
0005 <Comment>; </Comment><Keyword>kate:</Keyword><Comment> </Comment><Variable>hl</Variable><String> Intel x86 (NASM)</String><Variable>;</Variable><br/>
0006 <Normal Text></Normal Text><br/>
0007 <NASM Keywords>section</NASM Keywords><Normal Text> </Normal Text><Label>.data</Label><br/>
0008 <Normal Text></Normal Text><br/>
0009 <Unknown Instructions>hello</Unknown Instructions><Normal Text> </Normal Text><Data>dd</Data><Normal Text> </Normal Text><String>'Hello World'</String><Symbol>,</Symbol><Normal Text> </Normal Text><Radix>0x</Radix><BaseN>0A</BaseN><Symbol>,</Symbol><Normal Text> </Normal Text><BaseN>0</BaseN><Radix>h</Radix><br/>
0010 <Unknown Instructions>printf_param</Unknown Instructions><Normal Text> </Normal Text><Data>dd</Data><Normal Text> </Normal Text><String>'%s'</String><Symbol>,</Symbol><Normal Text> </Normal Text><BaseN>0</BaseN><Radix>q</Radix><br/>
0011 <Normal Text></Normal Text><br/>
0012 <NASM Keywords>section</NASM Keywords><Normal Text> </Normal Text><Label>.text</Label><br/>
0013 <Normal Text></Normal Text><br/>
0014 <NASM Keywords>extern</NASM Keywords><Normal Text> printf</Normal Text><br/>
0015 <Normal Text></Normal Text><br/>
0016 <NASM Keywords>global</NASM Keywords><Normal Text> main</Normal Text><br/>
0017 <Label>main:</Label><br/>
0018 <Normal Text>   </Normal Text><Instructions>push</Instructions><Normal Text> </Normal Text><Registers>ebp</Registers><br/>
0019 <Normal Text>   </Normal Text><Instructions>mov</Instructions><Normal Text> </Normal Text><Registers>ebp</Registers><Symbol>,</Symbol><Normal Text> </Normal Text><Registers>esp</Registers><br/>
0020 <Normal Text>   </Normal Text><br/>
0021 <Normal Text>   </Normal Text><Instructions>push</Instructions><Normal Text> hello</Normal Text><br/>
0022 <Normal Text>   </Normal Text><Instructions>push</Instructions><Normal Text> printf_param</Normal Text><br/>
0023 <Normal Text>   </Normal Text><Branch Instructions>call</Branch Instructions><Normal Text> printf</Normal Text><br/>
0024 <Normal Text>   </Normal Text><br/>
0025 <Normal Text>   </Normal Text><Instructions>mov</Instructions><Normal Text> </Normal Text><Registers>eax</Registers><Symbol>,</Symbol><Normal Text> </Normal Text><BaseN>0</BaseN><Radix>b</Radix><br/>
0026 <Normal Text>   </Normal Text><Instructions>leave</Instructions><br/>
0027 <Normal Text>   </Normal Text><Branch Instructions>ret</Branch Instructions><br/>
0028 <Normal Text></Normal Text><br/>
0029 <Normal Text></Normal Text><br/>
0030 <Unknown Instructions>NULL</Unknown Instructions><Normal Text>              </Normal Text><Data>EQU</Data><Normal Text> </Normal Text><Number>0</Number><Normal Text>                         </Normal Text><Comment>; Constants</Comment><br/>
0031 <Unknown Instructions>STD_OUTPUT_HANDLE</Unknown Instructions><Normal Text> </Normal Text><Data>EQU</Data><Normal Text> </Normal Text><Symbol>-</Symbol><Number>11</Number><br/>
0032 <Normal Text></Normal Text><br/>
0033 <NASM Keywords>extern</NASM Keywords><Normal Text> GetStdHandle                             </Normal Text><Comment>; Import external symbols</Comment><br/>
0034 <Normal Text></Normal Text><br/>
0035 <NASM Keywords>global</NASM Keywords><Normal Text> Start                                    </Normal Text><Comment>; Export symbols. The entry point</Comment><br/>
0036 <Normal Text></Normal Text><br/>
0037 <NASM Keywords>section</NASM Keywords><Normal Text> </Normal Text><Label>.data</Label><Normal Text>                                   </Normal Text><Comment>; Initialized data segment</Comment><br/>
0038 <Normal Text> </Normal Text><Unknown Instructions>Message</Unknown Instructions><Normal Text>        </Normal Text><Data>db</Data><Normal Text> </Normal Text><String>"Console Message 64"</String><Symbol>,</Symbol><Normal Text> </Normal Text><BaseN>0D</BaseN><Radix>h</Radix><Symbol>,</Symbol><Normal Text> </Normal Text><BaseN>0A</BaseN><Radix>h</Radix><br/>
0039 <Normal Text> </Normal Text><Unknown Instructions>MessageLength</Unknown Instructions><Normal Text>  </Normal Text><Data>EQU</Data><Normal Text> </Normal Text><Symbol>$-</Symbol><Normal Text>Message                   </Normal Text><Comment>; Address of this line ($) - address of Message</Comment><br/>
0040 <Normal Text></Normal Text><br/>
0041 <NASM Keywords>section</NASM Keywords><Normal Text> </Normal Text><Label>.bss</Label><Normal Text>                                    </Normal Text><Comment>; Uninitialized data segment</Comment><br/>
0042 <NASM Keywords>alignb</NASM Keywords><Normal Text> </Normal Text><Number>8</Number><br/>
0043 <Normal Text> </Normal Text><Unknown Instructions>Written</Unknown Instructions><Normal Text>        </Normal Text><Data>resq</Data><Normal Text> </Normal Text><Number>1</Number><br/>
0044 <Normal Text></Normal Text><br/>
0045 <NASM Keywords>section</NASM Keywords><Normal Text> </Normal Text><Label>.text</Label><Normal Text>                                   </Normal Text><Comment>; Code segment</Comment><br/>
0046 <Label>Start:</Label><br/>
0047 <Normal Text> </Normal Text><Instructions>sub</Instructions><Normal Text>   </Normal Text><Registers>RSP</Registers><Symbol>,</Symbol><Normal Text> </Normal Text><Number>8</Number><Normal Text>                                   </Normal Text><Comment>; Align the stack to a multiple of 16 bytes</Comment><br/>
0048 <Normal Text></Normal Text><br/>
0049 <Normal Text> </Normal Text><Instructions>mov</Instructions><Normal Text>   </Normal Text><Registers>ECX</Registers><Symbol>,</Symbol><Normal Text> STD_OUTPUT_HANDLE</Normal Text><br/>
0050 <Normal Text> </Normal Text><Branch Instructions>call</Branch Instructions><Normal Text>  GetStdHandle</Normal Text><br/>
0051 <Normal Text> </Normal Text><Instructions>mov</Instructions><Normal Text>   </Normal Text><Data>qword</Data><Normal Text> </Normal Text><Symbol>[</Symbol><NASM Keywords>REL</NASM Keywords><Normal Text> StandardHandle</Normal Text><Symbol>],</Symbol><Normal Text> </Normal Text><Registers>RAX</Registers><br/>
0052 <Normal Text></Normal Text><br/>
0053 <Normal Text> </Normal Text><Instructions>sub</Instructions><Normal Text>   </Normal Text><Registers>RSP</Registers><Symbol>,</Symbol><Normal Text> </Normal Text><Number>32</Number><Normal Text> </Normal Text><Symbol>+</Symbol><Normal Text> </Normal Text><Number>8</Number><Normal Text> </Normal Text><Symbol>+</Symbol><Normal Text> </Normal Text><Number>8</Number><Normal Text>                          </Normal Text><Comment>; Shadow space + 5th parameter + align stack</Comment><br/>
0054 <Normal Text>                                                </Normal Text><Comment>; to a multiple of 16 bytes</Comment><br/>
0055 <Normal Text> </Normal Text><Instructions>mov</Instructions><Normal Text>   </Normal Text><Registers>RCX</Registers><Symbol>,</Symbol><Normal Text> </Normal Text><Data>qword</Data><Normal Text> </Normal Text><Symbol>[</Symbol><NASM Keywords>REL</NASM Keywords><Normal Text> StandardHandle</Normal Text><Symbol>]</Symbol><Normal Text>          </Normal Text><Comment>; 1st parameter</Comment><br/>
0056 <Normal Text> </Normal Text><Instructions>lea</Instructions><Normal Text>   </Normal Text><Registers>RDX</Registers><Symbol>,</Symbol><Normal Text> </Normal Text><Symbol>[</Symbol><NASM Keywords>REL</NASM Keywords><Normal Text> Message</Normal Text><Symbol>]</Symbol><Normal Text>                       </Normal Text><Comment>; 2nd parameter</Comment><br/>
0057 <Normal Text> </Normal Text><Instructions>mov</Instructions><Normal Text>   </Normal Text><Registers>R8</Registers><Symbol>,</Symbol><Normal Text> MessageLength                        </Normal Text><Comment>; 3rd parameter</Comment><br/>
0058 <Normal Text> </Normal Text><Instructions>mov</Instructions><Normal Text>   </Normal Text><Data>qword</Data><Normal Text> </Normal Text><Symbol>[</Symbol><Registers>RSP</Registers><Normal Text> </Normal Text><Symbol>+</Symbol><Normal Text> </Normal Text><Number>4</Number><Normal Text> </Normal Text><Symbol>*</Symbol><Normal Text> </Normal Text><Number>8</Number><Symbol>],</Symbol><Normal Text> NULL                </Normal Text><Comment>; 5th parameter</Comment><br/>
0059 <Normal Text>                                                </Normal Text><Comment>; Message Box, 64 bit. V1.02</Comment><br/>
0060 <Label>.DisplayMessageBox:</Label><br/>
0061 <Normal Text> </Normal Text><Instructions>xor</Instructions><Normal Text>   </Normal Text><Registers>ECX</Registers><Symbol>,</Symbol><Normal Text> </Normal Text><Registers>ECX</Registers><Normal Text>                                 </Normal Text><Comment>; 1st parameter</Comment><br/>
0062 <Normal Text> </Normal Text><Instructions>lea</Instructions><Normal Text>   </Normal Text><Registers>RDX</Registers><Symbol>,</Symbol><Normal Text> </Normal Text><Symbol>[</Symbol><NASM Keywords>REL</NASM Keywords><Normal Text> MessageBoxText</Normal Text><Symbol>]</Symbol><Normal Text>                </Normal Text><Comment>; 2nd parameter</Comment><br/>
0063 <Normal Text> </Normal Text><Instructions>lea</Instructions><Normal Text>   </Normal Text><Registers>R8</Registers><Symbol>,</Symbol><Normal Text> </Normal Text><Symbol>[</Symbol><NASM Keywords>REL</NASM Keywords><Normal Text> MessageBoxCaption</Normal Text><Symbol>]</Symbol><Normal Text>              </Normal Text><Comment>; 3rd parameter</Comment><br/>
0064 <Normal Text> </Normal Text><Instructions>mov</Instructions><Normal Text>   </Normal Text><Registers>R9D</Registers><Symbol>,</Symbol><Normal Text> MB_YESNO </Normal Text><Symbol>|</Symbol><Normal Text> MB_DEFBUTTON2            </Normal Text><Comment>; 4th parameter. 2 constants ORed together</Comment><br/>
0065 <Normal Text> </Normal Text><Branch Instructions>call</Branch Instructions><Normal Text>  MessageBoxA</Normal Text><br/>
0066 <Normal Text></Normal Text><br/>
0067 <Normal Text> </Normal Text><Instructions>cmp</Instructions><Normal Text>   </Normal Text><Registers>RAX</Registers><Symbol>,</Symbol><Normal Text> IDNO                                </Normal Text><Comment>; Check the return value for "No"</Comment><br/>
0068 <Normal Text> </Normal Text><Branch Instructions>je</Branch Instructions><Normal Text>    </Normal Text><Label>.DisplayMessageBox</Label><br/>
0069 <Normal Text></Normal Text><br/>
0070 <NASM Keywords>extern</NASM Keywords><Normal Text> _GetStdHandle@4                          </Normal Text><Comment>; Import external symbols</Comment><br/>
0071 <Label>Start:</Label><br/>
0072 <Normal Text> </Normal Text><Branch Instructions>call</Branch Instructions><Normal Text>  _WriteFile@20</Normal Text><br/>
0073 <Normal Text></Normal Text><br/>
0074 <NASM Keywords>section</NASM Keywords><Normal Text> </Normal Text><Label>.data</Label><Normal Text>                                   </Normal Text><Comment>; Initialized data segment</Comment><br/>
0075 <Normal Text> </Normal Text><Unknown Instructions>Static1Colour</Unknown Instructions><Normal Text>    </Normal Text><Data>dd</Data><Normal Text> </Normal Text><BaseN>0F0F0F0</BaseN><Radix>h</Radix><Symbol>,</Symbol><br/>
0076 <Normal Text> </Normal Text><Unknown Instructions>Edit2</Unknown Instructions><Normal Text>            </Normal Text><Data>resq</Data><Normal Text> </Normal Text><Number>1</Number><br/>
0077 <Normal Text></Normal Text><br/>
0078 <Preprocessor>%define</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>Screen</Unknown Instructions><Symbol>.</Symbol><Unknown Instructions>Width</Unknown Instructions><Normal Text>       </Normal Text><Registers>RBP</Registers><Normal Text> </Normal Text><Symbol>-</Symbol><Normal Text> </Normal Text><Number>160</Number><Normal Text>            </Normal Text><Comment>; 4 bytes</Comment><br/>
0079 <Preprocessor>%define</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>ClientArea</Unknown Instructions><Normal Text>         </Normal Text><Registers>RBP</Registers><Normal Text> </Normal Text><Symbol>-</Symbol><Normal Text> </Normal Text><Number>152</Number><Normal Text>            </Normal Text><Comment>; RECT structure. 16 bytes</Comment><br/>
0080 <Normal Text></Normal Text><br/>
0081 <Normal Text> </Normal Text><Instructions>mov</Instructions><Normal Text>   </Normal Text><Data>dword</Data><Normal Text> </Normal Text><Symbol>[</Symbol><Normal Text>wc</Normal Text><Symbol>.</Symbol><Normal Text>cbSize</Normal Text><Symbol>],</Symbol><Normal Text> </Normal Text><Number>80</Number><Normal Text>                    </Normal Text><Comment>; [RBP - 136]</Comment><br/>
0082 <Normal Text> </Normal Text><Instructions>mov</Instructions><Normal Text>   </Normal Text><Data>dword</Data><Normal Text> </Normal Text><Symbol>[</Symbol><Normal Text>wc</Normal Text><Symbol>.</Symbol><Normal Text>style</Normal Text><Symbol>],</Symbol><Normal Text> CS_HREDRAW </Normal Text><Symbol>|</Symbol><Normal Text> CS_VREDRAW </Normal Text><Symbol>|</Symbol><Normal Text> CS_BYTEALIGNWINDOW  </Normal Text><Comment>; [RBP - 132]</Comment><br/>
0083 <Normal Text> </Normal Text><Instructions>mov</Instructions><Normal Text>   </Normal Text><Data>qword</Data><Normal Text> </Normal Text><Symbol>[</Symbol><Normal Text>wc</Normal Text><Symbol>.</Symbol><Normal Text>lpfnWndProc</Normal Text><Symbol>],</Symbol><Normal Text> </Normal Text><Registers>RAX</Registers><Normal Text>              </Normal Text><Comment>; [RBP - 128]</Comment><br/>
0084 <Normal Text> </Normal Text><Instructions>mov</Instructions><Normal Text>   </Normal Text><Data>qword</Data><Normal Text> </Normal Text><Symbol>[</Symbol><Normal Text>wc</Normal Text><Symbol>.</Symbol><Normal Text>hIcon</Normal Text><Symbol>],</Symbol><Normal Text> </Normal Text><Registers>RAX</Registers><Normal Text>                    </Normal Text><Comment>; [RBP - 104]</Comment><br/>
0085 <Normal Text> </Normal Text><Instructions>mov</Instructions><Normal Text>   </Normal Text><Data>dword</Data><Normal Text> </Normal Text><Symbol>[</Symbol><Registers>RSP</Registers><Normal Text> </Normal Text><Symbol>+</Symbol><Normal Text> </Normal Text><Number>4</Number><Normal Text> </Normal Text><Symbol>*</Symbol><Normal Text> </Normal Text><Number>8</Number><Symbol>],</Symbol><Normal Text> </Normal Text><Registers>EAX</Registers><Normal Text>                 </Normal Text><Comment>; X position, now centred</Comment><br/>
0086 <Normal Text></Normal Text><br/>
0087 <Normal Text> </Normal Text><Instructions>cmp</Instructions><Normal Text>   </Normal Text><Data>qword</Data><Normal Text> </Normal Text><Symbol>[</Symbol><Normal Text>uMsg</Normal Text><Symbol>],</Symbol><Normal Text> WM_CLOSE                   </Normal Text><Comment>; [RBP + 24]</Comment><br/>
0088 <Normal Text> </Normal Text><Branch Instructions>je</Branch Instructions><Normal Text>    WMCLOSE</Normal Text><br/>
0089 <Normal Text> </Normal Text><Branch Instructions>call</Branch Instructions><Normal Text>  DestroyWindow                            </Normal Text><Comment>; Send a WM_DESTROY message</Comment><br/>
0090 <Normal Text> </Normal Text><Branch Instructions>jmp</Branch Instructions><Normal Text>   Return</Normal Text><Symbol>.</Symbol><Normal Text>WM_Processed</Normal Text><br/>
0091 <Normal Text> </Normal Text><Instructions>mov</Instructions><Normal Text>   </Normal Text><Registers>EDX</Registers><Symbol>,</Symbol><Normal Text> </Normal Text><BaseN>0604060</BaseN><Radix>h</Radix><br/>
0092 <Normal Text> </Normal Text><Branch Instructions>call</Branch Instructions><Normal Text>  SetBkColor</Normal Text><br/>
0093 <Normal Text> </Normal Text><Instructions>mov</Instructions><Normal Text>   </Normal Text><Registers>EDX</Registers><Symbol>,</Symbol><Normal Text> </Normal Text><BaseN>0005000</BaseN><Radix>h</Radix><br/>
0094 <Normal Text></Normal Text><br/>
0095 <Data>db</Data><Normal Text> </Normal Text><Radix>0x</Radix><BaseN>55</BaseN><Normal Text> </Normal Text><Comment>; just the byte 0x55</Comment><br/>
0096 <Data>db</Data><Normal Text> </Normal Text><Radix>0x</Radix><BaseN>55</BaseN><Symbol>,</Symbol><Radix>0x</Radix><BaseN>56</BaseN><Symbol>,</Symbol><Radix>0x</Radix><BaseN>57</BaseN><Normal Text> </Normal Text><Comment>; three bytes in succession</Comment><br/>
0097 <Data>db</Data><Normal Text> </Normal Text><String>'a'</String><Symbol>,</Symbol><Radix>0x</Radix><BaseN>55</BaseN><Normal Text> </Normal Text><Comment>; character constants are OK</Comment><br/>
0098 <Data>db</Data><Normal Text> </Normal Text><String>'hello'</String><Symbol>,</Symbol><Number>13</Number><Symbol>,</Symbol><Number>10</Number><Symbol>,</Symbol><String>'$'</String><Normal Text> </Normal Text><Comment>; so are string constants</Comment><br/>
0099 <Data>dw</Data><Normal Text> </Normal Text><Radix>0x</Radix><BaseN>1234</BaseN><Normal Text> </Normal Text><Comment>; 0x34 0x12</Comment><br/>
0100 <Data>dw</Data><Normal Text> </Normal Text><String>'a'</String><Normal Text> </Normal Text><Comment>; 0x61 0x00 (it's just a number)</Comment><br/>
0101 <Data>dw</Data><Normal Text> </Normal Text><String>'ab'</String><Normal Text> </Normal Text><Comment>; 0x61 0x62 (character constant)</Comment><br/>
0102 <Data>dw</Data><Normal Text> </Normal Text><String>'abc'</String><Normal Text> </Normal Text><Comment>; 0x61 0x62 0x63 0x00 (string)</Comment><br/>
0103 <Data>dd</Data><Normal Text> </Normal Text><Radix>0x</Radix><BaseN>12345678</BaseN><Normal Text> </Normal Text><Comment>; 0x78 0x56 0x34 0x12</Comment><br/>
0104 <Data>dd</Data><Normal Text> </Normal Text><Float>1.234567e20</Float><Normal Text> </Normal Text><Comment>; floating-point constant</Comment><br/>
0105 <Data>dq</Data><Normal Text> </Normal Text><Radix>0x</Radix><BaseN>123456789abcdef0</BaseN><Normal Text> </Normal Text><Comment>; eight byte constant</Comment><br/>
0106 <Data>dq</Data><Normal Text> </Normal Text><Float>1.234567e20</Float><Normal Text> </Normal Text><Comment>; double-precision float</Comment><br/>
0107 <Data>dt</Data><Normal Text> </Normal Text><Float>1.234567e20</Float><Normal Text> </Normal Text><Comment>; extended-precision float</Comment><br/>
0108 <Normal Text></Normal Text><br/>
0109 <Data>db</Data><Normal Text> </Normal Text><Number>33</Number><br/>
0110 <Data>db</Data><Normal Text> </Normal Text><Symbol>(</Symbol><Number>44</Number><Symbol>)</Symbol><Normal Text>               </Normal Text><Comment>; Integer expression</Comment><br/>
0111 <Comment>; db (44,55)            ; Invalid - error</Comment><br/>
0112 <Data>db</Data><Normal Text> </Normal Text><Symbol>%(</Symbol><Number>44</Number><Symbol>,</Symbol><Number>55</Number><Symbol>)</Symbol><br/>
0113 <Data>db</Data><Normal Text> </Normal Text><Symbol>%(</Symbol><String>'XX'</String><Symbol>,</Symbol><String>'YY'</String><Symbol>)</Symbol><br/>
0114 <Data>db</Data><Normal Text> </Normal Text><Symbol>(</Symbol><String>'AA'</String><Symbol>)</Symbol><Normal Text>             </Normal Text><Comment>; Integer expression - outputs single byte</Comment><br/>
0115 <Data>db</Data><Normal Text> </Normal Text><Symbol>%(</Symbol><String>'BB'</String><Symbol>)</Symbol><Normal Text>            </Normal Text><Comment>; List, containing a string</Comment><br/>
0116 <Data>db</Data><Normal Text> </Normal Text><Symbol>?</Symbol><br/>
0117 <Data>db</Data><Normal Text> </Normal Text><Number>6</Number><Normal Text> dup </Normal Text><Symbol>(</Symbol><Number>33</Number><Symbol>)</Symbol><br/>
0118 <Data>db</Data><Normal Text> </Normal Text><Number>6</Number><Normal Text> dup </Normal Text><Symbol>(</Symbol><Number>33</Number><Symbol>,</Symbol><Normal Text> </Normal Text><Number>34</Number><Symbol>)</Symbol><br/>
0119 <Data>db</Data><Normal Text> </Normal Text><Number>6</Number><Normal Text> dup </Normal Text><Symbol>(</Symbol><Number>33</Number><Symbol>,</Symbol><Normal Text> </Normal Text><Number>34</Number><Symbol>),</Symbol><Normal Text> </Normal Text><Number>35</Number><br/>
0120 <Data>db</Data><Normal Text> </Normal Text><Number>7</Number><Normal Text> dup </Normal Text><Symbol>(</Symbol><Number>99</Number><Symbol>)</Symbol><br/>
0121 <Data>db</Data><Normal Text> </Normal Text><Number>7</Number><Normal Text> dup </Normal Text><Data>dword</Data><Normal Text> </Normal Text><Symbol>(?,</Symbol><Normal Text> </Normal Text><Data>word</Data><Normal Text> </Normal Text><Symbol>?,</Symbol><Normal Text> </Normal Text><Symbol>?)</Symbol><br/>
0122 <Data>dw</Data><Normal Text> </Normal Text><Data>byte</Data><Normal Text> </Normal Text><Symbol>(?,</Symbol><Number>44</Number><Symbol>)</Symbol><br/>
0123 <Data>dw</Data><Normal Text> </Normal Text><Number>3</Number><Normal Text> dup </Normal Text><Symbol>(</Symbol><Radix>0x</Radix><BaseN>cc</BaseN><Symbol>,</Symbol><Normal Text> </Normal Text><Number>4</Number><Normal Text> dup </Normal Text><Data>byte</Data><Normal Text> </Normal Text><Symbol>(</Symbol><String>'PQR'</String><Symbol>),</Symbol><Normal Text> </Normal Text><Symbol>?),</Symbol><Normal Text> </Normal Text><Radix>0x</Radix><BaseN>abcd</BaseN><br/>
0124 <Data>dd</Data><Normal Text> </Normal Text><Number>16</Number><Normal Text> dup </Normal Text><Symbol>(</Symbol><Radix>0x</Radix><BaseN>aaaa</BaseN><Symbol>,</Symbol><Normal Text> </Normal Text><Symbol>?,</Symbol><Normal Text> </Normal Text><Radix>0x</Radix><BaseN>bbbbbb</BaseN><Symbol>)</Symbol><br/>
0125 <Data>dd</Data><Normal Text> </Normal Text><Number>64</Number><Normal Text> dup </Normal Text><Symbol>(?)</Symbol><br/>
0126 <Data>db</Data><Normal Text> </Normal Text><String>`</String><Char>\u263a</Char><String>`</String><Normal Text>            </Normal Text><Comment>; UTF-8 smiley face</Comment><br/>
0127 <Data>db</Data><Normal Text> </Normal Text><String>`</String><Char>\xe2\x98\xba</Char><String>`</String><Normal Text>      </Normal Text><Comment>; UTF-8 smiley face</Comment><br/>
0128 <Data>db</Data><Normal Text> </Normal Text><BaseN>0E2</BaseN><Radix>h</Radix><Symbol>,</Symbol><Normal Text> </Normal Text><BaseN>098</BaseN><Radix>h</Radix><Symbol>,</Symbol><Normal Text> </Normal Text><BaseN>0BA</BaseN><Radix>h</Radix><Normal Text>    </Normal Text><Comment>; UTF-8 smiley face</Comment><br/>
0129 <Label>buffer:</Label><Normal Text>         </Normal Text><Data>resb</Data><Normal Text>    </Normal Text><Number>64</Number><Normal Text>              </Normal Text><Comment>; reserve 64 bytes </Comment><br/>
0130 <Label>wordvar:</Label><Normal Text>        </Normal Text><Data>resw</Data><Normal Text>    </Normal Text><Number>1</Number><Normal Text>               </Normal Text><Comment>; reserve a word </Comment><br/>
0131 <Label>buffer:</Label><Normal Text>         </Normal Text><Data>db</Data><Normal Text>      </Normal Text><Number>64</Number><Normal Text> dup </Normal Text><Symbol>(?)</Symbol><Normal Text>      </Normal Text><Comment>; reserve 64 bytes </Comment><br/>
0132 <Label>wordvar:</Label><Normal Text>        </Normal Text><Data>dw</Data><Normal Text>      </Normal Text><Symbol>?</Symbol><Normal Text>               </Normal Text><Comment>; reserve a word </Comment><br/>
0133 <Normal Text></Normal Text><br/>
0134 <Data>incbin</Data><Normal Text>  </Normal Text><String>"file.dat"</String><Normal Text>             </Normal Text><Comment>; include the whole file</Comment><br/>
0135 <Data>incbin</Data><Normal Text>  </Normal Text><String>"file.dat"</String><Symbol>,</Symbol><Number>1024</Number><Normal Text>        </Normal Text><Comment>; skip the first 1024 bytes</Comment><br/>
0136 <Data>incbin</Data><Normal Text>  </Normal Text><String>"file.dat"</String><Symbol>,</Symbol><Number>1024</Number><Symbol>,</Symbol><Number>512</Number><Normal Text>    </Normal Text><Comment>; skip the first 1024, and</Comment><br/>
0137 <Normal Text>                               </Normal Text><Comment>; actually include at most 512</Comment><br/>
0138 <Normal Text></Normal Text><br/>
0139 <Unknown Instructions>message</Unknown Instructions><Normal Text>         </Normal Text><Data>db</Data><Normal Text>      </Normal Text><String>'hello, world'</String><Normal Text> </Normal Text><br/>
0140 <Unknown Instructions>msglen</Unknown Instructions><Normal Text>          </Normal Text><Data>equ</Data><Normal Text>     </Normal Text><Symbol>$-</Symbol><Normal Text>message</Normal Text><br/>
0141 <Normal Text></Normal Text><br/>
0142 <Label>buffer:</Label><Normal Text> </Normal Text><Data>db</Data><Normal Text>      </Normal Text><String>'hello, world'</String><Normal Text> </Normal Text><br/>
0143 <Normal Text>        </Normal Text><Data>times</Data><Normal Text> </Normal Text><Number>64</Number><Symbol>-$+</Symbol><Normal Text>buffer </Normal Text><Data>db</Data><Normal Text> </Normal Text><String>' '</String><br/>
0144 <Normal Text></Normal Text><br/>
0145 <Normal Text>     </Normal Text><Instructions>bndstx</Instructions><Normal Text> </Normal Text><Symbol>[</Symbol><Registers>rbx</Registers><Symbol>*</Symbol><Number>1</Number><Symbol>+</Symbol><Registers>rax</Registers><Symbol>+</Symbol><Radix>0x</Radix><BaseN>3</BaseN><Symbol>],</Symbol><Normal Text> bnd0    </Normal Text><Comment>; GAS - '*1' indecates an index reg</Comment><br/>
0146 <Normal Text>     </Normal Text><Instructions>VDIVPS</Instructions><Normal Text> </Normal Text><Registers>zmm4</Registers><Symbol>,</Symbol><Normal Text> </Normal Text><Registers>zmm5</Registers><Symbol>,</Symbol><Normal Text> </Normal Text><Data>dword</Data><Normal Text> </Normal Text><Symbol>[</Symbol><Registers>rbx</Registers><Symbol>]{</Symbol><Number>1to16</Number><Symbol>}</Symbol><Normal Text>   </Normal Text><Comment>; single-precision float </Comment><br/>
0147 <Normal Text>     </Normal Text><Instructions>VDIVPS</Instructions><Normal Text> </Normal Text><Registers>zmm4</Registers><Symbol>,</Symbol><Normal Text> </Normal Text><Registers>zmm5</Registers><Symbol>,</Symbol><Normal Text> </Normal Text><Data>zword</Data><Normal Text> </Normal Text><Symbol>[</Symbol><Registers>rbx</Registers><Symbol>]</Symbol><Normal Text>          </Normal Text><Comment>; packed 512 bit memory</Comment><br/>
0148 <Normal Text></Normal Text><br/>
0149 <Instructions>mov</Instructions><Normal Text>     </Normal Text><Registers>ax</Registers><Symbol>,</Symbol><Number>200</Number><Normal Text>          </Normal Text><Comment>; decimal</Comment><br/>
0150 <Instructions>mov</Instructions><Normal Text>     </Normal Text><Registers>ax</Registers><Symbol>,</Symbol><Number>0200</Number><Normal Text>         </Normal Text><Comment>; still decimal</Comment><br/>
0151 <Instructions>mov</Instructions><Normal Text>     </Normal Text><Registers>ax</Registers><Symbol>,</Symbol><Number>0200</Number><Radix>d</Radix><Normal Text>        </Normal Text><Comment>; explicitly decimal</Comment><br/>
0152 <Instructions>mov</Instructions><Normal Text>     </Normal Text><Registers>ax</Registers><Symbol>,</Symbol><Radix>0d</Radix><Number>200</Number><Normal Text>        </Normal Text><Comment>; also decimal</Comment><br/>
0153 <Instructions>mov</Instructions><Normal Text>     </Normal Text><Registers>ax</Registers><Symbol>,</Symbol><BaseN>0c8</BaseN><Radix>h</Radix><Normal Text>         </Normal Text><Comment>; hex</Comment><br/>
0154 <Instructions>mov</Instructions><Normal Text>     </Normal Text><Registers>ax</Registers><Symbol>,$</Symbol><BaseN>0c8</BaseN><Normal Text>         </Normal Text><Comment>; hex again: the 0 is required</Comment><br/>
0155 <Instructions>mov</Instructions><Normal Text>     </Normal Text><Registers>ax</Registers><Symbol>,</Symbol><Radix>0x</Radix><BaseN>c8</BaseN><Normal Text>         </Normal Text><Comment>; hex yet again</Comment><br/>
0156 <Instructions>mov</Instructions><Normal Text>     </Normal Text><Registers>ax</Registers><Symbol>,</Symbol><Radix>0h</Radix><BaseN>c8</BaseN><Normal Text>         </Normal Text><Comment>; still hex</Comment><br/>
0157 <Instructions>mov</Instructions><Normal Text>     </Normal Text><Registers>ax</Registers><Symbol>,</Symbol><BaseN>310</BaseN><Radix>q</Radix><Normal Text>         </Normal Text><Comment>; octal</Comment><br/>
0158 <Instructions>mov</Instructions><Normal Text>     </Normal Text><Registers>ax</Registers><Symbol>,</Symbol><BaseN>310</BaseN><Radix>o</Radix><Normal Text>         </Normal Text><Comment>; octal again</Comment><br/>
0159 <Instructions>mov</Instructions><Normal Text>     </Normal Text><Registers>ax</Registers><Symbol>,</Symbol><Radix>0o</Radix><BaseN>310</BaseN><Normal Text>        </Normal Text><Comment>; octal yet again</Comment><br/>
0160 <Instructions>mov</Instructions><Normal Text>     </Normal Text><Registers>ax</Registers><Symbol>,</Symbol><Radix>0q</Radix><BaseN>310</BaseN><Normal Text>        </Normal Text><Comment>; octal yet again</Comment><br/>
0161 <Instructions>mov</Instructions><Normal Text>     </Normal Text><Registers>ax</Registers><Symbol>,</Symbol><BaseN>11001000</BaseN><Radix>b</Radix><Normal Text>    </Normal Text><Comment>; binary</Comment><br/>
0162 <Instructions>mov</Instructions><Normal Text>     </Normal Text><Registers>ax</Registers><Symbol>,</Symbol><BaseN>1100_1000</BaseN><Radix>b</Radix><Normal Text>   </Normal Text><Comment>; same binary constant</Comment><br/>
0163 <Instructions>mov</Instructions><Normal Text>     </Normal Text><Registers>ax</Registers><Symbol>,</Symbol><BaseN>1100_1000</BaseN><Radix>y</Radix><Normal Text>   </Normal Text><Comment>; same binary constant once more</Comment><br/>
0164 <Instructions>mov</Instructions><Normal Text>     </Normal Text><Registers>ax</Registers><Symbol>,</Symbol><Radix>0b</Radix><BaseN>1100_1000</BaseN><Normal Text>  </Normal Text><Comment>; same binary constant yet again</Comment><br/>
0165 <Instructions>mov</Instructions><Normal Text>     </Normal Text><Registers>ax</Registers><Symbol>,</Symbol><Radix>0y</Radix><BaseN>1100_1000</BaseN><Normal Text>  </Normal Text><Comment>; same binary constant yet again</Comment><br/>
0166 <Normal Text></Normal Text><br/>
0167 <Preprocessor>%define</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>u</Unknown Instructions><Symbol>(</Symbol><Normal Text>x</Normal Text><Symbol>)</Symbol><Normal Text> </Normal Text><NASM Keywords>__?utf16?__</NASM Keywords><Symbol>(</Symbol><Normal Text>x</Normal Text><Symbol>)</Symbol><Normal Text> </Normal Text><br/>
0168 <Preprocessor>%define</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>w</Unknown Instructions><Symbol>(</Symbol><Normal Text>x</Normal Text><Symbol>)</Symbol><Normal Text> </Normal Text><NASM Keywords>__?utf32?__</NASM Keywords><Symbol>(</Symbol><Normal Text>x</Normal Text><Symbol>)</Symbol><Normal Text> </Normal Text><br/>
0169 <Normal Text></Normal Text><br/>
0170 <Data>dw</Data><Normal Text> u</Normal Text><Symbol>(</Symbol><String>'C:\WINDOWS'</String><Symbol>),</Symbol><Normal Text> </Normal Text><Number>0</Number><Normal Text>       </Normal Text><Comment>; Pathname in UTF-16</Comment><br/>
0171 <Data>dd</Data><Normal Text> w</Normal Text><Symbol>(</Symbol><String>`A + B = </String><Char>\u206a</Char><String>`</String><Symbol>),</Symbol><Normal Text> </Normal Text><Number>0</Number><Normal Text>   </Normal Text><Comment>; String in UTF-32</Comment><br/>
0172 <Normal Text></Normal Text><br/>
0173 <Data>db</Data><Normal Text>    </Normal Text><Symbol>-</Symbol><Float>0.2</Float><Normal Text>                    </Normal Text><Comment>; "Quarter precision"</Comment><br/>
0174 <Data>dw</Data><Normal Text>    </Normal Text><Symbol>-</Symbol><Float>0.5</Float><Normal Text>                    </Normal Text><Comment>; IEEE 754r/SSE5 half precision</Comment><br/>
0175 <Data>dd</Data><Normal Text>    </Normal Text><Float>1.2</Float><Normal Text>                     </Normal Text><Comment>; an easy one</Comment><br/>
0176 <Data>dd</Data><Normal Text>    </Normal Text><Float>1.222_222_222</Float><Normal Text>           </Normal Text><Comment>; underscores are permitted</Comment><br/>
0177 <Data>dd</Data><Normal Text>    </Normal Text><Float>0x1p+2</Float><Normal Text>                  </Normal Text><Comment>; 1.0x2^2 = 4.0</Comment><br/>
0178 <Data>dq</Data><Normal Text>    </Normal Text><Float>0x1p+32</Float><Normal Text>                 </Normal Text><Comment>; 1.0x2^32 = 4 294 967 296.0</Comment><br/>
0179 <Data>dq</Data><Normal Text>    </Normal Text><Float>1.e10</Float><Normal Text>                   </Normal Text><Comment>; 10 000 000 000.0</Comment><br/>
0180 <Data>dq</Data><Normal Text>    </Normal Text><Float>1.e+10</Float><Normal Text>                  </Normal Text><Comment>; synonymous with 1.e10</Comment><br/>
0181 <Data>dq</Data><Normal Text>    </Normal Text><Float>1.e-10</Float><Normal Text>                  </Normal Text><Comment>; 0.000 000 000 1</Comment><br/>
0182 <Data>dt</Data><Normal Text>    </Normal Text><Float>3.141592653589793238462</Float><Normal Text> </Normal Text><Comment>; pi</Comment><br/>
0183 <Data>do</Data><Normal Text>    </Normal Text><Float>1.e+4000</Float><Normal Text>                </Normal Text><Comment>; IEEE 754r quad precision</Comment><br/>
0184 <Normal Text></Normal Text><br/>
0185 <Instructions>mov</Instructions><Normal Text>    </Normal Text><Registers>rax</Registers><Symbol>,</Symbol><NASM Keywords>__?float64?__</NASM Keywords><Symbol>(</Symbol><Float>3.141592653589793238462</Float><Symbol>)</Symbol><br/>
0186 <Instructions>mov</Instructions><Normal Text>    </Normal Text><Registers>rax</Registers><Symbol>,</Symbol><Radix>0x</Radix><BaseN>400921fb54442d18</BaseN><br/>
0187 <Normal Text></Normal Text><br/>
0188 <Preprocessor>%define</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>Inf</Unknown Instructions><Normal Text> </Normal Text><NASM Keywords>__?Infinity?__</NASM Keywords><Normal Text> </Normal Text><br/>
0189 <Preprocessor>%define</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>NaN</Unknown Instructions><Normal Text> </Normal Text><NASM Keywords>__?QNaN?__</NASM Keywords><Normal Text> </Normal Text><br/>
0190 <Normal Text></Normal Text><br/>
0191 <Data>dq</Data><Normal Text>    </Normal Text><Symbol>+</Symbol><Float>1.5</Float><Symbol>,</Symbol><Normal Text> </Normal Text><Symbol>-</Symbol><Normal Text>Inf</Normal Text><Symbol>,</Symbol><Normal Text> NaN         </Normal Text><Comment>; Double-precision constants</Comment><br/>
0192 <Data>dt</Data><Normal Text> </Normal Text><Float>12_345_678_901_245_678</Float><Radix>p</Radix><br/>
0193 <Data>dt</Data><Normal Text> </Normal Text><Symbol>-</Symbol><Float>12_345_678_901_245_678</Float><Radix>p</Radix><br/>
0194 <Data>dt</Data><Normal Text> </Normal Text><Symbol>+</Symbol><Float>0p33</Float><br/>
0195 <Data>dt</Data><Normal Text> </Normal Text><Float>33</Float><Radix>p</Radix><br/>
0196 <Normal Text></Normal Text><br/>
0197 <Data>dq</Data><Normal Text> b </Normal Text><Symbol>*</Symbol><Normal Text> </Normal Text><Symbol>(</Symbol><Normal Text>a </Normal Text><Symbol>//</Symbol><Normal Text> b</Normal Text><Symbol>)</Symbol><Normal Text> </Normal Text><Symbol>+</Symbol><Normal Text> </Normal Text><Symbol>(</Symbol><Normal Text>a </Normal Text><Label>%%</Label><Normal Text> b</Normal Text><Symbol>)</Symbol><br/>
0198 <Normal Text></Normal Text><br/>
0199 <Branch Instructions>call</Branch Instructions><Normal Text>    </Normal Text><Symbol>(</Symbol><NASM Keywords>seg</NASM Keywords><Normal Text> procedure</Normal Text><Symbol>):</Symbol><Normal Text>procedure</Normal Text><br/>
0200 <Branch Instructions>call</Branch Instructions><Normal Text>    weird_seg</Normal Text><Symbol>:(</Symbol><Normal Text>procedure </Normal Text><NASM Keywords>wrt</NASM Keywords><Normal Text> weird_seg</Normal Text><Symbol>)</Symbol><br/>
0201 <Normal Text></Normal Text><br/>
0202 <Instructions>push</Instructions><Normal Text> </Normal Text><Data>dword</Data><Normal Text> </Normal Text><Number>33</Number><br/>
0203 <Instructions>push</Instructions><Normal Text> </Normal Text><NASM Keywords>strict</NASM Keywords><Normal Text> </Normal Text><Data>dword</Data><Normal Text> </Normal Text><Number>33</Number><br/>
0204 <Normal Text></Normal Text><br/>
0205 <Data>times</Data><Normal Text> </Normal Text><Symbol>(</Symbol><Normal Text>label</Normal Text><Symbol>-$)</Symbol><Normal Text> </Normal Text><Data>db</Data><Normal Text> </Normal Text><Number>0</Number><br/>
0206 <Normal Text></Normal Text><br/>
0207 <Label>label:</Label><Normal Text>  </Normal Text><Data>db</Data><Normal Text>      </Normal Text><String>'Where am I?'</String><br/>
0208 <Normal Text>        </Normal Text><Data>times</Data><Normal Text> </Normal Text><Symbol>(</Symbol><Normal Text>label</Normal Text><Symbol>-$+</Symbol><Normal Text>1</Normal Text><Symbol>)</Symbol><Normal Text> </Normal Text><Data>db</Data><Normal Text> </Normal Text><Number>0</Number><Normal Text> </Normal Text><br/>
0209 <Label>label:</Label><Normal Text>  </Normal Text><Data>db</Data><Normal Text>      </Normal Text><String>'NOW where am I?'</String><br/>
0210 <Normal Text></Normal Text><br/>
0211 <Unknown Instructions>label1</Unknown Instructions><Normal Text>  </Normal Text><Comment>; some code </Comment><br/>
0212 <Normal Text></Normal Text><br/>
0213 <Normal Text>.</Normal Text><Instructions>loop</Instructions><Normal Text> </Normal Text><br/>
0214 <Normal Text>        </Normal Text><Comment>; some more code </Comment><br/>
0215 <Normal Text></Normal Text><br/>
0216 <Normal Text>        </Normal Text><Branch Instructions>jne</Branch Instructions><Normal Text>     </Normal Text><Label>.loop</Label><Normal Text> </Normal Text><br/>
0217 <Normal Text>        </Normal Text><Branch Instructions>ret</Branch Instructions><Normal Text> </Normal Text><br/>
0218 <Normal Text></Normal Text><br/>
0219 <Label>label1:</Label><Normal Text>                         </Normal Text><Comment>; a non-local label </Comment><br/>
0220 <Label>.local:</Label><Normal Text>                         </Normal Text><Comment>; this is really label1.local </Comment><br/>
0221 <Label>..@foo:</Label><Normal Text>                         </Normal Text><Comment>; this is a special symbol </Comment><br/>
0222 <Label>label2:</Label><Normal Text>                         </Normal Text><Comment>; another non-local label </Comment><br/>
0223 <Label>.local:</Label><Normal Text>                         </Normal Text><Comment>; this is really label2.local </Comment><br/>
0224 <Normal Text></Normal Text><br/>
0225 <Normal Text>        </Normal Text><Branch Instructions>jmp</Branch Instructions><Normal Text>     </Normal Text><Label>..@foo</Label><Normal Text>          </Normal Text><Comment>; this will jump three lines up</Comment><br/>
0226 <Normal Text></Normal Text><br/>
0227 <Normal Text></Normal Text><br/>
0228 <Preprocessor>%define</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>THIS_VERY_LONG_MACRO_NAME_IS_DEFINED_TO</Unknown Instructions><Normal Text> \ </Normal Text><br/>
0229 <Normal Text>        </Normal Text><Unknown Instructions>THIS_VALUE</Unknown Instructions><br/>
0230 <Normal Text></Normal Text><br/>
0231 <Preprocessor>%define</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>ctrl</Unknown Instructions><Normal Text>    </Normal Text><Radix>0x</Radix><BaseN>1F</BaseN><Normal Text> </Normal Text><Symbol>&</Symbol><Normal Text> </Normal Text><br/>
0232 <Preprocessor>%define</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>param</Unknown Instructions><Symbol>(</Symbol><Normal Text>a</Normal Text><Symbol>,</Symbol><Normal Text>b</Normal Text><Symbol>)</Symbol><Normal Text> </Normal Text><Symbol>((</Symbol><Normal Text>a</Normal Text><Symbol>)+(</Symbol><Normal Text>a</Normal Text><Symbol>)*(</Symbol><Normal Text>b</Normal Text><Symbol>))</Symbol><Normal Text> </Normal Text><br/>
0233 <Normal Text></Normal Text><br/>
0234 <Normal Text>        </Normal Text><Instructions>mov</Instructions><Normal Text>     </Normal Text><Data>byte</Data><Normal Text> </Normal Text><Symbol>[</Symbol><Normal Text>param</Normal Text><Symbol>(</Symbol><Number>2</Number><Symbol>,</Symbol><Registers>ebx</Registers><Symbol>)],</Symbol><Normal Text> ctrl </Normal Text><String>'D'</String><br/>
0235 <Normal Text>        </Normal Text><Instructions>mov</Instructions><Normal Text>     </Normal Text><Data>byte</Data><Normal Text> </Normal Text><Symbol>[(</Symbol><Number>2</Number><Symbol>)+(</Symbol><Number>2</Number><Symbol>)*(</Symbol><Registers>ebx</Registers><Symbol>)],</Symbol><Normal Text> </Normal Text><Radix>0x</Radix><BaseN>1F</BaseN><Normal Text> </Normal Text><Symbol>&</Symbol><Normal Text> </Normal Text><String>'D'</String><br/>
0236 <Normal Text></Normal Text><br/>
0237 <Preprocessor>%define</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>a</Unknown Instructions><Symbol>(</Symbol><Normal Text>x</Normal Text><Symbol>)</Symbol><Normal Text>    </Normal Text><Number>1</Number><Symbol>+</Symbol><Normal Text>b</Normal Text><Symbol>(</Symbol><Normal Text>x</Normal Text><Symbol>)</Symbol><Normal Text> </Normal Text><br/>
0238 <Preprocessor>%define</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>b</Unknown Instructions><Symbol>(</Symbol><Normal Text>x</Normal Text><Symbol>)</Symbol><Normal Text>    </Normal Text><Number>2</Number><Symbol>*</Symbol><Normal Text>x </Normal Text><br/>
0239 <Normal Text></Normal Text><br/>
0240 <Normal Text>        </Normal Text><Instructions>mov</Instructions><Normal Text>     </Normal Text><Registers>ax</Registers><Symbol>,</Symbol><Normal Text>a</Normal Text><Symbol>(</Symbol><Number>8</Number><Symbol>)</Symbol><br/>
0241 <Normal Text></Normal Text><br/>
0242 <Normal Text>   </Normal Text><Preprocessor>%define</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>foo</Unknown Instructions><Normal Text> </Normal Text><Symbol>(</Symbol><Normal Text>a</Normal Text><Symbol>,</Symbol><Normal Text>b</Normal Text><Symbol>)</Symbol><Normal Text>               </Normal Text><Comment>; no arguments, (a,b) is the expansion </Comment><br/>
0243 <Normal Text>   </Normal Text><Preprocessor>%define</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>bar</Unknown Instructions><Symbol>(</Symbol><Normal Text>a</Normal Text><Symbol>,</Symbol><Normal Text>b</Normal Text><Symbol>)</Symbol><Normal Text>                </Normal Text><Comment>; two arguments, empty expansion</Comment><br/>
0244 <Normal Text></Normal Text><br/>
0245 <Normal Text>   </Normal Text><Preprocessor>%define</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>ereg</Unknown Instructions><Symbol>(</Symbol><Normal Text>foo</Normal Text><Symbol>,)</Symbol><Normal Text> e </Normal Text><Symbol>%+</Symbol><Normal Text> foo </Normal Text><br/>
0246 <Normal Text>     </Normal Text><Instructions>mov</Instructions><Normal Text> </Normal Text><Registers>eax</Registers><Symbol>,</Symbol><Normal Text>ereg</Normal Text><Symbol>(</Symbol><Registers>dx</Registers><Symbol>,</Symbol><Registers>cx</Registers><Symbol>)</Symbol><br/>
0247 <Normal Text></Normal Text><br/>
0248 <Normal Text>    </Normal Text><Preprocessor>%define</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>xyzzy</Unknown Instructions><Symbol>(=</Symbol><Normal Text>expr</Normal Text><Symbol>,&</Symbol><Normal Text>val</Normal Text><Symbol>)</Symbol><Normal Text> expr</Normal Text><Symbol>,</Symbol><Normal Text> str </Normal Text><br/>
0249 <Normal Text>    </Normal Text><Preprocessor>%define</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>plugh</Unknown Instructions><Symbol>(</Symbol><Normal Text>x</Normal Text><Symbol>)</Symbol><Normal Text> xyzzy</Normal Text><Symbol>(</Symbol><Normal Text>x</Normal Text><Symbol>,</Symbol><Normal Text>x</Normal Text><Symbol>)</Symbol><Normal Text> </Normal Text><br/>
0250 <Normal Text>    </Normal Text><Data>db</Data><Normal Text> plugh</Normal Text><Symbol>(</Symbol><Number>3</Number><Symbol>+</Symbol><Number>5</Number><Symbol>),</Symbol><Normal Text> </Normal Text><String>`</String><Char>\0</Char><String>`</String><Normal Text> </Normal Text><Comment>; Expands to: db 8, "3+5", `\0`</Comment><br/>
0251 <Normal Text></Normal Text><br/>
0252 <Normal Text>     </Normal Text><Instructions>mov</Instructions><Normal Text> </Normal Text><Registers>ax</Registers><Symbol>,</Symbol><Normal Text>Foo</Normal Text><Symbol>%[</Symbol><NASM Keywords>__?BITS?__</NASM Keywords><Symbol>]</Symbol><Normal Text> </Normal Text><Comment>; The Foo value</Comment><br/>
0253 <Preprocessor>%xdefine</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>Bar</Unknown Instructions><Normal Text>         Quux    </Normal Text><Comment>; Expands due to %xdefine </Comment><br/>
0254 <Preprocessor>%define</Preprocessor><Normal Text>  </Normal Text><Unknown Instructions>Bar</Unknown Instructions><Normal Text>         </Normal Text><Symbol>%[</Symbol><Normal Text>Quux</Normal Text><Symbol>]</Symbol><Normal Text> </Normal Text><Comment>; Expands due to %[...]</Comment><br/>
0255 <Normal Text></Normal Text><br/>
0256 <Normal Text></Normal Text><br/>
0257 <Normal Text></Normal Text><br/>
0258 <Preprocessor>%define</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>BDASTART</Unknown Instructions><Normal Text> </Normal Text><BaseN>400</BaseN><Radix>h</Radix><Normal Text>                </Normal Text><Comment>; Start of BIOS data area</Comment><br/>
0259 <Normal Text></Normal Text><br/>
0260 <NASM Keywords>struc</NASM Keywords><Normal Text>   tBIOSDA                      </Normal Text><Comment>; its structure </Comment><br/>
0261 <Normal Text>        .</Normal Text><Unknown Instructions>COM1addr</Unknown Instructions><Normal Text>       </Normal Text><Data>RESW</Data><Normal Text>    </Normal Text><Number>1</Number><Normal Text> </Normal Text><br/>
0262 <Normal Text>        .</Normal Text><Unknown Instructions>COM2addr</Unknown Instructions><Normal Text>       </Normal Text><Data>RESW</Data><Normal Text>    </Normal Text><Number>1</Number><Normal Text> </Normal Text><br/>
0263 <Normal Text>        </Normal Text><Comment>; ..and so on </Comment><br/>
0264 <NASM Keywords>endstruc</NASM Keywords><br/>
0265 <Normal Text></Normal Text><br/>
0266 <Normal Text>        </Normal Text><Instructions>mov</Instructions><Normal Text>     </Normal Text><Registers>ax</Registers><Symbol>,</Symbol><Normal Text>BDASTART </Normal Text><Symbol>+</Symbol><Normal Text> tBIOSDA</Normal Text><Symbol>.</Symbol><Normal Text>COM1addr </Normal Text><br/>
0267 <Normal Text>        </Normal Text><Instructions>mov</Instructions><Normal Text>     </Normal Text><Registers>bx</Registers><Symbol>,</Symbol><Normal Text>BDASTART </Normal Text><Symbol>+</Symbol><Normal Text> tBIOSDA</Normal Text><Symbol>.</Symbol><Normal Text>COM2addr</Normal Text><br/>
0268 <Comment>; Macro to access BIOS variables by their names (from tBDA):</Comment><br/>
0269 <Normal Text></Normal Text><br/>
0270 <Preprocessor>%idefine</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>Foo</Unknown Instructions><Normal Text> mov </Normal Text><Symbol>%?,%??</Symbol><Normal Text> </Normal Text><br/>
0271 <Normal Text></Normal Text><br/>
0272 <Preprocessor>%idefine</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>keyword</Unknown Instructions><Normal Text> </Normal Text><Symbol>$%?</Symbol><br/>
0273 <Normal Text></Normal Text><br/>
0274 <Preprocessor>%idefine</Preprocessor><Normal Text> </Normal Text><Instructions>pause</Instructions><Normal Text> </Normal Text><Symbol>$%?</Symbol><Normal Text>                  </Normal Text><Comment>; Hide the PAUSE instruction</Comment><br/>
0275 <Preprocessor>%define</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>foo</Unknown Instructions><Normal Text> bar </Normal Text><br/>
0276 <Preprocessor>%undef</Preprocessor><Normal Text>  </Normal Text><Unknown Instructions>foo</Unknown Instructions><Normal Text> </Normal Text><br/>
0277 <Normal Text></Normal Text><br/>
0278 <Normal Text>        </Normal Text><Instructions>mov</Instructions><Normal Text>     </Normal Text><Registers>eax</Registers><Symbol>,</Symbol><Normal Text> foo</Normal Text><br/>
0279 <Preprocessor>%assign</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>i</Unknown Instructions><Normal Text> i</Normal Text><Symbol>+</Symbol><Number>1</Number><br/>
0280 <Preprocessor>%defstr</Preprocessor><Normal Text> </Normal Text><Instructions>test</Instructions><Normal Text> TEST</Normal Text><br/>
0281 <Preprocessor>%define</Preprocessor><Normal Text> </Normal Text><Instructions>test</Instructions><Normal Text> </Normal Text><String>'TEST'</String><br/>
0282 <Preprocessor>%defstr</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>PATH</Unknown Instructions><Normal Text> </Normal Text><Symbol>%!</Symbol><Normal Text>PATH          </Normal Text><Comment>; The operating system PATH variable</Comment><br/>
0283 <Normal Text></Normal Text><br/>
0284 <Preprocessor>%deftok</Preprocessor><Normal Text> </Normal Text><Instructions>test</Instructions><Normal Text> </Normal Text><String>'TEST'</String><br/>
0285 <Normal Text></Normal Text><br/>
0286 <Preprocessor>%define</Preprocessor><Normal Text> </Normal Text><Instructions>test</Instructions><Normal Text> TEST</Normal Text><br/>
0287 <Normal Text></Normal Text><br/>
0288 <Preprocessor>%define</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>greedy</Unknown Instructions><Symbol>(</Symbol><Normal Text>a</Normal Text><Symbol>,</Symbol><Normal Text>b</Normal Text><Symbol>,</Symbol><Normal Text>c</Normal Text><Symbol>+)</Symbol><Normal Text> a </Normal Text><Symbol>+</Symbol><Normal Text> </Normal Text><Number>66</Number><Normal Text> </Normal Text><Symbol>%,</Symbol><Normal Text> b </Normal Text><Symbol>*</Symbol><Normal Text> </Normal Text><Number>3</Number><Normal Text> </Normal Text><Symbol>%,</Symbol><Normal Text> c </Normal Text><br/>
0289 <Normal Text></Normal Text><br/>
0290 <Normal Text>       </Normal Text><Data>db</Data><Normal Text> greedy</Normal Text><Symbol>(</Symbol><Number>1</Number><Symbol>,</Symbol><Number>2</Number><Symbol>)</Symbol><Normal Text>          </Normal Text><Comment>; db 1 + 66, 2 * 3 </Comment><br/>
0291 <Normal Text>       </Normal Text><Data>db</Data><Normal Text> greedy</Normal Text><Symbol>(</Symbol><Number>1</Number><Symbol>,</Symbol><Number>2</Number><Symbol>,</Symbol><Number>3</Number><Symbol>)</Symbol><Normal Text>        </Normal Text><Comment>; db 1 + 66, 2 * 3, 3 </Comment><br/>
0292 <Normal Text>       </Normal Text><Data>db</Data><Normal Text> greedy</Normal Text><Symbol>(</Symbol><Number>1</Number><Symbol>,</Symbol><Number>2</Number><Symbol>,</Symbol><Number>3</Number><Symbol>,</Symbol><Number>4</Number><Symbol>)</Symbol><Normal Text>      </Normal Text><Comment>; db 1 + 66, 2 * 3, 3, 4 </Comment><br/>
0293 <Normal Text>       </Normal Text><Data>db</Data><Normal Text> greedy</Normal Text><Symbol>(</Symbol><Number>1</Number><Symbol>,</Symbol><Number>2</Number><Symbol>,</Symbol><Number>3</Number><Symbol>,</Symbol><Number>4</Number><Symbol>,</Symbol><Number>5</Number><Symbol>)</Symbol><Normal Text>    </Normal Text><Comment>; db 1 + 66, 2 * 3, 3, 4, 5</Comment><br/>
0294 <Normal Text></Normal Text><br/>
0295 <Preprocessor>%macro</Preprocessor><Normal Text>  </Normal Text><Unknown Instructions>silly</Unknown Instructions><Normal Text> </Normal Text><Number>2</Number><Normal Text> </Normal Text><br/>
0296 <Normal Text>    </Normal Text><Preprocessor>%</Preprocessor><Number>2</Number><Normal Text>: </Normal Text><Data>db</Data><Normal Text>      </Normal Text><Symbol>%</Symbol><Number>1</Number><Normal Text> </Normal Text><br/>
0297 <Preprocessor>%endmacro</Preprocessor><Normal Text> </Normal Text><br/>
0298 <Normal Text></Normal Text><br/>
0299 <Normal Text>        </Normal Text><Unknown Instructions>silly</Unknown Instructions><Normal Text> </Normal Text><String>'a'</String><Symbol>,</Symbol><Normal Text> letter_a             </Normal Text><Comment>; letter_a:  db 'a' </Comment><br/>
0300 <Normal Text>        </Normal Text><Unknown Instructions>silly</Unknown Instructions><Normal Text> </Normal Text><String>'ab'</String><Symbol>,</Symbol><Normal Text> string_ab           </Normal Text><Comment>; string_ab: db 'ab' </Comment><br/>
0301 <Normal Text>        </Normal Text><Unknown Instructions>silly</Unknown Instructions><Normal Text> </Normal Text><Symbol>{</Symbol><Number>13</Number><Symbol>,</Symbol><Number>10</Number><Symbol>},</Symbol><Normal Text> crlf             </Normal Text><Comment>; crlf:      db 13,10</Comment><br/>
0302 <Preprocessor>%pragma</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>preproc</Unknown Instructions><Normal Text> sane_empty_expansion</Normal Text><br/>
0303 <Normal Text></Normal Text><br/>
0304 <Preprocessor>%macro</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>mpar</Unknown Instructions><Normal Text> </Normal Text><Number>1</Number><Symbol>-*</Symbol><br/>
0305 <Normal Text>     </Normal Text><Data>db</Data><Normal Text> </Normal Text><Symbol>%{</Symbol><Number>3</Number><Symbol>:</Symbol><Number>5</Number><Symbol>}</Symbol><Normal Text> </Normal Text><br/>
0306 <Normal Text>     </Normal Text><Data>db</Data><Normal Text> </Normal Text><Symbol>%{-</Symbol><Number>1</Number><Symbol>:-</Symbol><Number>3</Number><Symbol>}</Symbol><Normal Text> </Normal Text><br/>
0307 <Preprocessor>%endmacro</Preprocessor><br/>
0308 <Normal Text></Normal Text><br/>
0309 <Unknown Instructions>mpar</Unknown Instructions><Normal Text> </Normal Text><Number>1</Number><Symbol>,</Symbol><Number>2</Number><Symbol>,</Symbol><Number>3</Number><Symbol>,</Symbol><Number>4</Number><Symbol>,</Symbol><Number>5</Number><Symbol>,</Symbol><Number>6</Number><br/>
0310 <Normal Text></Normal Text><br/>
0311 <Preprocessor>%macro</Preprocessor><Normal Text>  </Normal Text><Unknown Instructions>die</Unknown Instructions><Normal Text> </Normal Text><Number>0</Number><Symbol>-</Symbol><Number>1</Number><Normal Text> </Normal Text><String>"Painful program death has occurred."</String><Normal Text> </Normal Text><br/>
0312 <Normal Text></Normal Text><br/>
0313 <Normal Text>        </Normal Text><Unknown Instructions>writefile</Unknown Instructions><Normal Text> </Normal Text><Number>2</Number><Symbol>,%</Symbol><Number>1</Number><Normal Text> </Normal Text><br/>
0314 <Normal Text>        </Normal Text><Instructions>mov</Instructions><Normal Text>     </Normal Text><Registers>ax</Registers><Symbol>,</Symbol><Radix>0x</Radix><BaseN>4c01</BaseN><Normal Text> </Normal Text><br/>
0315 <Normal Text>        </Normal Text><Instructions>int</Instructions><Normal Text>     </Normal Text><Radix>0x</Radix><BaseN>21</BaseN><Normal Text> </Normal Text><br/>
0316 <Normal Text></Normal Text><br/>
0317 <Preprocessor>%endmacro</Preprocessor><br/>
0318 <Normal Text></Normal Text><br/>
0319 <Preprocessor>%macro</Preprocessor><Normal Text>  </Normal Text><Unknown Instructions>multipush</Unknown Instructions><Normal Text> </Normal Text><Number>1</Number><Symbol>-*</Symbol><Normal Text> </Normal Text><br/>
0320 <Normal Text></Normal Text><br/>
0321 <Normal Text>  </Normal Text><Preprocessor>%rep</Preprocessor><Normal Text>  %0 </Normal Text><br/>
0322 <Normal Text>        </Normal Text><Instructions>push</Instructions><Normal Text>    </Normal Text><Symbol>%</Symbol><Number>1</Number><Normal Text> </Normal Text><br/>
0323 <Normal Text>  </Normal Text><Preprocessor>%rotate</Preprocessor><Normal Text> 1 </Normal Text><br/>
0324 <Normal Text>  </Normal Text><Preprocessor>%endrep</Preprocessor><Normal Text> </Normal Text><br/>
0325 <Normal Text></Normal Text><br/>
0326 <Normal Text>        </Normal Text><Unknown Instructions>j</Unknown Instructions><Symbol>%-</Symbol><Number>1</Number><Normal Text>    </Normal Text><Label>%%skip</Label><Normal Text> </Normal Text><br/>
0327 <Normal Text>        </Normal Text><Branch Instructions>ret</Branch Instructions><Normal Text> </Normal Text><br/>
0328 <Normal Text>  </Normal Text><Label>%%skip:</Label><Normal Text> </Normal Text><br/>
0329 <Normal Text></Normal Text><br/>
0330 <Preprocessor>%endmacro</Preprocessor><br/>
0331 <Normal Text></Normal Text><br/>
0332 <Normal Text></Normal Text><br/>
0333 <Preprocessor>%macro</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>foo</Unknown Instructions><Normal Text> </Normal Text><Number>1</Number><NASM Keywords>.nolist</NASM Keywords><br/>
0334 <Normal Text></Normal Text><br/>
0335 <Preprocessor>%endmacro</Preprocessor><br/>
0336 <Normal Text></Normal Text><br/>
0337 <Preprocessor>%macro</Preprocessor><Normal Text>  </Normal Text><Unknown Instructions>pushparam</Unknown Instructions><Normal Text> </Normal Text><Number>1</Number><Normal Text> </Normal Text><br/>
0338 <Normal Text></Normal Text><br/>
0339 <Normal Text>  </Normal Text><Preprocessor>%ifidni</Preprocessor><Normal Text> %1,</Normal Text><Unknown Instructions>ip</Unknown Instructions><Normal Text> </Normal Text><br/>
0340 <Normal Text>        </Normal Text><Branch Instructions>call</Branch Instructions><Normal Text>    </Normal Text><Label>%%label</Label><Normal Text> </Normal Text><br/>
0341 <Normal Text>  </Normal Text><Label>%%label:</Label><Normal Text> </Normal Text><br/>
0342 <Normal Text>  </Normal Text><Preprocessor>%else</Preprocessor><Normal Text> </Normal Text><br/>
0343 <Normal Text>        </Normal Text><Instructions>push</Instructions><Normal Text>    </Normal Text><Symbol>%</Symbol><Number>1</Number><Normal Text> </Normal Text><br/>
0344 <Normal Text>  </Normal Text><Preprocessor>%endif</Preprocessor><Normal Text> </Normal Text><br/>
0345 <Normal Text></Normal Text><br/>
0346 <Preprocessor>%endmacro</Preprocessor><br/>
0347 <Normal Text></Normal Text><br/>
0348 <Preprocessor>%assign</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>i</Unknown Instructions><Normal Text> </Normal Text><Number>0</Number><Normal Text> </Normal Text><br/>
0349 <Preprocessor>%rep</Preprocessor><Normal Text>    64 </Normal Text><br/>
0350 <Normal Text>        </Normal Text><Instructions>inc</Instructions><Normal Text>     </Normal Text><Data>word</Data><Normal Text> </Normal Text><Symbol>[</Symbol><Normal Text>table</Normal Text><Symbol>+</Symbol><Number>2</Number><Symbol>*</Symbol><Normal Text>i</Normal Text><Symbol>]</Symbol><Normal Text> </Normal Text><br/>
0351 <Preprocessor>%assign</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>i</Unknown Instructions><Normal Text> i</Normal Text><Symbol>+</Symbol><Number>1</Number><Normal Text> </Normal Text><br/>
0352 <Preprocessor>%endrep</Preprocessor><br/>
0353 <Normal Text></Normal Text><br/>
0354 <Normal Text></Normal Text><br/>
0355 <Label>fibonacci:</Label><Normal Text> </Normal Text><br/>
0356 <Preprocessor>%assign</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>i</Unknown Instructions><Normal Text> </Normal Text><Number>0</Number><Normal Text> </Normal Text><br/>
0357 <Preprocessor>%assign</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>j</Unknown Instructions><Normal Text> </Normal Text><Number>1</Number><Normal Text> </Normal Text><br/>
0358 <Preprocessor>%rep</Preprocessor><Normal Text> 100 </Normal Text><br/>
0359 <Preprocessor>%if</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>j</Unknown Instructions><Normal Text> </Normal Text><Symbol>></Symbol><Normal Text> </Normal Text><Number>65535</Number><Normal Text> </Normal Text><br/>
0360 <Normal Text>    </Normal Text><Preprocessor>%exitrep</Preprocessor><Normal Text> </Normal Text><br/>
0361 <Preprocessor>%endif</Preprocessor><Normal Text> </Normal Text><br/>
0362 <Normal Text>        </Normal Text><Data>dw</Data><Normal Text> j </Normal Text><br/>
0363 <Preprocessor>%assign</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>k</Unknown Instructions><Normal Text> j</Normal Text><Symbol>+</Symbol><Normal Text>i </Normal Text><br/>
0364 <Preprocessor>%assign</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>i</Unknown Instructions><Normal Text> j </Normal Text><br/>
0365 <Preprocessor>%assign</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>j</Unknown Instructions><Normal Text> k </Normal Text><br/>
0366 <Preprocessor>%endrep</Preprocessor><Normal Text> </Normal Text><br/>
0367 <Normal Text></Normal Text><br/>
0368 <Unknown Instructions>fib_number</Unknown Instructions><Normal Text> </Normal Text><Data>equ</Data><Normal Text> </Normal Text><Symbol>($-</Symbol><Normal Text>fibonacci</Normal Text><Symbol>)/</Symbol><Number>2</Number><br/>
0369 <Normal Text></Normal Text><br/>
0370 <Normal Text></Normal Text><br/>
0371 <Preprocessor>%include</Preprocessor><Normal Text> "</Normal Text><Unknown Instructions>macros</Unknown Instructions><Symbol>.</Symbol><Unknown Instructions>mac</Unknown Instructions><String>"</String><br/>
0372 <Normal Text></Normal Text><br/>
0373 <Normal Text></Normal Text><br/>
0374 <Preprocessor>%ifndef</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>MACROS_MAC</Unknown Instructions><Normal Text> </Normal Text><br/>
0375 <Normal Text>    </Normal Text><Preprocessor>%define</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>MACROS_MAC</Unknown Instructions><Normal Text> </Normal Text><br/>
0376 <Normal Text>    </Normal Text><Comment>; now define some macros </Comment><br/>
0377 <Preprocessor>%endif</Preprocessor><br/>
0378 <Normal Text></Normal Text><br/>
0379 <Preprocessor>%pathsearch</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>MyFoo</Unknown Instructions><Normal Text> </Normal Text><String>"foo.bin"</String><br/>
0380 <Normal Text></Normal Text><br/>
0381 <Preprocessor>%imacro</Preprocessor><Normal Text> </Normal Text><Data>incbin</Data><Normal Text> </Normal Text><Number>1</Number><Symbol>-</Symbol><Number>2</Number><Symbol>+</Symbol><Normal Text> </Normal Text><Number>0</Number><Normal Text> </Normal Text><br/>
0382 <Preprocessor>%pathsearch</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>dep</Unknown Instructions><Normal Text> </Normal Text><Symbol>%</Symbol><Number>1</Number><Normal Text> </Normal Text><br/>
0383 <Preprocessor>%depend</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>dep</Unknown Instructions><Normal Text> </Normal Text><br/>
0384 <Normal Text>        </Normal Text><Data>incbin</Data><Normal Text> dep</Normal Text><Symbol>,%</Symbol><Number>2</Number><Normal Text> </Normal Text><br/>
0385 <Preprocessor>%endmacro</Preprocessor><br/>
0386 <Preprocessor>%use</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>altreg</Unknown Instructions><Normal Text> </Normal Text><br/>
0387 <Preprocessor>%use</Preprocessor><Normal Text> '</Normal Text><Unknown Instructions>altreg</Unknown Instructions><String>'</String><br/>
0388 <Normal Text></Normal Text><br/>
0389 <Preprocessor>%push</Preprocessor><Normal Text>    </Normal Text><Unknown Instructions>foobar</Unknown Instructions><br/>
0390 <Normal Text></Normal Text><br/>
0391 <Preprocessor>%macro</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>repeat</Unknown Instructions><Normal Text> </Normal Text><Number>0</Number><Normal Text> </Normal Text><br/>
0392 <Normal Text></Normal Text><br/>
0393 <Normal Text>    </Normal Text><Preprocessor>%push</Preprocessor><Normal Text>   </Normal Text><Unknown Instructions>repeat</Unknown Instructions><Normal Text> </Normal Text><br/>
0394 <Normal Text>    </Normal Text><Preprocessor>%</Preprocessor><Normal Text>$</Normal Text><Unknown Instructions>begin</Unknown Instructions><Symbol>:</Symbol><Normal Text> </Normal Text><br/>
0395 <Normal Text></Normal Text><br/>
0396 <Preprocessor>%endmacro</Preprocessor><br/>
0397 <Normal Text></Normal Text><br/>
0398 <Preprocessor>%macro</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>until</Unknown Instructions><Normal Text> </Normal Text><Number>1</Number><br/>
0399 <Normal Text></Normal Text><br/>
0400 <Normal Text>        </Normal Text><Unknown Instructions>j</Unknown Instructions><Symbol>%-</Symbol><Number>1</Number><Normal Text>    </Normal Text><Symbol>%$</Symbol><Normal Text>begin</Normal Text><br/>
0401 <Normal Text>    </Normal Text><Preprocessor>%pop</Preprocessor><Normal Text> </Normal Text><br/>
0402 <Normal Text></Normal Text><br/>
0403 <Preprocessor>%endmacro</Preprocessor><br/>
0404 <Normal Text></Normal Text><br/>
0405 <Preprocessor>%define</Preprocessor><Normal Text> %$</Normal Text><Unknown Instructions>localmac</Unknown Instructions><Normal Text> </Normal Text><Number>3</Number><br/>
0406 <Normal Text></Normal Text><br/>
0407 <Preprocessor>%macro</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>else</Unknown Instructions><Normal Text> </Normal Text><Number>0</Number><Normal Text> </Normal Text><br/>
0408 <Normal Text></Normal Text><br/>
0409 <Normal Text>  </Normal Text><Preprocessor>%ifctx</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>if</Unknown Instructions><Normal Text> </Normal Text><br/>
0410 <Normal Text>        </Normal Text><Preprocessor>%repl</Preprocessor><Normal Text>   </Normal Text><Unknown Instructions>else</Unknown Instructions><Normal Text> </Normal Text><br/>
0411 <Normal Text>        </Normal Text><Branch Instructions>jmp</Branch Instructions><Normal Text>     </Normal Text><Symbol>%$</Symbol><Normal Text>ifend </Normal Text><br/>
0412 <Normal Text>        </Normal Text><Preprocessor>%</Preprocessor><Normal Text>$</Normal Text><Unknown Instructions>ifnot</Unknown Instructions><Symbol>:</Symbol><Normal Text> </Normal Text><br/>
0413 <Normal Text>  </Normal Text><Preprocessor>%else</Preprocessor><Normal Text> </Normal Text><br/>
0414 <Normal Text>        </Normal Text><Preprocessor>%error</Preprocessor><Normal Text>  "</Normal Text><Unknown Instructions>expected</Unknown Instructions><Normal Text> </Normal Text><String>`if' before `</String><Normal Text>else</Normal Text><String>'" </String><br/>
0415 <Normal Text>  </Normal Text><Preprocessor>%endif</Preprocessor><Normal Text> </Normal Text><br/>
0416 <Normal Text></Normal Text><br/>
0417 <Preprocessor>%endmacro</Preprocessor><Normal Text> </Normal Text><br/>
0418 <Normal Text></Normal Text><br/>
0419 <Preprocessor>%macro</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>endif</Unknown Instructions><Normal Text> </Normal Text><Number>0</Number><Normal Text> </Normal Text><br/>
0420 <Normal Text></Normal Text><br/>
0421 <Normal Text>  </Normal Text><Preprocessor>%ifctx</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>if</Unknown Instructions><Normal Text> </Normal Text><br/>
0422 <Normal Text>        </Normal Text><Preprocessor>%</Preprocessor><Normal Text>$</Normal Text><Unknown Instructions>ifnot</Unknown Instructions><Symbol>:</Symbol><Normal Text> </Normal Text><br/>
0423 <Normal Text>        </Normal Text><Preprocessor>%pop</Preprocessor><Normal Text> </Normal Text><br/>
0424 <Normal Text>  </Normal Text><Preprocessor>%elifctx</Preprocessor><Normal Text>      </Normal Text><Unknown Instructions>else</Unknown Instructions><Normal Text> </Normal Text><br/>
0425 <Normal Text>        </Normal Text><Preprocessor>%</Preprocessor><Normal Text>$</Normal Text><Unknown Instructions>ifend</Unknown Instructions><Symbol>:</Symbol><Normal Text> </Normal Text><br/>
0426 <Normal Text>        </Normal Text><Preprocessor>%pop</Preprocessor><Normal Text> </Normal Text><br/>
0427 <Normal Text>  </Normal Text><Preprocessor>%else</Preprocessor><Normal Text> </Normal Text><br/>
0428 <Normal Text>        </Normal Text><Preprocessor>%error</Preprocessor><Normal Text>  "</Normal Text><Unknown Instructions>expected</Unknown Instructions><Normal Text> </Normal Text><String>`if' or `</String><Normal Text>else</Normal Text><String>' before `endif'" </String><br/>
0429 <Normal Text>  </Normal Text><Preprocessor>%endif</Preprocessor><Normal Text> </Normal Text><br/>
0430 <Normal Text></Normal Text><br/>
0431 <Preprocessor>%endmacro</Preprocessor><br/>
0432 <Normal Text></Normal Text><br/>
0433 <Label>some_function:</Label><Normal Text> </Normal Text><br/>
0434 <Normal Text>    </Normal Text><Preprocessor>%push</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>mycontext</Unknown Instructions><Normal Text>             </Normal Text><Comment>; save the current context </Comment><br/>
0435 <Normal Text>    </Normal Text><Preprocessor>%stacksize</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>small</Unknown Instructions><Normal Text>            </Normal Text><Comment>; tell NASM to use bp </Comment><br/>
0436 <Normal Text>    </Normal Text><Preprocessor>%assign</Preprocessor><Normal Text> %$</Normal Text><Unknown Instructions>localsize</Unknown Instructions><Normal Text> </Normal Text><Number>0</Number><Normal Text>       </Normal Text><Comment>; see text for explanation </Comment><br/>
0437 <Normal Text>    </Normal Text><Preprocessor>%local</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>old_ax</Unknown Instructions><Symbol>:</Symbol><Data>word</Data><Symbol>,</Symbol><Normal Text> old_dx</Normal Text><Symbol>:</Symbol><Data>word</Data><Normal Text> </Normal Text><br/>
0438 <Normal Text></Normal Text><br/>
0439 <Normal Text>        </Normal Text><Instructions>enter</Instructions><Normal Text>   </Normal Text><Symbol>%$</Symbol><Normal Text>localsize</Normal Text><Symbol>,</Symbol><Number>0</Number><Normal Text>   </Normal Text><Comment>; see text for explanation </Comment><br/>
0440 <Normal Text>        </Normal Text><Instructions>mov</Instructions><Normal Text>     </Normal Text><Symbol>[</Symbol><Normal Text>old_ax</Normal Text><Symbol>],</Symbol><Registers>ax</Registers><Normal Text>     </Normal Text><Comment>; swap ax & bx </Comment><br/>
0441 <Normal Text>        </Normal Text><Instructions>mov</Instructions><Normal Text>     </Normal Text><Registers>cx</Registers><Symbol>,[</Symbol><Normal Text>old_dx</Normal Text><Symbol>]</Symbol><Normal Text> </Normal Text><br/>
0442 <Normal Text>        </Normal Text><Instructions>leave</Instructions><Normal Text>                   </Normal Text><Comment>; restore old bp </Comment><br/>
0443 <Normal Text>        </Normal Text><Branch Instructions>ret</Branch Instructions><Normal Text>                     </Normal Text><Comment>; </Comment><br/>
0444 <Normal Text></Normal Text><br/>
0445 <Normal Text>    </Normal Text><Preprocessor>%pop</Preprocessor><Normal Text>                        </Normal Text><Comment>; restore original context</Comment><br/>
0446 <Normal Text></Normal Text><br/>
0447 <Normal Text></Normal Text><br/>
0448 <Preprocessor>%ifdef</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>F1</Unknown Instructions><Normal Text> </Normal Text><br/>
0449 <Normal Text>    </Normal Text><Comment>; do some setup </Comment><br/>
0450 <Preprocessor>%elifdef</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>F2</Unknown Instructions><Normal Text> </Normal Text><br/>
0451 <Normal Text>    </Normal Text><Comment>; do some different setup </Comment><br/>
0452 <Preprocessor>%else</Preprocessor><Normal Text> </Normal Text><br/>
0453 <Normal Text>    </Normal Text><Preprocessor>%error</Preprocessor><Normal Text> "</Normal Text><Unknown Instructions>Neither</Unknown Instructions><Normal Text> F1 nor F2 was defined</Normal Text><Symbol>.</Symbol><String>" </String><br/>
0454 <Preprocessor>%endif</Preprocessor><br/>
0455 <Preprocessor>%ifdef</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>F1</Unknown Instructions><Normal Text> </Normal Text><br/>
0456 <Normal Text>    </Normal Text><Comment>; do some setup </Comment><br/>
0457 <Preprocessor>%elifdef</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>F2</Unknown Instructions><Normal Text> </Normal Text><br/>
0458 <Normal Text>    </Normal Text><Comment>; do some different setup </Comment><br/>
0459 <Preprocessor>%else</Preprocessor><Normal Text> </Normal Text><br/>
0460 <Normal Text>    </Normal Text><Preprocessor>%warning</Preprocessor><Normal Text> "</Normal Text><Unknown Instructions>Neither</Unknown Instructions><Normal Text> F1 nor F2 was defined</Normal Text><Symbol>,</Symbol><Normal Text> assuming F1</Normal Text><Symbol>.</Symbol><String>" </String><br/>
0461 <Normal Text>    </Normal Text><Preprocessor>%define</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>F1</Unknown Instructions><Normal Text> </Normal Text><br/>
0462 <Preprocessor>%endif</Preprocessor><Normal Text>%</Normal Text><Unknown Instructions>if</Unknown Instructions><Normal Text> foo </Normal Text><Symbol>></Symbol><Normal Text> </Normal Text><Number>64</Number><Normal Text> </Normal Text><br/>
0463 <Normal Text>    </Normal Text><Preprocessor>%assign</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>foo_over</Unknown Instructions><Normal Text> foo</Normal Text><Symbol>-</Symbol><Number>64</Number><Normal Text> </Normal Text><br/>
0464 <Normal Text>    </Normal Text><Preprocessor>%error</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>foo</Unknown Instructions><Normal Text> is foo_over bytes too large </Normal Text><br/>
0465 <Preprocessor>%endif</Preprocessor><br/>
0466 <Normal Text></Normal Text><br/>
0467 <Normal Text>        </Normal Text><Data>db</Data><Normal Text>      </Normal Text><NASM Keywords>__?NASM_VER?__</NASM Keywords><br/>
0468 <Normal Text></Normal Text><br/>
0469 <NASM Keywords>struc</NASM Keywords><Normal Text>   mytype </Normal Text><br/>
0470 <Normal Text>  </Normal Text><Label>mt_long:</Label><Normal Text>      </Normal Text><Data>resd</Data><Normal Text>    </Normal Text><Number>1</Number><Normal Text> </Normal Text><br/>
0471 <Normal Text>  </Normal Text><Label>.str:</Label><Normal Text>         </Normal Text><Data>resb</Data><Normal Text>    </Normal Text><Number>32</Number><Normal Text> </Normal Text><br/>
0472 <NASM Keywords>endstruc</NASM Keywords><br/>
0473 <Normal Text></Normal Text><br/>
0474 <Preprocessor>%use</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>altreg</Unknown Instructions><Normal Text> </Normal Text><br/>
0475 <Normal Text></Normal Text><br/>
0476 <Normal Text></Normal Text><br/>
0477 <Preprocessor>%macro</Preprocessor><Normal Text>  </Normal Text><Unknown Instructions>writefile</Unknown Instructions><Normal Text> </Normal Text><Number>2</Number><Symbol>+</Symbol><Normal Text> </Normal Text><br/>
0478 <Normal Text></Normal Text><br/>
0479 <Normal Text>        [</Normal Text><NASM Keywords>section</NASM Keywords><Normal Text> </Normal Text><Label>.data</Label><Symbol>]</Symbol><Normal Text> </Normal Text><br/>
0480 <Normal Text></Normal Text><br/>
0481 <Normal Text>  </Normal Text><Label>%%str:</Label><Normal Text>        </Normal Text><Data>db</Data><Normal Text>      </Normal Text><Symbol>%</Symbol><Number>2</Number><Normal Text> </Normal Text><br/>
0482 <Normal Text>  </Normal Text><Label>%%endstr:</Label><Normal Text> </Normal Text><br/>
0483 <Normal Text></Normal Text><br/>
0484 <Normal Text>        </Normal Text><NASM Keywords>__?SECT?__</NASM Keywords><Normal Text> </Normal Text><br/>
0485 <Normal Text></Normal Text><br/>
0486 <Normal Text>        </Normal Text><Instructions>mov</Instructions><Normal Text>     </Normal Text><Registers>dx</Registers><Symbol>,</Symbol><Label>%%str</Label><Normal Text> </Normal Text><br/>
0487 <Normal Text>        </Normal Text><Instructions>mov</Instructions><Normal Text>     </Normal Text><Registers>cx</Registers><Symbol>,</Symbol><Label>%%endstr</Label><Symbol>-</Symbol><Label>%%str</Label><Normal Text> </Normal Text><br/>
0488 <Normal Text>        </Normal Text><Instructions>mov</Instructions><Normal Text>     </Normal Text><Registers>bx</Registers><Symbol>,%</Symbol><Number>1</Number><Normal Text> </Normal Text><br/>
0489 <Normal Text>        </Normal Text><Instructions>mov</Instructions><Normal Text>     </Normal Text><Registers>ah</Registers><Symbol>,</Symbol><Radix>0x</Radix><BaseN>40</BaseN><Normal Text> </Normal Text><br/>
0490 <Normal Text>        </Normal Text><Instructions>int</Instructions><Normal Text>     </Normal Text><Radix>0x</Radix><BaseN>21</BaseN><Normal Text> </Normal Text><br/>
0491 <Normal Text></Normal Text><br/>
0492 <Preprocessor>%endmacro</Preprocessor><br/>
0493 <Normal Text></Normal Text><br/>
0494 <Normal Text> </Normal Text><NASM Keywords>DEFAULT</NASM Keywords><Normal Text> </Normal Text><NASM Keywords>BND</NASM Keywords><Normal Text> </Normal Text><br/>
0495 <Normal Text>     </Normal Text><Branch Instructions>call</Branch Instructions><Normal Text> foo            </Normal Text><Comment>; BND will be prefixed </Comment><br/>
0496 <Normal Text>     </Normal Text><NASM Keywords>nobnd</NASM Keywords><Normal Text> call foo      </Normal Text><Comment>; BND will NOT be prefixed</Comment><br/>
0497 <Normal Text></Normal Text><br/>
0498 <NASM Keywords>global</NASM Keywords><Normal Text> _main </Normal Text><br/>
0499 <Label>_main:</Label><Normal Text> </Normal Text><br/>
0500 <NASM Keywords>global</NASM Keywords><Normal Text>  hashlookup</Normal Text><Symbol>:</Symbol><Normal Text>function</Normal Text><Symbol>,</Symbol><Normal Text> hashtable</Normal Text><Symbol>:</Symbol><Normal Text>data</Normal Text><br/>
0501 <Normal Text></Normal Text><br/>
0502 <NASM Keywords>common</NASM Keywords><Normal Text>  intvar  </Normal Text><Number>4</Number><br/>
0503 <NASM Keywords>static</NASM Keywords><Normal Text> foo </Normal Text><br/>
0504 <Label>foo:</Label><Normal Text> </Normal Text><br/>
0505 <Normal Text>         </Normal Text><Comment>; codes</Comment><br/>
0506 <Normal Text></Normal Text><br/>
0507 <Preprocessor>%pragma</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>macho</Unknown Instructions><Normal Text> lprefix L_</Normal Text><br/>
0508 <Comment>; The most common conventions </Comment><br/>
0509 <Preprocessor>%pragma</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>output</Unknown Instructions><Normal Text> gprefix _ </Normal Text><br/>
0510 <Preprocessor>%pragma</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>output</Unknown Instructions><Normal Text> lprefix L_ </Normal Text><br/>
0511 <Comment>; ELF uses a different convention </Comment><br/>
0512 <Preprocessor>%pragma</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>elf</Unknown Instructions><Normal Text>    gprefix                       </Normal Text><Comment>; empty </Comment><br/>
0513 <Preprocessor>%pragma</Preprocessor><Normal Text> </Normal Text><Unknown Instructions>elf</Unknown Instructions><Normal Text>    lprefix </Normal Text><Label>.L</Label><br/>
0514 <Normal Text></Normal Text><br/>
0515 <NASM Keywords>section</NASM Keywords><Normal Text> </Normal Text><Label>.pdata</Label><Normal Text>  rdata </Normal Text><NASM Keywords>align</NASM Keywords><Symbol>=</Symbol><Number>4</Number><Normal Text> </Normal Text><br/>
0516 <Normal Text>        </Normal Text><Data>dd</Data><Normal Text>      main </Normal Text><NASM Keywords>wrt</NASM Keywords><Normal Text> </Normal Text><Label>..imagebase</Label><Normal Text> </Normal Text><br/>
0517 <Normal Text>        </Normal Text><Data>dd</Data><Normal Text>      main_end </Normal Text><NASM Keywords>wrt</NASM Keywords><Normal Text> </Normal Text><Label>..imagebase</Label><Normal Text> </Normal Text><br/>
0518 <Normal Text>        </Normal Text><Data>dd</Data><Normal Text>      xmain </Normal Text><NASM Keywords>wrt</NASM Keywords><Normal Text> </Normal Text><Label>..imagebase</Label><Normal Text> </Normal Text><br/>
0519 <NASM Keywords>section</NASM Keywords><Normal Text> </Normal Text><Label>.xdata</Label><Normal Text>  rdata </Normal Text><NASM Keywords>align</NASM Keywords><Symbol>=</Symbol><Number>8</Number><Normal Text> </Normal Text><br/>
0520 <Label>xmain:</Label><Normal Text>  </Normal Text><Data>db</Data><Normal Text>      </Normal Text><Number>9</Number><Symbol>,</Symbol><Number>0</Number><Symbol>,</Symbol><Number>0</Number><Symbol>,</Symbol><Number>0</Number><Normal Text> </Normal Text><br/>
0521 <Normal Text>        </Normal Text><Data>dd</Data><Normal Text>      handler </Normal Text><NASM Keywords>wrt</NASM Keywords><Normal Text> </Normal Text><Label>..imagebase</Label><Normal Text> </Normal Text><br/>
0522 <NASM Keywords>section</NASM Keywords><Normal Text> </Normal Text><Label>.drectve</Label><Normal Text> info </Normal Text><br/>
0523 <Normal Text>        </Normal Text><Data>db</Data><Normal Text>      </Normal Text><String>'/defaultlib:user32.lib /defaultlib:msvcrt.lib '</String><br/>