. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->CALL和RET指令
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  实验10 显示字符串,编译时总是提示出错  [已解决] 回复[ 2次 ]   点击[ 279次 ]  
rookie
[帖 主]   [ 发表时间:2016-07-01 21:49 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:0
注册日期:2016-07-01 21:34
assume cs:code
 data segment
   db 'Welcome to masm!',0
 data ends

 code segment
 start:mov dh,8H            ;(dh)=行号
       mov dl,3H            ;(dl)=列号
       mov cl,2H            ;(cl)=属性值
       mov ax,data
       mov ds,ax
       mov si,0H
       call show_str
       
       mov ax,4c00H
       int 21H
 show_str:push es
          push bp
          mov bp,0H
          sub dh            ;字符串输出的段地址用乘法得出,所以行号减1
          mov ax,0H
          mov al,0A0H       ;每行160个字节,所以乘数是0A0H
          mul dh            ;计算出要显示的字符串的行的段地址
          mov es,ax         
          sub dl            
          mov al,2H
          mul dl            ;计算第一个字符串显示位置的偏移地址
          mov bp,ax
        s:mov ch,0H
          mov ch,ds:[si]    
          mov bl,0H
          mov bl,cl
          mov cl,0H
          jcxz s0
          mov cl,bl
          mov es:[bp+si],ch
          inc si
          mov es:[bp+si],cl
          inc bp
          jmp s
       s0:mov si,0H
          mov bl,0H
          pop bp
          pop es
          ret
 code ends
 end start

这是我写的代码,但是在编译时,总是提示20和25行少了逗号,求指导
rookie
[第1楼]   [ 回复时间:2016-07-01 21:51 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:0
注册日期:2016-07-01 21:34
我晕,在记事本里的输入还是对齐了的,复制粘贴之后就变歪歪扭扭了。。。
rookie
[第2楼]   [ 回复时间:2016-07-02 16:10 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:0
注册日期:2016-07-01 21:34
此贴由 贴主 于 [ 2016-07-02 16:10 ] 结贴。 结贴原因:问题已解决
得分情况:
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved