回 帖 发 新 帖 刷新版面

主题:[讨论]麻烦大家帮我看一下怎么跳出死循环

这是我写的一个程序 目的是重复显示字符十次
但是不知道为什么陷入了死循环
麻烦大家帮忙看下该怎么修改可以跳出死循环 

   .MODEL   SMALL
       .STACK   64
;---------------------------------------------------
         .DATA 
STRING1 DB 'hello'
STRING2 DB  5 dup('*'),'$'
;---------------------------------------------------
           .CODE
A10MAIN    PROC      FAR
           MOV       AX,@data
           MOV       DS,AX
           MOV       ES,AX
         CLD
           MOV   CX,5
           LEA   DI,STRING2
           LEA   SI,STRING1
           REP   MOVSB 
           JMP   A40

A30:       
           MOV       BH,00
           MOV       BL,0110B
           MOV       CX,10
           INT       10H
                     

A40:      
           MOV        AH,09H
           LEA        DX,STRING2                 
           INT        21H    
           CALL       A30
           RET   
  
A10MAIN    ENDP
             END   A10MAIN

回复列表 (共7个回复)

沙发

.MODEL   SMALL
       .STACK   64
;---------------------------------------------------
         .DATA
STRING1 DB 'hello'
STRING2 DB  5 dup('*'),'$'
;---------------------------------------------------
           .CODE
           .startup

           MOV       ax,DS
           MOV       ES,AX
           CLD
           MOV   CX,5
           LEA   DI,STRING2
           LEA   SI,STRING1
           REP   MOVSB

          MOV       CX,10
A30:
           MOV        AH,09H
           LEA        DX,STRING2
           INT        21H
           loop a30

     .exit 0
             END

板凳

运行不了啊

3 楼

我调试通过了的,没问题的呀?

4 楼

请问你是用什么软件调试的

5 楼

MASM615,汇编、运行都没问题

6 楼

O  我用的是6.11
不过已经可以运行了
只是我想让字的颜色变成棕色  屏幕变成蓝色
请问要怎么做
我刚刚试过了 但是不行

7 楼

.MODEL   SMALL
       .STACK   64
;---------------------------------------------------
         .DATA
STRING1 DB 'hello'
STRING2 DB  5 dup('*'),0ah,0dh
lengs equ $-string2
temp db 0
;---------------------------------------------------
           .CODE
           .startup

    
           MOV       ax,DS
           MOV       ES,AX
           CLD
           MOV   CX,5
           LEA   DI,STRING2
           LEA   SI,STRING1
           REP   MOVSB
    mov    ax,0600h
    mov    bh,0
    mov    cx,0
    mov    dx,184fh
    int    10h     ;清屏

    mov    ax,3h
    int    10h      ;设置显示模式

A30:
           mov bh,0         ;设置光标位置
           mov dh,temp
           mov dl,temp
           mov ah,2
           int 10h
           
           mov bp,offset string2     ;显示字符串
           mov cx,lengs
           mov dh,TEMP
           MOV DL,temp
           mov bl,16h
           mov al,0
           mov ah,13h
           int 10h

           inc temp
           .if temp==5
            .exit 0
           .else
            jmp a30
           .endif

             END

显示5遍HELLO,棕色字符,兰色背景

我来回复

您尚未登录,请登录后再回复。点此登录或注册