aosp12/dalvik/docs/java-bytecode.html

229 lines
11 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Java Bytecode At A Glance</title>
<link rel="stylesheet" href="java-bytecode.css">
</head>
<body>
<h1>Java Bytecode At A Glance</h1>
<table align="center">
<tr><td class="outer"><table>
<tr><td>0x00</td><td>0</td><td>nop</td></tr>
<tr><td>0x01</td><td>1</td><td>aconst_null</td></tr>
<tr class="d"><td>0x02</td><td>2</td><td>iconst_m1</td></tr>
<tr class="d"><td>0x03</td><td>3</td><td>iconst_0</td></tr>
<tr><td>0x04</td><td>4</td><td>iconst_1</td></tr>
<tr><td>0x05</td><td>5</td><td>iconst_2</td></tr>
<tr class="d"><td>0x06</td><td>6</td><td>iconst_3</td></tr>
<tr class="d"><td>0x07</td><td>7</td><td>iconst_4</td></tr>
<tr><td>0x08</td><td>8</td><td>iconst_5</td></tr>
<tr><td>0x09</td><td>9</td><td>lconst_0</td></tr>
<tr class="d"><td>0x0a</td><td>10</td><td>lconst_1</td></tr>
<tr class="d"><td>0x0b</td><td>11</td><td>fconst_0</td></tr>
<tr><td>0x0c</td><td>12</td><td>fconst_1</td></tr>
<tr><td>0x0d</td><td>13</td><td>fconst_2</td></tr>
<tr class="d"><td>0x0e</td><td>14</td><td>dconst_0</td></tr>
<tr class="d"><td>0x0f</td><td>15</td><td>dconst_1</td></tr>
<tr><td>0x10</td><td>16</td><td>bipush</td></tr>
<tr><td>0x11</td><td>17</td><td>sipush</td></tr>
<tr class="d"><td>0x12</td><td>18</td><td>ldc</td></tr>
<tr class="d"><td>0x13</td><td>19</td><td>ldc_w</td></tr>
<tr><td>0x14</td><td>20</td><td>ldc2_w</td></tr>
<tr><td>0x15</td><td>21</td><td>iload</td></tr>
<tr class="d"><td>0x16</td><td>22</td><td>lload</td></tr>
<tr class="d"><td>0x17</td><td>23</td><td>fload</td></tr>
<tr><td>0x18</td><td>24</td><td>dload</td></tr>
<tr><td>0x19</td><td>25</td><td>aload</td></tr>
<tr class="d"><td>0x1a</td><td>26</td><td>iload_0</td></tr>
<tr class="d"><td>0x1b</td><td>27</td><td>iload_1</td></tr>
<tr><td>0x1c</td><td>28</td><td>iload_2</td></tr>
<tr><td>0x1d</td><td>29</td><td>iload_3</td></tr>
<tr class="d"><td>0x1e</td><td>30</td><td>lload_0</td></tr>
<tr class="d"><td>0x1f</td><td>31</td><td>lload_1</td></tr>
<tr><td>0x20</td><td>32</td><td>lload_2</td></tr>
<tr><td>0x21</td><td>33</td><td>lload_3</td></tr>
<tr class="d"><td>0x22</td><td>34</td><td>fload_0</td></tr>
<tr class="d"><td>0x23</td><td>35</td><td>fload_1</td></tr>
<tr><td>0x24</td><td>36</td><td>fload_2</td></tr>
<tr><td>0x25</td><td>37</td><td>fload_3</td></tr>
<tr class="d"><td>0x26</td><td>38</td><td>dload_0</td></tr>
<tr class="d"><td>0x27</td><td>39</td><td>dload_1</td></tr>
<tr><td>0x28</td><td>40</td><td>dload_2</td></tr>
<tr><td>0x29</td><td>41</td><td>dload_3</td></tr>
<tr class="d"><td>0x2a</td><td>42</td><td>aload_0</td></tr>
<tr class="d"><td>0x2b</td><td>43</td><td>aload_1</td></tr>
<tr><td>0x2c</td><td>44</td><td>aload_2</td></tr>
<tr><td>0x2d</td><td>45</td><td>aload_3</td></tr>
<tr class="d"><td>0x2e</td><td>46</td><td>iaload</td></tr>
<tr class="d"><td>0x2f</td><td>47</td><td>laload</td></tr>
<tr><td>0x30</td><td>48</td><td>faload</td></tr>
<tr><td>0x31</td><td>49</td><td>daload</td></tr>
<tr class="d"><td>0x32</td><td>50</td><td>aaload</td></tr>
</table></td>
<td class="outer"><table>
<tr><td>0x33</td><td>51</td><td>baload</td></tr>
<tr><td>0x34</td><td>52</td><td>caload</td></tr>
<tr class="d"><td>0x35</td><td>53</td><td>saload</td></tr>
<tr class="d"><td>0x36</td><td>54</td><td>istore</td></tr>
<tr><td>0x37</td><td>55</td><td>lstore</td></tr>
<tr><td>0x38</td><td>56</td><td>fstore</td></tr>
<tr class="d"><td>0x39</td><td>57</td><td>dstore</td></tr>
<tr class="d"><td>0x3a</td><td>58</td><td>astore</td></tr>
<tr><td>0x3b</td><td>59</td><td>istore_0</td></tr>
<tr><td>0x3c</td><td>60</td><td>istore_1</td></tr>
<tr class="d"><td>0x3d</td><td>61</td><td>istore_2</td></tr>
<tr class="d"><td>0x3e</td><td>62</td><td>istore_3</td></tr>
<tr><td>0x3f</td><td>63</td><td>lstore_0</td></tr>
<tr><td>0x40</td><td>64</td><td>lstore_1</td></tr>
<tr class="d"><td>0x41</td><td>65</td><td>lstore_2</td></tr>
<tr class="d"><td>0x42</td><td>66</td><td>lstore_3</td></tr>
<tr><td>0x43</td><td>67</td><td>fstore_0</td></tr>
<tr><td>0x44</td><td>68</td><td>fstore_1</td></tr>
<tr class="d"><td>0x45</td><td>69</td><td>fstore_2</td></tr>
<tr class="d"><td>0x46</td><td>70</td><td>fstore_3</td></tr>
<tr><td>0x47</td><td>71</td><td>dstore_0</td></tr>
<tr><td>0x48</td><td>72</td><td>dstore_1</td></tr>
<tr class="d"><td>0x49</td><td>73</td><td>dstore_2</td></tr>
<tr class="d"><td>0x4a</td><td>74</td><td>dstore_3</td></tr>
<tr><td>0x4b</td><td>75</td><td>astore_0</td></tr>
<tr><td>0x4c</td><td>76</td><td>astore_1</td></tr>
<tr class="d"><td>0x4d</td><td>77</td><td>astore_2</td></tr>
<tr class="d"><td>0x4e</td><td>78</td><td>astore_3</td></tr>
<tr><td>0x4f</td><td>79</td><td>iastore</td></tr>
<tr><td>0x50</td><td>80</td><td>lastore</td></tr>
<tr class="d"><td>0x51</td><td>81</td><td>fastore</td></tr>
<tr class="d"><td>0x52</td><td>82</td><td>dastore</td></tr>
<tr><td>0x53</td><td>83</td><td>aastore</td></tr>
<tr><td>0x54</td><td>84</td><td>bastore</td></tr>
<tr class="d"><td>0x55</td><td>85</td><td>castore</td></tr>
<tr class="d"><td>0x56</td><td>86</td><td>sastore</td></tr>
<tr><td>0x57</td><td>87</td><td>pop</td></tr>
<tr><td>0x58</td><td>88</td><td>pop2</td></tr>
<tr class="d"><td>0x59</td><td>89</td><td>dup</td></tr>
<tr class="d"><td>0x5a</td><td>90</td><td>dup_x1</td></tr>
<tr><td>0x5b</td><td>91</td><td>dup_x2</td></tr>
<tr><td>0x5c</td><td>92</td><td>dup2</td></tr>
<tr class="d"><td>0x5d</td><td>93</td><td>dup2_x1</td></tr>
<tr class="d"><td>0x5e</td><td>94</td><td>dup2_x2</td></tr>
<tr><td>0x5f</td><td>95</td><td>swap</td></tr>
<tr><td>0x60</td><td>96</td><td>iadd</td></tr>
<tr class="d"><td>0x61</td><td>97</td><td>ladd</td></tr>
<tr class="d"><td>0x62</td><td>98</td><td>fadd</td></tr>
<tr><td>0x63</td><td>99</td><td>dadd</td></tr>
<tr><td>0x64</td><td>100</td><td>isub</td></tr>
<tr class="d"><td>0x65</td><td>101</td><td>lsub</td></tr>
</table></td>
<td class="outer"><table>
<tr><td>0x66</td><td>102</td><td>fsub</td></tr>
<tr><td>0x67</td><td>103</td><td>dsub</td></tr>
<tr class="d"><td>0x68</td><td>104</td><td>imul</td></tr>
<tr class="d"><td>0x69</td><td>105</td><td>lmul</td></tr>
<tr><td>0x6a</td><td>106</td><td>fmul</td></tr>
<tr><td>0x6b</td><td>107</td><td>dmul</td></tr>
<tr class="d"><td>0x6c</td><td>108</td><td>idiv</td></tr>
<tr class="d"><td>0x6d</td><td>109</td><td>ldiv</td></tr>
<tr><td>0x6e</td><td>110</td><td>fdiv</td></tr>
<tr><td>0x6f</td><td>111</td><td>ddiv</td></tr>
<tr class="d"><td>0x70</td><td>112</td><td>irem</td></tr>
<tr class="d"><td>0x71</td><td>113</td><td>lrem</td></tr>
<tr><td>0x72</td><td>114</td><td>frem</td></tr>
<tr><td>0x73</td><td>115</td><td>drem</td></tr>
<tr class="d"><td>0x74</td><td>116</td><td>ineg</td></tr>
<tr class="d"><td>0x75</td><td>117</td><td>lneg</td></tr>
<tr><td>0x76</td><td>118</td><td>fneg</td></tr>
<tr><td>0x77</td><td>119</td><td>dneg</td></tr>
<tr class="d"><td>0x78</td><td>120</td><td>ishl</td></tr>
<tr class="d"><td>0x79</td><td>121</td><td>lshl</td></tr>
<tr><td>0x7a</td><td>122</td><td>ishr</td></tr>
<tr><td>0x7b</td><td>123</td><td>lshr</td></tr>
<tr class="d"><td>0x7c</td><td>124</td><td>iushr</td></tr>
<tr class="d"><td>0x7d</td><td>125</td><td>lushr</td></tr>
<tr><td>0x7e</td><td>126</td><td>iand</td></tr>
<tr><td>0x7f</td><td>127</td><td>land</td></tr>
<tr class="d"><td>0x80</td><td>128</td><td>ior</td></tr>
<tr class="d"><td>0x81</td><td>129</td><td>lor</td></tr>
<tr><td>0x82</td><td>130</td><td>ixor</td></tr>
<tr><td>0x83</td><td>131</td><td>lxor</td></tr>
<tr class="d"><td>0x84</td><td>132</td><td>iinc</td></tr>
<tr class="d"><td>0x85</td><td>133</td><td>i2l</td></tr>
<tr><td>0x86</td><td>134</td><td>i2f</td></tr>
<tr><td>0x87</td><td>135</td><td>i2d</td></tr>
<tr class="d"><td>0x88</td><td>136</td><td>l2i</td></tr>
<tr class="d"><td>0x89</td><td>137</td><td>l2f</td></tr>
<tr><td>0x8a</td><td>138</td><td>l2d</td></tr>
<tr><td>0x8b</td><td>139</td><td>f2i</td></tr>
<tr class="d"><td>0x8c</td><td>140</td><td>f2l</td></tr>
<tr class="d"><td>0x8d</td><td>141</td><td>f2d</td></tr>
<tr><td>0x8e</td><td>142</td><td>d2i</td></tr>
<tr><td>0x8f</td><td>143</td><td>d2l</td></tr>
<tr class="d"><td>0x90</td><td>144</td><td>d2f</td></tr>
<tr class="d"><td>0x91</td><td>145</td><td>i2b</td></tr>
<tr><td>0x92</td><td>146</td><td>i2c</td></tr>
<tr><td>0x93</td><td>147</td><td>i2s</td></tr>
<tr class="d"><td>0x94</td><td>148</td><td>lcmp</td></tr>
<tr class="d"><td>0x95</td><td>149</td><td>fcmpl</td></tr>
<tr><td>0x96</td><td>150</td><td>fcmpg</td></tr>
<tr><td>0x97</td><td>151</td><td>dcmpl</td></tr>
<tr class="d"><td>0x98</td><td>152</td><td>dcmpg</td></tr>
</table></td>
<td class="outer"><table>
<tr><td>0x99</td><td>153</td><td>ifeq</td></tr>
<tr><td>0x9a</td><td>154</td><td>ifne</td></tr>
<tr class="d"><td>0x9b</td><td>155</td><td>iflt</td></tr>
<tr class="d"><td>0x9c</td><td>156</td><td>ifge</td></tr>
<tr><td>0x9d</td><td>157</td><td>ifgt</td></tr>
<tr><td>0x9e</td><td>158</td><td>ifle</td></tr>
<tr class="d"><td>0x9f</td><td>159</td><td>if_icmpeq</td></tr>
<tr class="d"><td>0xa0</td><td>160</td><td>if_icmpne</td></tr>
<tr><td>0xa1</td><td>161</td><td>if_icmplt</td></tr>
<tr><td>0xa2</td><td>162</td><td>if_icmpge</td></tr>
<tr class="d"><td>0xa3</td><td>163</td><td>if_icmpgt</td></tr>
<tr class="d"><td>0xa4</td><td>164</td><td>if_icmple</td></tr>
<tr><td>0xa5</td><td>165</td><td>if_acmpeq</td></tr>
<tr><td>0xa6</td><td>166</td><td>if_acmpne</td></tr>
<tr class="d"><td>0xa7</td><td>167</td><td>goto</td></tr>
<tr class="d"><td>0xa8</td><td>168</td><td>jsr</td></tr>
<tr><td>0xa9</td><td>169</td><td>ret</td></tr>
<tr><td>0xaa</td><td>170</td><td>tableswitch</td></tr>
<tr class="d"><td>0xab</td><td>171</td><td>lookupswitch</td></tr>
<tr class="d"><td>0xac</td><td>172</td><td>ireturn</td></tr>
<tr><td>0xad</td><td>173</td><td>lreturn</td></tr>
<tr><td>0xae</td><td>174</td><td>freturn</td></tr>
<tr class="d"><td>0xaf</td><td>175</td><td>dreturn</td></tr>
<tr class="d"><td>0xb0</td><td>176</td><td>areturn</td></tr>
<tr><td>0xb1</td><td>177</td><td>return</td></tr>
<tr><td>0xb2</td><td>178</td><td>getstatic</td></tr>
<tr class="d"><td>0xb3</td><td>179</td><td>putstatic</td></tr>
<tr class="d"><td>0xb4</td><td>180</td><td>getfield</td></tr>
<tr><td>0xb5</td><td>181</td><td>putfield</td></tr>
<tr><td>0xb6</td><td>182</td><td>invokevirtual</td></tr>
<tr class="d"><td>0xb7</td><td>183</td><td>invokespecial</td></tr>
<tr class="d"><td>0xb8</td><td>184</td><td>invokestatic</td></tr>
<tr><td>0xb9</td><td>185</td><td>invokeinterface</td></tr>
<tr><td>0xba</td><td>186</td><td><i>(unused)</i></td></tr>
<tr class="d"><td>0xbb</td><td>187</td><td>new</td></tr>
<tr class="d"><td>0xbc</td><td>188</td><td>newarray</td></tr>
<tr><td>0xbd</td><td>189</td><td>anewarray</td></tr>
<tr><td>0xbe</td><td>190</td><td>arraylength</td></tr>
<tr class="d"><td>0xbf</td><td>191</td><td>athrow</td></tr>
<tr class="d"><td>0xc0</td><td>192</td><td>checkcast</td></tr>
<tr><td>0xc1</td><td>193</td><td>instanceof</td></tr>
<tr><td>0xc2</td><td>194</td><td>monitorenter</td></tr>
<tr class="d"><td>0xc3</td><td>195</td><td>monitorexit</td></tr>
<tr class="d"><td>0xc4</td><td>196</td><td>wide</td></tr>
<tr><td>0xc5</td><td>197</td><td>multianewarray</td></tr>
<tr><td>0xc6</td><td>198</td><td>ifnull</td></tr>
<tr class="d"><td>0xc7</td><td>199</td><td>ifnonnull</td></tr>
<tr class="d"><td>0xc8</td><td>200</td><td>goto_w</td></tr>
<tr><td>0xc9</td><td>201</td><td>jsr_w</td></tr>
</table></td></tr>
</table>
</body>
</html>