一个简单的跳跃表问题 希望有人可以解答(有改动,详见三楼)
就是把这几个数归类到几个等级的问题:data segment
grade dw 56,69,84,82,73,88,99,63,100,80
s5 dw 0
s6 dw 0
s7 dw 0
s8 dw 0
s9 dw 0
s10 dw 0
branch dw a_1
dw a_2
dw a_3
dw a_4
dw a_5
dw a_6
data ends
;************************************************
code segment
main proc far
start:
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
sub bx,bx
sub si,si
mov cx,10
A:
mov ax,60
B:
cmp ax,grade[bx]
jl branch[si] ;错误就在这一行
add ax,10
add si,2
jmp B
a_1:
inc s5
jmp short change_addr
a_2:
inc s6
jmp short change_addr
a_3:
inc s7
jmp short change_addr
a_4:
inc s8
jmp short change_addr
a_5:
inc s9
jmp short change_addr
a_6:
inc s10
change_addr:
add bx,2
loop A
ret
main endp
code ends
;************************************************
end start
然后在masm5.0编译的时候出现must be associated with code 问题
请问下书上跳跃表法不都是这么用的么,为什么会有这种问题
[ 本帖最后由 三达不溜 于 2011-5-28 23:03 编辑 ]