+ -
当前位置:首页 → 问答吧 → 汇编程序,求各位高手指导。

汇编程序,求各位高手指导。

时间:2011-04-20

来源:互联网

assume cs:code,ds:data
data segment
  db 'Welcome to masm!',0
data ends

code segment
  start: mov dh,8h
mov dl,3h
mov cl,2h
mov ax,data
mov ds,ax
mov si,0
call show_str
 
mov ax,4c00h
int 21h
show_str: mov ax,0b800h 
mov al,dh
mov dh,0
mov di,dx
mov es,ax
mov ax,cx
s: mov cl,ds:[si]
mov ch,0
jcxz ok
  mov ch,al  
mov es:[di],cx  
add di,2
add si,1
jmp short s
ok: ret
code ends
end start

作者: qwe7615946   发布时间: 2011-04-20

你这个子程序写的。。。参考下边这个吧,自己对照着看看:
show_str: mov ax,0b800h
  mov es,ax

  mov bl,cl

  add dl,dl

  mov al,160
  mov ah,0
  mul dh
  mov dh,0
  add ax,dx
  mov bp,ax

  mov ch,0
  show: mov cl,ds:[si]
  jcxz ok

  mov al,ds:[si]
  mov es:[bp],al
  mov es:[bp+1],bl
  inc si
  add bp,2
  jmp short show

  ok: ret

如果再完善一下的话,在子程序开始时候先push用到的寄存器,然后结束时候再依次pop出来。

作者: Night_Dystar   发布时间: 2011-04-20