| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1149 人关注过本帖
标题:请教,call ret 不能返回到call的下一句,帮看一下小程序
只看楼主 加入收藏
fqnyuxaiff
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-6-16
收藏
 问题点数:0 回复次数:1 
请教,call ret 不能返回到call的下一句,帮看一下小程序
assume cs:code,ds:data,ss:stack

data segment
    db 10h dup(0)
data ends
stack segment
    db 20h dup(0)
stack ends

code segment
start:    mov ax,0ffffh
    mov dx,000fh
    mov cx,10
    mov bx,data
    mov ds,bx
    mov bx,stack
    mov ss,bx
    mov sp,20h
    mov si,0

    call far ptr dtoc ;算出十进制数
    

call1:    mov dh,8   ;行  
    mov dl,3   ;列
    mov cl,2   ;颜色
    mov si,0   ;串首址
    call far ptr show_str     ;显示

    mov ax,4c00h
    int 21h

dtoc:    ;把数字计算为十进制数存于内存    
    push di
    push bp
    
dtoc_s1:
    push cx
    call far ptr divdw       ;双字不溢出除法
    add cl,30h
    mov [si],cl
    mov cx,ax
    jcxz dtoc_ok
    inc si
    pop cx
    jmp short dtoc_s1    
dtoc_ok:    
    push ax            ;排序
    mov ax,si
    mov bx,2
    div bx
    mov cx,ax
    mov di,0
dtoc_s2:
    
    mov al,[di]
    xchg al,[si]
    xchg al,[di]
    inc di
    dec si
    loop dtoc_s2
    pop ax

    pop bp
    pop di    

    ;jmp far ptr call1;这个返回正常
    retf;这个返回错误,为什么?

divdw:            ;双字不溢出除法
    push si
    push di
    
    mov si,ax
    mov ax,dx
    sub dx,dx
    div cx
    mov di,ax
    mov ax,si
    div cx
    mov cx,dx
    mov dx,di
    
    pop di
    pop si

    
    retf
    
    
show_str:             ;显示串,以0结尾
    mov ax,0b800h
    mov es,ax
    mov al,0a0h
    dec dh
    mul dh
    mov bx,ax
    mov al,2h
    mul dl
    add ax,bx
    mov di,ax
    mov al,cl
showstr_s1:    
    mov cl,[si]
    mov ch,0
    jcxz showstr_ok
    mov ch,al
    mov es:[di][bx],cx
    inc si
    add bx,2
    jmp short showstr_s1
showstr_ok:    
    retf

code ends
end start
搜索更多相关主题的帖子: call ret 
2008-06-25 11:36
woainiql10
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2008-4-9
收藏
得分:0 
retf;这个返回错误,为什么?
:用ret替换看看

No difficulty or weakness cannot be conquered!
2008-07-02 12:23
快速回复:请教,call ret 不能返回到call的下一句,帮看一下小程序
数据加载中...
 
   



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

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