說明
- 先讓ax=0
- 執(zhí)行s中的兩條nop夏醉,作用大概是將ip+2
- 把s2中的第一條指令寫到s里去
- 跳到s去
- 執(zhí)行s2里的命令存和,但是要注意的是逸邦,對(duì)于s2來說嫌褪,跳轉(zhuǎn)到s1去只需要往上移三條指令
mov ax旦部,0
int 21h
mov ax,0
就到了s1祈搜。而由于jmp short 標(biāo)號(hào)這個(gè)機(jī)器碼記錄的不是目的地址较店,而是轉(zhuǎn)移到目的地址的位移。當(dāng)把s2的指令寫給s時(shí)容燕,對(duì)應(yīng)于該轉(zhuǎn)移的初始位置變成了s梁呈,因此往上移三條指令到了源程序的第3行(mov ax,4c00h)蘸秘,而不是s1里的(mov ax官卡,0)。
由此可見:
- jmp short 標(biāo)號(hào)這一條指令轉(zhuǎn)成機(jī)器碼后記錄的是到目的地址的位移醋虏。
- 傳送指令傳送的也是機(jī)器碼寻咒,而不是匯編指令。