8086彙編基礎 call far ptr實例

    IDE : Masm for Windows 集成實驗環境 2015
      OS : Windows 10 x64
typesetting : Markdown
       blog : my.oschina.net/zhichengjiu

code

datas segment
    ;數據段代碼
datas ends

stacks segment
    ;堆棧段代碼

stacks ends

codes segment
    assume cs:codes,ds:datas,ss:stacks
start:
    mov ax,datas
    mov ds,ax

    ;代碼段代碼
    call far ptr func

    mov ax,1234h
    mov bx,5678h

func:
    mov ax,9012h
    pop bx        ;bx存的是mov ax,1234h 的IP  
    pop ax        ;ax存的是mov ax,1234h 的CS

    mov ah,4ch
    int 21h
codes ends
    end start

debug

more knowledge

  • call far ptr 標號,執行這個命令的過程:
    1. 將call far ptr讀入指令緩衝器
    2. ip自加,cs不動
    3. 執行指令緩衝器中的命令 call far ptr
      1. push cs
      2. push ip
      3. jmp far ptr 標號

reference

  • [1] 王爽. 彙編語言.第3版[M]. 清華大學出版社, 2013.

resource

  • [ IDE ] www.jiaminsoft.com
  • [ DOSBox ] www.dosbox.com
  • [ emu8086 ] www.emu8086.com
  • [ 平臺 ] www.asmedu.net
  • [ 平臺 ] www.oschina.net
  • [ 平臺 ] gitee.com


感謝幫助 志成就 的人們。
不同芯片的彙編指令存在差異,嵌入式和信息安全領域中會見到彙編語言。
彙編/C/C++等可以進行硬件編程,要結合社會需求與個人愛好有選擇地進行學習。眼界需要開闊。
該博文僅可用於測試與參考。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章