. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->CALL和RET指令
主题 : :  实验10 编写子程序编译通过,结果让我失望了!!  [待解决] 回复[ 7次 ]   点击[ 538次 ]  
thedaydreamwang
[帖 主] [ 发表时间:2010-01-21 01:35 ] 
荣誉值:0
信誉值:0
注册日期:2009-10-07 14:18
assume cs:code
data segment
     db 'welcome to masm!',0
data ends
 code segment
       start :  mov dh,8
                  mov dl,3
                   mov cl,2
                   mov ax,data
                   mov ds,ax
                   mov si,0
                   call show_str
                   mov ax,4c00h
                    int 21h
           show_str:     dec dh
                             dec dl
                              mov ax,0
                              mov al,dh
                              mov bx,0
                              mov bl,10
                              mul bl
                              mov bx,ax
                               mov ax,0b800h
                               add ax,bx
                                mov es,ax
                               mov ax,0
                               mov  al,dl
                               add al,dl
                               mov bx,ax
                               mov di,0
                    ok:       mov  ch,cl 
                                mov cl,[si]
                                push cx
                                 mov ch,0
                                  jcxz return
                                  pop es:[bx+di]
                                  add di,2
                                  inc si
                                  jmp short ok
                    return:     ret
  code ends
  end start
thedaydreamwang
[第1楼] [ 回复时间:2010-01-21 01:36 ] 
荣誉值:0
信誉值:0
注册日期:2009-10-07 14:18
发错了这个是修改过的
assume cs:code
data segment
     db 'welcome to masm!',0
data ends
 code segment
       start :  mov dh,8
                  mov dl,3
                   mov cl,2
                   mov ax,data
                   mov ds,ax
                   mov si,0
                   call show_str
                   mov ax,4c00h
                    int 21h
           show_str:     dec dh
                             dec dl
                              mov ax,0
                              mov al,dh
                              mov bx,0
                              mov bl,10
                              mul bl
                              mov bx,ax
                               mov ax,0b800h
                               add ax,bx
                                mov es,ax
                               mov ax,0
                               mov  al,dl
                               add al,dl
                               mov bx,ax
                               mov di,0
                               mov  ch,cl 
                  ok:        mov cl,[si]
                                push cx
                                 mov ch,0
                                  jcxz return
                                  pop es:[bx+di]
                                  add di,2
                                  inc si
                                  jmp short ok
                    return:     ret
  code ends
  end start
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved