. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->转移指令的原理
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  实验九,怎么实现换行?三种颜色都输在一行了~,怎么回事啊~我理解有误吗?麻烦给看看哈  [待解决] 回复[ 1次 ]   点击[ 207次 ]  
aotianying
[帖 主]   [ 发表时间:2010-10-16 21:26 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-10-04 21:33
assume cs:code


   data segment


      db 'welcome to masm!'

   data ends

code segment

  start :                         
           mov ax,data
           mov ds,ax


           mov ax,0b800h
           mov es,ax

           mov si,0
           mov di,0
           mov ah,02h ;green color
           mov cx,16

      s:   mov al,[si]
           mov es:[di],ax
           add di,2
           inc si
           loop s
           mov dl,0ah   ;这三行输出换行
           mov ah,02,
           int 21h

           mov si,0
           mov di,0
           mov ax,0b801h  ;这样应该指向下一行啊~,怎么回事输出时三种颜色都在一行呢,我改了段地址了啊
           mov es,ax
           mov ah ,24h

           mov cx,16
       so:
           mov al,[si]
           mov es:[di],ax
           add di,2
           inc si
           loop  so

         
           mov dl,0ah  ;输出换行
           mov ah,02,
           int 21h
      

             mov si,0
             mov di,0
             mov ax,0b802h ; 同上。也不能实现换行
             mov es,ax
             mov ah,71h
             mov cx,16

         sl:
              mov al,[si]
              mov es:[di],ax
              add di,2
              inc si
              loop sl

           mov dl,0ah  ;输出换行
           mov ah,02,
           int 21h


              mov ax,4c00h
              int 21h
                    
code ends
end start
masmaster
[第1楼]   [ 回复时间:2010-10-16 21:58 ]   [引用]   [回复]   [ top ] 
荣誉值:268
信誉值:12
注册日期:2010-06-18 22:19
参阅以下此贴: 里面有详细注解
http://www.asmedu.net/bbs/pasteinfo.jsp?part=1&level=book&kind=1010&qkSg=3&qID=52200&readSg=1
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved