回覆列表
  • 1 # 使用者3409164048688

    複製來的…… $,代表當前地址。

    $ 放在 LJMP 之後,它就代表這條指令本身的地址。LJMP $,就是轉移到該指令的本身地址。LJMP $,就是原地轉移的意思,即 死迴圈。一旦有中斷髮生,就可以去執行中斷程式。

  • 2 # Affgcff

    可定址的範圍不一樣,ACALL是雙位元組指令,呼叫指令的地址PC加2後與所呼叫的子程式的起始地址應在同一個2KB範圍內,而LCALL是三位元組指令,可在64KB範圍內呼叫,換句話說,就是子程式離得太遠就要用LACLL,離得近用ACALL就可以。LJMP和SJMP同上,LJMP三位元組指令,可轉移到64KB程式儲存器任意單元,SJMP是雙位元組指令,只可以在儲存器256個單元範圍內轉移。

  • 3 # 使用者6484034300502

    嘿嘿 還是俺來幫你解答吧

    1 微控制器的硬體復位和門狗復位都是對微控制器的復位引腳 加一個復位電平產生的 此時微控制器 將進行復位操作 pc=0000h p0=p1=p2=p3=0ffh sp=07h 其它特殊暫存器將被清零。 復位結束後 微控制器重新開始執行。

    2 軟體復位; 一般為了防止程式跑飛 可以在程式儲存器中沒有指令的地方 全部寫入 LJMP 0000H指令 一旦微控制器執行跑飛 進入LJMP 0000H指令區 將還返回微控制器的第一條指令 重新執行微控制器的正常程式. 軟體復位時,P0 P1 P2 P3 和特殊暫存器的內容都不會再改變.這點與硬體復位不同. 呵呵 滿意就給加分吧

  • 4 # 使用者8589730223698

    ljmp

    長轉移指令的功能是:把指令碼中的目標地址addr16裝入程式計數器PC,使機器執行下一條指令時無條件轉移到addr16處執行程式,不影響任何標誌。

    長轉移指令(64KB範圍內轉移指令)

    由於addr16是一個16位二進位制地址(地址範圍為0000H—FFFFH),因此長轉移指令一條可以在64KB範圍內轉移的指令。為了使程式設計方便易編,addr16常採用標號地址(如:LOOP、LOOP1、MAIN、START、DONE、NEXT1……)表示,只有在上機執行前才被彙編(或代真)為16位二進位制地址。

    長轉移指令為三位元組,雙週期指令

  • 中秋節和大豐收的關聯?
  • 喜酒三杯什麼意思?