《組譯工具》王爽296頁,使用變數定位子程式的問題

來源:互聯網
上載者:User

王爽並沒有使用變數這個說法,他只說是另一種標號方法。

書中296頁有這樣一段代碼

 1 charstack:jmp short charstart 2  3     table dw charpush,charpop,charshow 4  5     top dw,0 6  7 charstart:push bx 8  9              push dx10 11              push di12 13              push es14 15              cmp ah,216 17               ja sret18 19               mov bl,ah20 21               mov bh,022 23               add bx,bx24 25               jmp word ptr table[bx]26 27 ……………………………………….

 

 

問題:

我使用的是emu8086,編寫的最後一行代碼jmp word ptr table[bx]總是不能跳轉到正確的位置。

bx的值是需要每次加2的。table[bx]代表bx/2這個位置的變數。

解決方案:

後來才發現原來是預設的ds,table[bx]也就相當於ds:table[bx],這樣當然不能正確跳轉的,只要改成cs:table[bx]就可以正確的跳轉了。

bx的值是需要每次加2的。table[bx]代表bx/2這個位置的變數。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.