. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->转移指令的原理
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  实验9  调试成功!  [待解决] 回复[ 3次 ]   点击[ 434次 ]  
langzi82561
[帖 主]   [ 发表时间:2010-03-01 22:25 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-02-18 19:15
Assume cs:code

Data segment
    Db 'W e l c o m e   t o   m a s m ! '
    Db 2               ;Front: green
    Db 36              ;Back: green, front: red
    Db 113             ;Back: white, front: blue
Data ends

Code segment
    Start:
         Mov ax,data
         Mov es,ax

         Mov ax,0b878h
         Mov ds,ax

         Mov bx, 0                ;line
         Mov di, 0                ;color

         Mov cx,3
        S:
             Mov bp,cx
             Mov si,0              ;column
             Mov cx,16
        S0:
             Mov al,es:[si]
             mov ah,es:[32+di]
             Mov ds:64[bx][si],ax
             Add si,2
             Loop s0
        
             Add bx,0A0h
             Inc di
             Mov cx,bp
             Loop s
        
             Mov ax,4c00h
             Int 21h
        
Code ends
End start

调试了一个多小时,也不知算法合理不?请各位大虾多多指教!
vsbat
[第1楼]   [ 回复时间:2010-03-03 18:09 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-02-27 23:38
不错
!
springaccount
[第2楼]   [ 回复时间:2010-03-30 09:26 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-04-15 23:24
用到两个cx 不用栈来存储短暂数据?
Assume cs:code 

Data segment 
    Db 'W e l c o m e   t o   m a s m ! ' 
    Db 2               ;Front: green 
    Db 36              ;Back: green, front: red 
    Db 113             ;Back: white, front: blue 
Data ends 

Code segment 
    Start: 
         Mov ax,data 
         Mov es,ax 

         Mov ax,0b878h 
         Mov ds,ax 

         Mov bx, 0                ;line 
         Mov di, 0                ;color 

         Mov cx,3 
        S: 
             Mov bp,cx 
             Mov si,0              ;column 
             Mov cx,16 
        S0: 
             Mov al,es:[si] 
             mov ah,es:[32+di] 
             Mov ds:64[bx][si],ax 
             Add si,2 
             Loop s0 
         
             Add bx,0A0h 
             Inc di 
             Mov cx,bp 
             Loop s 
         
             Mov ax,4c00h 
             Int 21h 
         
Code ends 
End start 
这样貌似有点问题???
langzi82561
[第3楼]   [ 回复时间:2010-04-12 20:12 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-02-18 19:15
什么问题????
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved