[問題] 請問jmp指令

看板ASM (組合語言)作者 (打字男)時間17年前 (2007/06/23 15:20), 編輯推噓5(504)
留言9則, 5人參與, 最新討論串1/3 (看更多)
以下指令 jmp $+2 pop eax xor ax,ax mov ds,ax mov es,ax 請問 $+2 是什麼意思? 是跳兩行嗎? 書上找不太到,感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.120.70.34

06/23 16:19, , 1F
這邊是指跳到pop eax 那邊去執行
06/23 16:19, 1F

06/23 19:11, , 2F
是現在這個位址+2個byte
06/23 19:11, 2F

06/23 20:36, , 3F
jmp下一行不就是 pop? 那這邊的用法不就沒意義囉?
06/23 20:36, 3F

06/23 20:38, , 4F
順便問一下 一個指令幾個byte是如何算法呢?
06/23 20:38, 4F

06/25 16:08, , 5F
我記得是要查指令格式~要找程式設計師手冊~每種cpu不同
06/25 16:08, 5F

07/04 03:17, , 6F
大致上是用來做delay的,不然通常要寫好幾個nop才有相同
07/04 03:17, 6F

07/04 03:18, , 7F
的delay時間。另外每個指令大小要找datasheet看。
07/04 03:18, 7F

07/04 03:18, , 8F
以8051而言,就有1~3bytes的差異,不過一些risc的cpu是
07/04 03:18, 8F

07/04 03:18, , 9F
把指令大小都做成一樣
07/04 03:18, 9F
文章代碼(AID): #16VCd0Df (ASM)
討論串 (同標題文章)
以下文章回應了本文
1
2
完整討論串 (本文為第 1 之 3 篇):
1
2
文章代碼(AID): #16VCd0Df (ASM)