| 网站首页 | 业界新闻 | 群组 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
雷速体育发帖软件开发QQ118000023C语言培训|一对一辅导|零基础学编程LightningChart 快速先进的.Net图表控件
共有 1713 人关注过本帖
标题:来啊!快活啊! 遇到一个死循环解决不了了
只看楼主 收藏
hwd96
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2015-9-6
结帖率:100%
  已结贴   问题点数:20  回复次数:11   
来啊!快活啊! 遇到一个死循环解决不了了
目的:16x16打印00-ff的ascii字符
问题:成功打印16x16的ascii字符,但是一直循环打印





assume cs:code ss:stack
stack segment
db 16 dup('0')
stack ends

code segment
start:    mov sp, 16
mov ax, 0
mov dx, 0
mov cx, 16
mov bx, 0
L1:    push cx
mov cx, 16
L2:    cmp bl, 07h
jb print
cmp bl, 10h
ja print
jmp a1


print:    mov al, 0
mov dl, bl
a2:    mov ah, 02h
int 21h
mov dl, 20h
mov ah, 02h
int 21h
inc bl
loop L2   

mov dl, 0dh
mov ah, 02h
int 21h
mov dl, 0ah
mov ah, 02h
int 21h
pop cx
loop L1

a1:    mov dl, 23h
jmp a2


ending:    mov ax, 4c00h
int 21h

code ends

end start
2016-11-29 21:28
hwd96
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2015-9-6
  得分:0 
顶我自己简称自顶
2016-11-29 21:29
hwd96
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2015-9-6
  得分:0 
assume cs:code ss:stack
stack segment
    db 16 dup('0')
stack ends

code segment
start:    mov sp, 16
        mov ax, 0
        mov dx, 0
        mov cx, 16
        mov bx, 0
L1:        push cx
        mov cx, 16
L2:        cmp bl, 07h
        jb print
        cmp bl, 10h
        ja print
        jmp a1
   
   
print:    mov al, 0
        mov dl, bl
a2:        mov ah, 02h
        int 21h
        mov dl, 20h
        mov ah, 02h
        int 21h
        inc bl
        loop L2   

        mov dl, 0dh
        mov ah, 02h
        int 21h
        mov dl, 0ah
        mov ah, 02h
        int 21h
        pop cx
        loop L1

a1:        mov dl, 23h
        jmp a2


ending:    mov ax, 4c00h
        int 21h

code ends

end start
2016-11-29 21:43
hwd96
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2015-9-6
  得分:0 
重新排下版
2016-11-29 21:44
hwd96
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2015-9-6
  得分:0 
真没人了吗。。。
2016-11-29 22:17
Valenciax
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:10
帖 子:194
专家分:1277
注 册:2016-5-15
  得分:0 
回头看
2016-11-30 06:58
Valenciax
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:10
帖 子:194
专家分:1277
注 册:2016-5-15
  得分:20 
楼主的代码里没有[离开]或[跳转]到ending:的指令
2016-11-30 13:44
hwd96
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2015-9-6
  得分:0 
谢谢版主
说的对
外层循环结束后忘记跳出了
2016-11-30 16:01
wmf2014
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:138
帖 子:1674
专家分:9378
注 册:2014-12-6
  得分:0 
这代码跳的,眼花缭乱啊!你一开始修改sp=16(十进制哦),很担心调试时栈溢出。

能编个毛线衣吗?
2016-11-30 17:56
zhulei1978
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:48
帖 子:1158
专家分:1015
注 册:2006-12-17
  得分:0 
assume cs:code ss:stack
 stack segment
 db 16 dup('0')
 stack ends

 code segment
 start:    mov sp, 16
 mov ax, 0
 mov dx, 0
 mov cx, 16
 mov bx, 0
 L1:    push cx
 mov cx, 16
 L2:    cmp bl, 07h
 jb print
 cmp bl, 10h
 ja print
 jmp a1


a1:    mov dl, 23h
  jmp a2

  

 print:    mov al, 0
 mov dl, bl
 a2:    mov ah, 02h
 int 21h
 mov dl, 20h
 mov ah, 02h
 int 21h
 inc bl
 loop L2   

 mov dl, 0dh
 mov ah, 02h
 int 21h
 mov dl, 0ah
 mov ah, 02h
 int 21h
 pop cx
 loop L1

 
 


 ending:    mov ax, 4c00h
 int 21h

 code ends

 end start

其实我就是改变社会风气,提高少女素质,刺激电影市道,提高年轻人内涵,玉树临风,风度翩翩的整蛊专家,我名叫古晶,英文名叫JingKoo!
2016-12-01 09:05







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

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