| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 701 人关注过本帖
标题:菜鸟提问:这个程序无法循环是为什么啊?
只看楼主 加入收藏
mobileangle
Rank: 2
等 级:论坛游民
帖 子:6
专家分:10
注 册:2010-5-26
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
菜鸟提问:这个程序无法循环是为什么啊?
DATA SEGMENT
INPUT DB 0AH,0AH,'PLEASE INPUT A NUMBER:'
ERROR  db  0ah,0dh,'INPUT ERROR!';0ah,0dh是字符型2个字符,是回车换行符
BUF  DB 10
      DB ?
      DB 10 DUP(0)
ARR    DD 2 DUP(0)
DATA ENDS
CODE SEGMENT
         ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
       MOV DS,AX

                                       
       mov ah,08H                                            ;dos调用的8号功能:不需要提供入口参数,等待键盘输入一个字符。自动将ASCII码存入AL中
          int 21h
        
    CMP AL,30
    JB A1
    CMP AL,39
    JA A1

        mov BL,AL
        MUL BL
        XOR BH,BH
        MUL BL
      
        CMP AX,0FFH
        JA     A
B1:        DIV 10
            MOV BL,AL
            PUSH AH
            CMP BL,0
            INC CX
            JNE B1   
            JMP  A2
A:            DIV 10
            PUSH DX
B2:        DIV 10
            MOV BL,AL
            PUSH AH
            CMP BL,0
            INC CX
            JNE B2   

A1:  LEA  dx,error                      ;出错提示
      mov ah,9
      int 21h

    A2:POP AH
        LOOP A2
         MOV AH,4CH
        INT  21H
    CODE ENDS
              END START
 
 
错误提示
搜索更多相关主题的帖子: 提问 
2010-05-26 20:45
ONEPROBLEM
Rank: 6Rank: 6
来 自:广西 南宁
等 级:贵宾
威 望:21
帖 子:1569
专家分:349
注 册:2008-7-11
收藏
得分:0 
建议用DEBUG跟踪看看
2010-05-27 23:31
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:20 
data    segment
input     db 0ah, 0dh,  'Please input a number:', '$'
error    db 0ah, 0dh, 'Input error!', '$'
divs    db 10
data    ends

stack    segment    stack
    db 200 dup(0)
stack    ends

code    segment
    assume cs:code, ss:stack, ds:data
start:    mov ax, data
    mov ds, ax
   
    mov cx, 0
   
    mov dx, offset input
    mov ah, 9
    int 21h
   
    mov ah, 8
    int 21h
   
    cmp al, 30h
    jb A1
    cmp al, 39h
    ja A1
   
    sub al, 30h
    mov bl, al
    mul bl
    xor bh, bh
    mul bl
   
    cmp ax, 0ffh
    ja A
   
B1:    inc cx
    mov ah, 0
    div divs
    mov bl, al
    push ax
    cmp bl, 0
    ja B1
    jmp A2

A:    inc cx
    div divs
    push dx
    jmp B1
        
A1:    lea dx, error
    mov ah, 9
    int 21h
   
A2:    pop ax
    add ah, 30h
    mov dl, ah
    mov ah, 2
    int 21h
    dec cx
    cmp cx, 0
    ja A2
   
    mov ah, 4ch
    int 21h
   
code    ends
    end    start
   
2010-05-28 09:30
mobileangle
Rank: 2
等 级:论坛游民
帖 子:6
专家分:10
注 册:2010-5-26
收藏
得分:0 
感激不尽——
要好好研究一下了
 
实验课时间太有限了
老师也不能随时指导D
感谢寒风大大
2010-05-28 12:44
快速回复:菜鸟提问:这个程序无法循环是为什么啊?
数据加载中...
 
   



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

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