<div>source code like this:</div><div>-----------------------------------------------------------------------------------------------------</div><div><div><span style="white-space:pre">   </span>.section ".reset", "ax", %progbits</div><div><span style="white-space:pre">        </span>.code16</div><div>.globl<span style="white-space:pre"> </span>_start</div><div>_start:</div><div><span style="white-space:pre">  </span>.byte  0xe9</div><div><span style="white-space:pre">      </span>.int   _start16bit - ( . + 2 )</div><div><span style="white-space:pre">   </span>/* Note: The above jump is hand coded to work around bugs in binutils.</div><div><span style="white-space:pre">        </span> * 5 byte are used for a 3 byte instruction.  This works because x86</div><div><span style="white-space:pre">     </span> * is little endian and allows us to use supported 32bit relocations</div><div><span style="white-space:pre">  </span> * instead of the weird 16 bit relocations that binutils does not</div><div><span style="white-space:pre">     </span> * handle consistently between versions because they are used so rarely.</div><div><span style="white-space:pre">      </span> */</div><div><span style="white-space:pre">   </span>.previous</div></div><div><div>-----------------------------------------------------------------------------------------------------</div><div></div></div><div><br></div><div>I tried to modify the code and passed test (use qemu test).</div><div>My code like this:</div><div><div>-----------------------------------------------------------------------------------------------------</div><div><div><span style="white-space: pre;">       </span>.section ".reset", "ax", %progbits</div><div><span style="white-space: pre;">      </span>.code16</div><div>.globl<span style="white-space: pre;">       </span>_start</div><div>_start:</div><div><span style="white-space: pre;">        </span>jmp   _start16bit</div><div><span style="white-space: pre;"> </span>.previous</div></div><div>-----------------------------------------------------------------------------------------------------</div></div><div><br></div><div>What is the meaning of hand coding?  In 16-bit mode, the last two bytes are ignored.</div><div><sign signid="99"><div style="color:#909090;font-family:Arial Narrow;font-size:12px"><br><br><br><br>------------------</div><div style="font-size:14px;font-family:Verdana;color:#000;"><div style="overflow:hidden;"><div class="l_box" style="float:left;height:100px;margin:35px 10px 10px 0;padding:0 10px 0 15px;border-right:1px solid #dedede;"><div class="logo" style="height:35px;margin:35px 0 0 0;float:left;"><img src="https://exmail.qq.com/cgi-bin/viewfile?type=logo&domain=tya.email"></div></div><div class="c_detail" style="float:left;padding-top:35px;line-height:22px;color:#a0a0a0;zoom:1;"><h4 class="name" style="margin:0;font-size:14px;font-weight:bold;line-height:28px;color:#000;zoom:1;">王翔</h4><p class="position" style="margin:0;">安全研究员</p><p class="department" style="margin:0;">广州市腾御安信息科技有限公司</p><p class="phone" style="margin:0;"></p><p class="mobile" style="margin:0;"></p><p class="addr" style="margin:0;line-height:22px;color:#a0a0a0;">广州市天河区珠江新城华穗路406号保利克洛维二期中景A座1020-1024</p></div></div></div></sign></div><div> </div><div><includetail><!--<![endif]--></includetail></div>