| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 791 人关注过本帖
标题:汇编调试出现问题!
只看楼主 加入收藏
冰_山
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-6-28
收藏
 问题点数:0 回复次数:4 
汇编调试出现问题!

提示错误发生在跳转的时候:cmp ch,2
jz a4
看了又看也不懂错在哪里,请高人指点。
以下是程序:

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

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
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
mov si,0
mov cl,4
mov ch,0
mov bl,a
mov dh,a
jmp a3
a4: 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
a10: mov cl,32
lea bx,c
mov si,0
a11: mov dl,[bx][si]
add dl,30h
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
;add al,30h
lea bx,c
mov [bx][si],al
mov al,ah
mov ah,0
inc si
mov bl,2
div bl
;add al,30h
lea bx,c
mov [bx][si],al
mov al,ah
inc si
;add al,30h
lea bx,c
mov [bx][si],al

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

搜索更多相关主题的帖子: data input segment please mov 
2007-06-28 11:38
冰_山
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-6-28
收藏
得分:0 
回复:(冰_山)汇编调试出现问题!
各位大虾麻烦帮忙弄弄 明天就要交了!谢谢

2007-06-28 12:47
爱以走远
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:7542
专家分:21
注 册:2007-3-16
收藏
得分:0 
jmp超出长度拉

   好好活着,因为我们会死很久!!!
2007-06-28 14:11
爱以走远
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:7542
专家分:21
注 册:2007-3-16
收藏
得分:0 
你可以这样
如你想jmp lop1 但是太长 不能一下跳过去

你就在中间加这一句
jmp lop
..
..
jmp l1
lop:
jmp lop1
l1:
...

这样就行拉

   好好活着,因为我们会死很久!!!
2007-06-28 14:14
冰_山
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-6-28
收藏
得分:0 

真的太感谢了!


2007-06-28 15:18
快速回复:汇编调试出现问题!
数据加载中...
 
   



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

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