1<?xml version="1.0" encoding="utf-8"?> 2<HTML xml:lang="en-US" lang="en-US"> 3 4 <HEAD> 5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 6 <meta http-equiv="Content-Style-Type" content="text/css" /> 7 <link rel="stylesheet" href="./css/contents.css" type="text/css" /> 8 <base target="main" /> 9 <title>List of Documents</title> 10 </HEAD> 11 12 <BODY style="margin-bottom: 50%;"> 13 14 15 16<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 17<h1><a name="reference">Assembler Reference</a></h1> 18 19<h2> <a name="specification">Hardware Specifications</a> </h2> 20<ul> 21 <li><a href="specification/HardwareSpec.html#vertex_processor">Vertex Shader Processor</a></li> 22 <ul> 23 <li><a href="specification/HardwareSpec.html#specialty">Features</a></li> 24 <li><a href="specification/HardwareSpec.html#stage">Stage Structure</a></li> 25 <li><a href="specification/HardwareSpec.html#arithmetic_unit">Arithmetic Unit Structure</a></li> 26 <li><a href="specification/HardwareSpec.html#register_set">Register Set</a></li> 27 </ul> 28 <li><a href="specification/HardwareSpec.html#post_vertexcache">Post-Vertex Cache</a></li> 29</ul> 30 31<h2> <a name="resource">Resources</a> </h2> 32<ul> 33 <li><a href="resource/Overview.html#programRAM">Program RAM</a></li> 34 <li><a href="resource/Overview.html#register">Registers</a></li> 35 <ul> 36 <li><a href="resource/Overview.html#register_quality">The precision of floating point number-type registers</a></li> 37 <li><a href="resource/Overview.html#reg_input">Input registers</a></li> 38 <li><a href="resource/Overview.html#reg_temp">Temporary registers</a></li> 39 <li><a href="resource/Overview.html#reg_constfloat">Floating-point constant registers</a></li> 40 <li><a href="resource/Overview.html#reg_address">Address registers</a></li> 41 <li><a href="resource/Overview.html#reg_boolean">Boolean registers</a></li> 42 <li><a href="resource/Overview.html#reg_integer">Integer registers</a></li> 43 <li><a href="resource/Overview.html#reg_loopcounter">Loop counter registers</a></li> 44 <li><a href="resource/Overview.html#reg_output">Output registers</a></li> 45 <li><a href="resource/Overview.html#reg_status">Status registers</a></li> 46 </ul> 47</ul> 48 49<h2> <a name="grammar">Syntax</a> </h2> 50<ul> 51 <li><a href="grammar/Overview.html#grammar">Assembler Instruction Coding</a></li> 52 <li><a href="grammar/Overview.html#masking">Masking Output Components</a></li> 53 <li><a href="grammar/Overview.html#swizzling">Swizzling (Rearranging Input Components)</a></li> 54 <li><a href="grammar/Overview.html#minus_sign">Adding the Negative Sign ( - ) to Input Components</a></li> 55 <li><a href="grammar/Overview.html#input_offset">Offsetting the Input Operand Register Index</a></li> 56 <li><a href="grammar/Overview.html#label">Labels</a></li> 57 <li><a href="grammar/Overview.html#reserved">Reserved Words</a></li> 58</ul> 59 60<h2> <a name="command">Instructions</a> </h2> 61<ul> 62 <li><a href="preprocess/Overview.html">Preprocessor Pseudo-Instructions</a></li> 63 <ul> 64 <li><a href="preprocess/include.html">#include</a></li> 65 <li><a href="preprocess/define.html">#define</a></li> 66 <li><a href="preprocess/undef.html">#undef</a></li> 67 <li><a href="preprocess/ifdef.html">#ifdef, #ifndef, #if, #else, #elif, #endif</a></li> 68 <li><a href="preprocess/error.html">#error</a></li> 69 <li><a href="preprocess/bind_symbol.html">#pragma bind_symbol( )</a></li> 70 <li><a href="preprocess/output_map.html">#pragma output_map( )</a></li> 71 <li><a href="preprocess/line.html">#line</a></li> 72 </ul> 73 <li><a href="definition/Overview.html">Define Instructions</a></li> 74 <ul> 75 <li><a href="definition/def.html">def</a></li> 76 <li><a href="definition/defb.html">defb</a></li> 77 <li><a href="definition/defi.html">defi</a></li> 78 </ul> 79 <li><a href="arithmetic/Overview.html">Arithmetic Instructions</a></li> 80 <ul> 81 <li><a href="arithmetic/add.html">add</a></li> 82 <li><a href="arithmetic/dp3.html">dp3</a></li> 83 <li><a href="arithmetic/dp4.html">dp4</a></li> 84 <li><a href="arithmetic/dph.html">dph</a></li> 85 <li><a href="arithmetic/dst.html">dst</a></li> 86 <li><a href="arithmetic/exp.html">exp</a></li> 87 <li><a href="arithmetic/flr.html">flr</a></li> 88 <li><a href="arithmetic/litp.html">litp</a></li> 89 <li><a href="arithmetic/log.html">log</a></li> 90 <li><a href="arithmetic/mad.html">mad</a></li> 91 <li><a href="arithmetic/max.html">max</a></li> 92 <li><a href="arithmetic/min.html">min</a></li> 93 <li><a href="arithmetic/mov.html">mov</a></li> 94 <li><a href="arithmetic/mova.html">mova</a></li> 95 <li><a href="arithmetic/mul.html">mul</a></li> 96 <li><a href="arithmetic/nop.html">nop</a></li> 97 <li><a href="arithmetic/rcp.html">rcp</a></li> 98 <li><a href="arithmetic/rsq.html">rsq</a></li> 99 <li><a href="arithmetic/sge.html">sge</a></li> 100 <li><a href="arithmetic/slt.html">slt</a></li> 101 </ul> 102 <li><a href="macro/Overview.html">Macro Instructions</a></li> 103 <ul> 104 <li><a href="macro/sub.html">sub</a></li> 105 <li><a href="macro/abs.html">abs</a></li> 106 <li><a href="macro/crs.html">crs</a></li> 107 <li><a href="macro/frc.html">frc</a></li> 108 <li><a href="macro/lrp.html">lrp</a></li> 109 <li><a href="macro/m3x2.html">m3x2</a></li> 110 <li><a href="macro/m3x3.html">m3x3</a></li> 111 <li><a href="macro/m3x4.html">m3x4</a></li> 112 <li><a href="macro/m4x3.html">m4x3</a></li> 113 <li><a href="macro/m4x4.html">m4x4</a></li> 114 <li><a href="macro/nrm.html">nrm</a></li> 115 <li><a href="macro/pow.html">pow</a></li> 116 <li><a href="macro/sgn.html">sgn</a></li> 117 <li><a href="macro/sincos.html">sincos</a></li> 118 </ul> 119 <li><a href="flowcntl/Overview.html">Flow Control Instructions</a></li> 120 <ul> 121 <li><a href="flowcntl/call.html">call</a></li> 122 <li><a href="flowcntl/callb.html">callb</a></li> 123 <li><a href="flowcntl/callc.html">callc</a></li> 124 <li><a href="flowcntl/jpb.html">jpb</a></li> 125 <li><a href="flowcntl/jpc.html">jpc</a></li> 126 <li><a href="flowcntl/ret.html">ret</a></li> 127 <li><a href="flowcntl/ifb.html">ifb</a></li> 128 <li><a href="flowcntl/ifc.html">ifc</a></li> 129 <li><a href="flowcntl/else.html">else</a></li> 130 <li><a href="flowcntl/endif.html">endif</a></li> 131 <li><a href="flowcntl/loop.html">loop</a></li> 132 <li><a href="flowcntl/endloop.html">endloop</a></li> 133 <li><a href="flowcntl/breakc.html">breakc</a></li> 134 <li><a href="flowcntl/cmp.html">cmp</a></li> 135 <li><a href="flowcntl/end.html">end</a></li> 136 </ul> 137</ul> 138 139<a name="caution"></a> 140<h2>Limitations Due to Shader Specifications</h2> 141<ul> 142 <li><a href="caution/ShaderSpec.html#top">Limitations Due to Shader Specifications</a></li> 143 <ul> 144 <li><a href="caution/ShaderSpec.html#shader_start">Starting and Stopping a Shader</a></li> 145 <li><a href="caution/ShaderSpec.html#step">Number of Steps</a></li> 146 <li><a href="caution/ShaderSpec.html#swizzling">Number of Swizzling and Masking Patterns</a></li> 147 <li><a href="caution/ShaderSpec.html#flowcontrol">Limitations on Control Instructions</a></li> 148 <li><a href="caution/ShaderSpec.html#register">Registers That Cannot be Used Simultaneously</a></li> 149 <li><a href="caution/ShaderSpec.html#exceptional_result">Calculation Results of Exceptional Processing</a></li> 150 <li><a href="caution/ShaderSpec.html#false_output">Limitations on the Output of Illegal Data</a></li> 151 </ul> 152</ul> 153 154<h2>Instructions That Cannot be Called Twice Consecutively</h2> 155<ul> 156 <li><a href="caution/InstructionCall.html#top">Instructions That Cannot be Called Twice Consecutively</a></li> 157 <ul> 158 <li><a href="caution/InstructionCall.html#block_end">Consecutive Calls to <CODE>else</CODE>, <CODE>endif</CODE>, <CODE>ret</CODE>, and <CODE>endloop</CODE></a></li> 159 <li><a href="caution/InstructionCall.html#call_mova">Consecutive Calls to <CODE>mova</CODE></a></li> 160 <li><a href="caution/InstructionCall.html#call_jump">Calling <CODE>jpc/jpb</CODE> immediately before an <CODE>else</CODE>, <CODE>endif</CODE>, <CODE>ret</CODE>, or <CODE>endloop</CODE></a></li> 161 <li><a href="caution/InstructionCall.html#call_breakc">Calling <CODE>breakc</CODE> immediately before an <CODE>endloop</CODE></a></li> 162 </ul> 163</ul> 164 165<h2>Instruction Latency</h2> 166<ul> 167 <li><a href="caution/InstructionLatency.html#top">Instruction Latency</a></li> 168 <ul> 169 <li><a href="caution/InstructionLatency.html#arithmetic_cmp">Latency of Arithmetic Instructions and the <CODE>cmp</CODE> Instruction</a></li> 170 <li><a href="caution/InstructionLatency.html#branch_latency">Latency of Branch Instructions</a></li> 171 <li><a href="caution/InstructionLatency.html#output_result">Output Order of Calculation Results</a></li> 172 <li><a href="caution/InstructionLatency.html#output_stall">Stalling Due to Calculation Result Output Timing Conflicts</a></li> 173 <li><a href="caution/InstructionLatency.html#compete_stall">Stalling Due to Arithmetic Unit Conflicts</a></li> 174 <li><a href="caution/InstructionLatency.html#dependence_stall">Stalling Due to Instruction Dependencies</a></li> 175 <li><a href="caution/InstructionLatency.html#force_stall">Unconditional Stalls</a></li> 176 </ul> 177</ul> 178 179<h2>Shader Implementations That Result in Illegal Operations</h2> 180<ul> 181 <li><a href="caution/BadCoding.html#top">Shader Implementations That Result in Illegal Operations</a></li> 182 <ul> 183 <li><a href="caution/BadCoding.html#by_mova">Illegal Operations Caused by the <CODE>mova</CODE> Instruction</a></li> 184 <ul> 185 <li><a href="caution/BadCoding.html#last_instruction">Executing <CODE>mova</CODE> Immediately Before the Last Instruction</a></li> 186 <li><a href="caution/BadCoding.html#specific_instruction">Executing <CODE>mova</CODE> Both Before and After Certain Instructions</a></li> 187 <li><a href="caution/BadCoding.html#stall_branch">Executing a Branch Instruction Immediately After a Stall Caused by a <CODE>mova</CODE> Instruction</a></li> 188 </ul> 189 <li><a href="caution/BadCoding.html#specific_order">Illegal Operations Caused by Executing Instructions in Particular Order</a></li> 190 </ul> 191</ul> 192 193 194 195 <hr><p>CONFIDENTIAL</p></BODY> 196 197</HTML> 198