+ -
当前位置:首页 → 问答吧 → 王爽,汇编语言,实验10的一个问题,显示乱码

王爽,汇编语言,实验10的一个问题,显示乱码

时间:2011-08-08

来源:互联网

这个题目就是写一个子程序,功能是在指定位置,用指定的颜色显示一个用0结束的字符串

  参数:dh:行号,DL:列号,CL:颜色,DS:SI指向字符串首位

  现在要在屏幕8行3列,用绿色显示DTAT段中的字符串,但我程序运行下来却显示出乱码,代码如下,希望各位高手帮助
assume cs:code,ss:stack

data segment

  db 'Welcome to masm!',0

data ends

stack segment

  dw 0,0,0,0,0,0,0,0

stack ends

code segment

  s: mov dh,8

  mov dl,3

  mov cl,2

  mov ax,data

  mov ds,ax

  mov ax,stack

  mov ss,ax

  mov sp,16

  mov si,0

  call show_str
   
  mov ax,4c00h

  int 21h

show_str:

  push si

  mov ax,0b800h

  mov es,ax
   
  sub dh,1

  mov al,160

  mul dh

  mov bx,ax
   
  mov dh,0

  mov di,dx
   
  p: push cx

  mov cl,0

  mov ch,ds:[si]

  jcxz ok

  pop cx

  mov al,ds:[si]

  mov es:[bx+di],al

  inc di

  mov es:[bx+di],cl
  inc di

  inc si

  jmp p

  ok:pop cx

  pop si
  ret

code ends

end s

作者: AllenlJiang   发布时间: 2011-08-08

楼主,你为什么不用debug一步步地调试呢?程序其实并不复杂的。自己调试出来印象才会更深刻。

作者: haojiahuo50401   发布时间: 2011-08-08

热门下载

更多