| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1140 人关注过本帖
标题:出现问题,求助!
只看楼主 加入收藏
冰_山
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-6-28
收藏
 问题点数:0 回复次数:15 
出现问题,求助!
功能:实现数组A输入15个不等数,B输入20个不等的数,求出A,B相同的数并输出
调试时当输完数组AB后就 <<编译框>>消失了.
data segment
a db 30 dup(?),'$'
b db 40 dup(?),'$'
c db 30 dup(?),'$'
p db 'please input 15(00-99) in A:$'
q db 'please input 20(00-99) in B:$'
r db 'the same in the A and B is:$'
data ends
code segment
assume ds:data,cs:code
CRLF macro
mov ah,2
mov dl,0dh
int 21h
mov dl,0ah
int 21h
endm
start: mov ax,data
mov ds,ax
lea dx,p
mov ah,9
int 21h
CRLF
mov si,0
lea bx,a
mov cx,30
a1: mov ah,1
int 21h
mov [bx][si],al
inc si
mov ax,si
mov dl,2
div dl
cmp ah,0
jnz a2
mov dl,' '
mov ah,2
int 21h
a2: loop a1
CRLF
lea dx,q
mov ah,9
int 21h
CRLF
mov si,0
lea bx,b
mov cx,40
a3: mov ah,1
int 21h
mov [bx][si],al
inc si
mov ax,si
mov dl,2
div dl
cmp ah,0
jnz a4
mov dl,' '
mov ah,2
int 21h
a4: loop a3

CRLF
mov si,0
mov dh,0
lea bx,a

a6: mov dl,0
mov ah,[bx][si]
inc si
mov al,[bx][si]
lea di,b

a7: SCASW
jz a5
inc dl
cmp dl,20
inc si
jz a6
jmp a7
a5: add dh,2
mov c,ah
inc c
mov c,al
inc c
inc si
cmp si,30
jz a8
jmp a6

a8: mov cl,dh
mov ch,0
lea bx,c
mov si,0
a9: mov dl,[bx][si]
inc si
mov ax,si
mov dl,2
div dl
cmp ah,0
jnz a10
mov dl,' '
mov ah,2
int 21h
a10: loop a9
mov ah,4ch
int 21h
code ends
end start
搜索更多相关主题的帖子: 消失 please 
2007-06-28 23:46
冰_山
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-6-28
收藏
得分:0 
回复:又找出点小毛病,但还是不行!急
data segment
a db 30 dup(?),'$'
b db 40 dup(?),'$'
c db 30 dup(?),'$'
p db 'please input 15(00-99) in A:$'
q db 'please input 20(00-99) in B:$'
r db 'the same in the A and B is:$'
data ends
code segment
assume ds:data,cs:code
CRLF macro
mov ah,2
mov dl,0dh
int 21h
mov dl,0ah
int 21h
endm
start: mov ax,data
mov ds,ax
lea dx,p
mov ah,9
int 21h
CRLF
mov si,0
lea bx,a
mov cx,30
a1: mov ah,1
int 21h
mov [bx][si],al
inc si
mov ax,si
mov dl,2
div dl
cmp ah,0
jnz a2
mov dl,' '
mov ah,2
int 21h
a2: loop a1
CRLF
lea dx,q
mov ah,9
int 21h
CRLF
mov si,0
lea bx,b
mov cx,40
a3: mov ah,1
int 21h
mov [bx][si],al
inc si
mov ax,si
mov dl,2
div dl
cmp ah,0
jnz a4
mov dl,' '
mov ah,2
int 21h
a4: loop a3

CRLF
mov si,0
mov dh,0
lea bx,a

a6: mov dl,0
cmp si,30
jz a8
mov ah,[bx][si]
inc si
mov al,[bx][si]
lea di,b
CLD
a7: SCASW
jz a5
inc dl
inc si
cmp dl,20
jz a6
jmp a7
a5: add dh,2
mov c,ah
inc c
mov c,al
inc c
inc si
jmp a6

a8: mov cl,dh
mov ch,0
sub c,dh
lea bx,c
mov si,0
a9: mov dl,[bx][si]
mov ah,2
int 21h
inc si
mov ax,si
mov dl,2
div dl
cmp ah,0
jnz a10
mov dl,' '
mov ah,2
int 21h
a10: loop a9
mov ah,4ch
int 21h
code ends
end start

2007-06-29 08:59
冰_山
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-6-28
收藏
得分:0 
版主!麻烦帮忙解决一下

2007-06-29 09:05
herbert_1987
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:1314
专家分:0
注 册:2007-5-13
收藏
得分:0 
我编译的时候 c 变量提示有错的,
你的是不是?

人生重要的不是所站的位置,而是所朝的方向
2007-06-29 10:47
冰_山
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-6-28
收藏
得分:0 
我的没提示!编译就没错

2007-06-29 11:48
爱以走远
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:7542
专家分:21
注 册:2007-3-16
收藏
得分:0 

你比较输出是那段
好象没有

你把程序注释一哈 本来这个语言的程序都不好看


   好好活着,因为我们会死很久!!!
2007-06-29 17:42
冰_山
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-6-28
收藏
得分:0 
data segment ;目的是将A的15个不等的整数,B的20个整数,比较AB相同

的数输出
a db 30 dup(?),'$'
b db 40 dup(?),'$'
c db 30 dup(?),'$'
p db 'please input 15(00-99)different in A:$'
q db 'please input 20(00-99)different in B:$'
r db 'the same in the A and B is:$'
data ends
code segment
assume ds:data,cs:code
CRLF macro ;宏 目的回车
mov ah,2
mov dl,0dh
int 21h
mov dl,0ah
int 21h
endm
start: mov ax,data
mov ds,ax
lea dx,p
mov ah,9
int 21h
CRLF
mov si,0
lea bx,a
mov cx,30
a1: mov ah,1 ;输入15个数到A中
int 21h
mov [bx][si],al
inc si
mov ax,si
mov dl,2
div dl
cmp ah,0
jnz a2
mov dl,' ' ;每两个数中间输出一空格
mov ah,2
int 21h
a2: loop a1
CRLF
lea dx,q
mov ah,9
int 21h
CRLF
mov si,0
lea bx,b
mov cx,40
a3: mov ah,1 ;输入20个数到B中
int 21h
mov [bx][si],al
inc si
mov ax,si
mov dl,2
div dl
cmp ah,0
jnz a4
mov dl,' '
mov ah,2
int 21h
a4: loop a3

CRLF
mov si,0
mov dh,0
lea bx,a

a6: mov dl,0
cmp si,30
jz a8
mov ah,[bx][si] ;去A的第一个数放入AX中
inc si
mov al,[bx][si]
lea di,b ;放B的首地址放入B中
CLD
a7: SCASW ;比较A中第一个数与B中的所有数比较
jz a5
inc dl
inc si
cmp dl,20
jz a6
jmp a7
a5: add dh,2 ;比较结果放入C中
mov c,ah
inc c
mov c,al
inc c
inc si
jmp a6

a8: cmp dh,0
jz a11
mov cl,dh
mov ch,0
sub c,dh
lea bx,c
mov si,0
a9: mov dl,[bx][si] ;输出C
mov ah,2
int 21h
inc si
mov ax,si
mov dl,2
div dl
cmp ah,0
jnz a10
mov dl,' '
mov ah,2
int 21h
a10: loop a9
a11: mov ah,4ch
int 21h
code ends
end start

2007-06-29 19:03
hero2007
Rank: 1
来 自:湖北武汉
等 级:新手上路
威 望:1
帖 子:130
专家分:0
注 册:2007-3-22
收藏
得分:0 
我也在看,应该是比较部分的问题。
SCASW前面的重复前缀怎么没有?
......

还在看ing...
2007-06-29 22:53
hero2007
Rank: 1
来 自:湖北武汉
等 级:新手上路
威 望:1
帖 子:130
专家分:0
注 册:2007-3-22
收藏
得分:0 
mov c,ah
inc c
mov c,al
inc c

上面可以么?
我知道寄存器不够用了,但这样不行吧?
2007-06-29 23:09
hero2007
Rank: 1
来 自:湖北武汉
等 级:新手上路
威 望:1
帖 子:130
专家分:0
注 册:2007-3-22
收藏
得分:0 
看不出来这句sub c,dh的作用。有用的话,和楼上的一样的问题。
a9: mov dl,[bx][si]上面应该有:

lea dx,r ;输出提示 the same in the A and B is:
mov ah,9
int 21h


[此贴子已经被作者于2007-6-29 23:28:09编辑过]

2007-06-29 23:26
快速回复:出现问题,求助!
数据加载中...
 
   



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

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