. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->内中断
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  实验 12 完成 程序没有优化 显示部分直接调用以前的子程序  发出来大家参考一下!  [待解决] 回复[ 2次 ]   点击[ 427次 ]  
donggs02
[帖 主]   [ 发表时间:2010-12-11 02:44 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-04-08 17:43
assume cs:code
code segment
start:        mov ax,cs
        mov ds,ax
        mov si,offset do0
        mov ax,0
        mov es,ax
        mov di,200H
        mov cx,offset do0end-offset do0
        cld
        rep movsb
        mov word ptr es:[0*4],200H
        mov word ptr es:[0*4+2],0
        mov ax,4c00H
        int 21H
do0:        jmp short do0start
        db "oVerflow!",0
do0start: mov ax,cs
        mov ds,ax
        mov dh,12
        mov dl,36
        mov cl,12
        mov si,202H
        call show_str
        mov ax,4c00H
        int 21H
show_str: pushf
        push dx
        push cx
        push ax
        push si
        push es
        push bx
        mov ax,0b800H
        mov es,ax
        mov al,160
        dec dh
        mul dh
        sub dh,dh
        dec dl
        add dl,dl
        add ax,dx
        mov bx,ax
        mov dl,cl
s:        mov ch,0
        mov cl,[si]
        jcxz s1
        mov ch,dl
        mov es:[bx],cx
        inc si
        add bx,2
        jmp short s
s1:        pop bx
        pop es
        pop si
        pop ax
        pop cx
        pop dx
        popf
        ret
do0end: nop
code ends
end start
masmaster
[第1楼]   [ 回复时间:2010-12-12 19:40 ]   [引用]   [回复]   [ top ] 
荣誉值:268
信誉值:12
注册日期:2010-06-18 22:19
楼主化简为繁啦。
masmaster
[第2楼]   [ 回复时间:2010-12-12 19:41 ]   [引用]   [回复]   [ top ] 
荣誉值:268
信誉值:12
注册日期:2010-06-18 22:19
如果从通用性来说, 楼主的做法是正确的~~
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved