标题:[求助]程序调试时出现错误
只看楼主
珊蝴虫
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-6-14
 问题点数:0 回复次数:8 
[求助]程序调试时出现错误

提示错误发生在跳转的时候:cmp ch,2
jz b1
看了又看也不懂错在哪里,请高人指点。
以下是程序:
data segment
a db ?,?,'$'
b db ?,?,'$'
c db 32 dup(?),'$'
r db 'please input dx(00-99):$'
p db 'please input ax(00-99):$'
q db 'please input the count(1-8):$'
data ends
code segment
assume ds:data,cs:code ;10

start:
mov ax,data
mov ds,ax
lea dx,r
mov ah,9
int 21h
mov ah,7
int 21h
mov a,al
mov ah,2
mov dl,a
int 21h
mov ah,7
int 21h
mov a+1,al
mov ah,2
mov dl,a+1
int 21h

CRLF macro
mov ah,2 ;30
mov dl,0dh
int 21h
mov dl,0ah
int 21h
endm
CRLF
lea dx,p
mov ah,9
int 21h
mov ah,7
int 21h
mov b,al
mov ah,2
mov dl,al
int 21h
mov ah,7
int 21h
mov b+1,al
mov ah,2
mov dl,al
int 21h
CRLF ;50
mov si,0
mov cl,4
mov ch,0
mov bl,a
mov dh,a
jmp a3
b1: inc si
mov bl,a+1
mov dh,a+1
jmp a3
a6: inc si
mov bl,b
mov dh,b
jmp a3
a8: inc si
mov bl,b+1
mov dh,b+1
jmp a3 ;69
a10: mov cl,32
lea bx,c
mov si,0
a11: mov dl,[bx][si]

mov ah,2
int 21h
inc si
loop a11

jmp js1


a3: sub bl,30h
shr bl,cl
jmp a5
a1: inc si
mov bl,dh
and bl,0fh
a5: inc ch

mov al,bl
mov ah,0
mov bl,8
div bl
lea bx,c
add al,30h
mov [bx][si],al
mov al,ah
mov ah,0
inc si
mov bl,4
div bl
lea bx,c
add al,30h
mov [bx][si],al
mov al,ah
mov ah,0
inc si
mov bl,2
div bl
lea bx,c
add al,30h
mov [bx][si],al
mov al,ah
inc si
lea bx,c
add al,30h
mov [bx][si],al

cmp ch,1
jz a1
cmp ch,2
jz b1
cmp ch,3
jz a1
cmp dl,4
jz a6
cmp dl,5
jz a1
cmp dl,6
jz a8
cmp dl,7
jz a1
cmp dl,8
jz a10
js1: mov ah,4ch
int 21h
code ends
end start
错误信息:126:Jump out of range by 16 bytes(s)
这个错误是什么意思,怎么改。


搜索更多相关主题的帖子: data input segment please 
2007-06-28 00:50
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
得分:0 
我这没报错呀
你可以改成JMP FAR ...试试

2007-06-28 10:13
冰_山
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-6-28
得分:0 
不行啊!2楼用的什么编译器?

2007-06-28 11:05
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
得分:0 
MASM32

2007-06-28 11:35
herbert_1987
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:1314
专家分:0
注 册:2007-5-13
得分:0 
以下是引用菜鸟上路在2007-6-28 11:35:07的发言:
MASM32

masm32 不是不支持中断的吗?


人生重要的不是所站的位置,而是所朝的方向
2007-06-28 16:10
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
得分:0 

支持呀。。。


2007-06-28 16:52
zhulei1978
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:53
帖 子:1351
专家分:1200
注 册:2006-12-17
得分:0 
我这里也出现同样地错误,请高手指点

其实我就是改变社会风气,提高少女素质,刺激电影市道,提高年轻人内涵,玉树临风,风度翩翩的整蛊专家,我名叫古晶,英文名叫JingKoo!
2007-06-29 14:37
爱以走远
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:7542
专家分:21
注 册:2007-3-16
得分:0 
就是转移指令转不到那里来
太长拉
你可以在中间还加几个转移指令 这样就行拉

   好好活着,因为我们会死很久!!!
2007-06-29 17:33
hero2007
Rank: 1
来 自:湖北武汉
等 级:新手上路
威 望:1
帖 子:130
专家分:0
注 册:2007-3-22
得分:0 
在Masm For Windows 集成实验环境里,只需把c该成别的字母,没错误提示。
2007-06-30 18:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-150877-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.221401 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved