《汇编程序》王爽296页,使用变量定位子程序的问题

王爽并没有使用变量这个说法,他只说是另一种标号方法。

书中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 dx

10 

11              push di

12 

13              push es

14 

15              cmp ah,2

16 

17               ja sret

18 

19               mov bl,ah

20 

21               mov bh,0

22 

23               add bx,bx

24 

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这个位置的变量。

你可能感兴趣的:(编程)