鱼C论坛

 找回密码
 立即注册
查看: 5501|回复: 1

程序可以执行到mov 4c00h,int 21h,但还是陷入循环

[复制链接]
发表于 2021-5-22 14:22:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
第十章 实验10 的第三个,debug的时候确实到了mov 4c00h,int 21h,但直接运行程序却还是死循环
assume cs:code

data segment
     db 10 dup(0)
data ends

code segment

start:  mov ax,12666
          mov bx,data
          mov ds,bx
          mov si,0
          call dtoc
     
          mov dh,8
          mov dl,3
          mov cl,2
          call show_str

          mov ax,4c00h
          int 21h

dtoc:  mov bx,0
s1:     mov cx,10
        div cx
        add dx,30h
        push dx ;压栈入栈是以字为单位的
        mov dx,0
        inc bx
        inc si
        mov cx,ax
        add cx,1
         loop s1
        mov ds:[si],cl

        mov cx,bx
        mov si,0
s0:     pop ds:[si]
        inc si
        loop s0
                 
        ret



show_str:   mov bx,4
                  mov si,0

s:              mov ax,0b846h
                  mov es,ax
                  mov al,ds:[si]
                  mov es:[bx],al
                  mov es:1[bx],cl
                  add si,1
                  add bx,2
                  mov cx,ds:[si]
                  add cx,1
                  loop s
                  ret
code ends
end start
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-5-26 20:02:10 | 显示全部楼层
add cx,1
loop s

你这不永远循环了吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 04:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表