| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2680 人关注过本帖
标题:为什么无论输入什么数mistake都执行了?
取消只看楼主 加入收藏
九州
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2017-11-23
结帖率:0
收藏
 问题点数:0 回复次数:3 
为什么无论输入什么数mistake都执行了?
DATAS SEGMENT
    input db 'please input x(0~9):$'
    num1  db  0
    num2  db  9
    x dw ?
    STRING  DB  'Input Error!',13,10,'$'
DATAS ENDS

STACKS SEGMENT
    ;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    mov DX,offset input;取地址
    mov AH,9;实现9号功能,显示字符串
    INT 21H
    MOV AH,1;把十六进制数1(表示为01h)装入ah寄存器
    INT 21H;调用 int 21H 中断,返回值放在 al寄存器中
    AND AL,0FH;取AL低四位
    cmp num1,AL
    JBE next1
    ;jmp mistake
next1:
      cmp al,num2
      jbe next2
     ; jmp mistake
next2:
    mov ah,0
    mov bx,ax
    mul ax
    mul ax
    div bx
    mov x,ax
mistake:
    LEA  DX,STRING
    MOV  AH,9
    INT  21H
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START
搜索更多相关主题的帖子: 输入 input db MOV INT 
2017-11-26 20:26
九州
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2017-11-23
收藏
得分:0 
看的时候把jmp前的“;”去掉啊,
2017-11-26 20:28
九州
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2017-11-23
收藏
得分:0 
题目:从键盘输入0~9中的任意数,如果输入的字符在这个范围内,计算它的立方值,反之显示输入错误信息。
2017-11-26 20:39
九州
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2017-11-23
收藏
得分:0 
DATAS SEGMENT
    input db 'please input x(0~9):$'
    num1  db  0
    num2  db  9
    x dw ?
    STRING  DB  'Input Error!',13,10,'$'
DATAS ENDS

STACKS SEGMENT
    ;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    mov DX,offset input;取地址
    mov AH,9;实现9号功能,显示字符串
    INT 21H
    MOV AH,1;把十六进制数1(表示为01h)装入ah寄存器
    INT 21H;调用 int 21H 中断,返回值放在 al寄存器中
    AND AL,0FH;取AL低四位
    mov bl,num1
    cmp AL,bl
    JB mistake
    mov bl,num2
    cmp al,bl
    ja mistake   
    mov ah,0
    mov bx,ax
    mul ax
    mul ax
    div bx
    mov x,ax
exit:
     MOV AH,4CH
    INT 21H
mistake:
    LEA  DX,STRING
    MOV  AH,9
    INT  21H
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START


改后可以了,为什么?
2017-11-26 21:15
快速回复:为什么无论输入什么数mistake都执行了?
数据加载中...
 
   



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

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