組合語言中的JMP指令

顯示結果從第 1 筆 到 6 筆,共計 6 筆
  1. #1
    會員
    註冊日期
    2002-07-25
    討論區文章
    468

    組合語言中的JMP指令

    程式範例如下:
    PORT1 ORG P1
    PORT2 ORG P2
    REG 0H
    JMP MAIN
    ORG 30H
    MAIN:
    MOV A,#55H
    ..........................
    ..........................

    其中有一個指令JMP
    如果改成
    AJMP
    SJMP
    LJMP
    有何差別嗎??



  2. #2
    網路流浪者...... stuart 的大頭照
    註冊日期
    2001-05-05
    討論區文章
    1,205
    AJMP addr11:絕對跳躍

    AJMP addr11   ; 動作: (PC) ← (PC)+2

     (PC10-0) ← page address ;機械週期:2

    由於有效位址只有11位元,所以欲跳躍之目的位址,必須在相同的2K bytes範圍內。8085沒有此動作指令。

    LJMP addr16:遠程跳躍

    LJMP addr16   ; 動作: (PC) ← address15-0

    由於有效位址為16位元,所以跳躍之目的位址可在64K byte程式記憶體的任何位址,本指令可簡寫為” JMP address ”。此指令與8085之 “ JMP address “相同,8051需要2個機械週期,8085需要3個機械週期。

    SJMP rel:短程跳躍

    SJMP   ; 動作: (PC) ← (PC)+2

    (PC) ← (PC)+相對位址 ; 機械週期:2

    8085沒有這樣的指令。

    小弟不才∼只查到這樣的資料!當初學組語時連這些指令都沒學到咧..^^"
    看起來差別只在跳躍的距離及機械週期吧∼
    不知是否有高手解答∼^^

  3. #3
    會員 Javen 的大頭照
    註冊日期
    2001-05-19
    討論區文章
    255
    還有一樣, OPCODE 的長短. 不知 MIT 兄是用哪一顆 CPU 來做 JMP?
    通常 JMP 在組譯時會自動根據你的目地的自動選擇 SJMP, LJMP, 或 AJMP.
    不過我通常是用 SJMP, 不得已, 才會用 AJMP, 再不得已, 最後用 LJMP.
    我沒記錯的話, SJMP, AJMP = 2 Bytes, LJMP = 3 Bytes. (Intel MCS-51 Family)

  4. #4
    k2
    k2 目前未上線
    造口業之徒
    註冊日期
    2001-03-21
    討論區文章
    1,154
    0H->30H的位址距離應該還屬同一Page所以沒差別.
    但是不同的CPU組語指令差異不小,還是要查DATASHEET為準.
    謠言止於智者,但起於記者.流傳於網路小白者
    痛恨八卦和口水戰新聞媒體氾濫,新聞我只看公視.
    在台灣看新聞要看媒體隱瞞不敢報導的那個部分
    數字會說話,聽不懂又愛亂說是會鬧笑話
    面對無知,製造恐懼是最好的推銷手段

  5. #5
    會員
    註冊日期
    2002-07-25
    討論區文章
    468
    最初由 文子 發表
    還有一樣, OPCODE 的長短. 不知 MIT 兄是用哪一顆 CPU 來做 JMP?
    通常 JMP 在組譯時會自動根據你的目地的自動選擇 SJMP, LJMP, 或 AJMP.
    不過我通常是用 SJMP, 不得已, 才會用 AJMP, 再不得已, 最後用 LJMP.
    我沒記錯的話, SJMP, AJMP = 2 Bytes, LJMP = 3 Bytes. (Intel MCS-51 Family)
    我是用8051來作CPU的



  6. #6
    會員
    註冊日期
    2001-01-17
    討論區文章
    241
    應該是單晶片51 吧!
    結果如同 stuart 所說的吧!
    AJMP 跟 SJMP 都佔用兩個 Bytes (但 opcode 並不一樣)
    LJMP 佔用 3 Bytes

類似的主題

  1. 8051組合語言問題
    作者:bp912306 所在討論版:-- 閒 話 家 常 灌 水 版
    回覆: 7
    最後發表: 2008-01-06, 12:23 PM
  2. 【求助】8051 組合語言問題
    作者:CKCman 所在討論版:-- 閒 話 家 常 灌 水 版
    回覆: 1
    最後發表: 2005-05-23, 11:00 PM
  3. 【求助】8051組合語言
    作者:流浪者~MIT 所在討論版:-- 其 他 軟 體 討 論 版
    回覆: 3
    最後發表: 2003-03-11, 01:13 AM
  4. 【求助】組合語言
    作者:流浪者~MIT 所在討論版:-- 其 他 軟 體 討 論 版
    回覆: 2
    最後發表: 2003-02-27, 03:15 PM
  5. 組合語言
    作者:流浪者~MIT 所在討論版:-- 其 他 軟 體 討 論 版
    回覆: 0
    最後發表: 2002-11-20, 07:15 PM

 

8051 組合語言 JMP

發表文章規則

  • 不可以發表新主題
  • 不可以回覆文章
  • 不可以上傳附加檔案
  • 不可以編輯自己的文章
  •