| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1158 人关注过本帖
标题:[求助]求立方问题!
只看楼主 加入收藏
xiaoping622
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2006-6-2
收藏
 问题点数:0 回复次数:6 
[求助]求立方问题!

DATA SEGMENT
input db 'please input(0-9): $'
tab dw 0,1,8,27,64,125,216,343,512,729
inerror db 0dh,0ah,'input error! $'
x db ?
xxx dw ?
data ends
code segment
assume cs:code,ds:data
main proc far
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
mov dx,offset input
mov ah,9
int 21h
mov ah,1
cmp al,'0'
jb error
cmp al,'9'
ja error

and al,0fh
mov x,al
mov bl,al

mov bh,0
add bx,bx
mov ax,tab[bx]
mov xxx,ax
exit: ret
error: mov dx,offset inerror
mov ah,9
int 21h
jmp exit
code ends
end main

高手帮俺看看,不对怎么不能输入数字!只能显示:please input (0-9):
input error:
怎么回事啊!


搜索更多相关主题的帖子: 立方 
2006-06-12 15:40
xiaoping622
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2006-6-2
收藏
得分:0 

对了:mov ah,1 后面,少打了一个int 21h
虽然这样,也是读不出来:立方值啊...快考试了,急啊!求版主帮个忙!谢求了!


Give me a world,a beautiful worle!
2006-06-12 15:48
zsuliaowu
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-6-12
收藏
得分:0 
回复:(xiaoping622)[求助]求立方问题!

DATA SEGMENT
input db 'please input(0-9): $'
tab dw 0,1,8,27,64,125,216,343,512,729
inerror db 0dh,0ah,'input error! $'
x db ?
xxx dw ?
data ends
code segment
assume cs:code,ds:data
main proc far
start:
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
mov dx,offset input
mov ah,9
int 21h
mov ah,1
int 21h
cmp al,'0'
jb error
cmp al,'9'
ja error

and al,0fh
mov x,al
mov bl,al
mov bh,0
add bx,bx
mov ax,tab[bx]
mov xxx,ax
exit: ret
error: mov dx,offset inerror
mov ah,9
int 21h
jmp exit
main endp
code ends
end start
;
这样就可以拉

2006-06-12 22:44
xiaoping622
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2006-6-2
收藏
得分:0 

谢谢,,不过...还是不行,我试过了.......


Give me a world,a beautiful worle!
2006-06-25 15:45
chy227
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-7-7
收藏
得分:0 

不知道哪里有错误,但能输入结果
data segment
input db 'please input(0-9): $'
tab dw 0,1,8,27,64,125,216,343,512,729
inerror db 0dh,0ah,'input error! $'
divjm db 100,10,1
xxx dw ?
data ends
code segment
assume cs:code,ds:data
main: mov ax,data
mov ds,ax
mov dx,offset input
mov ah,9
int 21h
mov ah,1
int 21h
cmp al,'0'
jb error
cmp al,'9'
ja error
call newline

sub al,30h
mov bl,al
mov bh,0
add bl,bl
mov ax,tab[bx]
call change

exit: mov ah,4ch
int 21h
error: mov dx,offset inerror
mov ah,9
int 21h
jmp exit

change proc
lea di, divjm
mov cx,3
next: mov bl,[di]
inc di
div bl
add al,30h
mov bh,ah
mov dl,al
mov ah,2
int 21h
mov al,bh
and ax,0fh
loop next
ret
change endp

newline proc
push dx
push ax
mov dl,0dh
mov ah,2
int 21h
mov dl,0ah
mov ah,2
int 21h
pop ax
pop dx
ret
newline endp
code ends
end main

2006-07-08 15:24
chy227
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-7-7
收藏
得分:0 

请哪位高手帮我看看上面那个程序吧

2006-07-08 15:28
chy227
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-7-7
收藏
得分:0 

data segment
input db 'please input(0-9): $'
tab dw 0,1,8,27,64,125,216,343,512,729
tab1 dw 0,1,8,4,6,5,16,3,2,7
inerror db 0dh,0ah,'input error! $'
divjm db 100,10,1
data ends
code segment
assume cs:code,ds:data
main: mov ax,data
mov ds,ax
mov dx,offset input
mov ah,9
int 21h
mov ah,1
int 21h
cmp al,'0'
jb error
cmp al,'9'
ja error
call newline

sub al,30h
xor ah,ah
add ax,ax
mov bx,ax
mov ax,tab[bx]
call change

exit: mov ah,4ch
int 21h
error: mov dx,offset inerror
mov ah,9
int 21h
jmp exit

change proc;入口参数AX
lea di, divjm
mov cx,3
next: mov bl,[di]
inc di
div bl
add al,30h
mov bh,ah
mov dl,al
mov ah,2
int 21h
mov al,bh
and ax,00ffh
loop next
ret
change endp

newline proc
push dx
push ax
mov dl,0dh
mov ah,2
int 21h
mov dl,0ah
mov ah,2
int 21h
pop ax
pop dx
ret
newline endp
code ends
end main
可以了一个小错误害得我调试了好久 change 中的and ax,0fh 应该是and ax,0ffh

2006-07-08 16:27
快速回复:[求助]求立方问题!
数据加载中...
 
   



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

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