汇编网首页登录博客注册
samdecarta的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
好友圈
文章收藏
友情链接

[  游客   发表于  2008-08-20 14:34  ]

俺学到第10章了。现把第九章做的一个题目贴出来,看看哪个高手能给我指点指点。(本人老觉得做得不是很好!)

===========================================
assume cs:code,ds:data,ss:stack

data segment
        db 'welcome to masm!'        ; data        
        dw 05A0H,0780H,0960H,0FF02h,0FFC2h,0FF17h ; row for each,        green, red &gree, blue & white                     
data ends

stack segment
        dw 0,0,0,0,0,0,0,0
stack  ends        


code segment
start: 
      mov ax,stack
      mov ss,ax
      mov sp,16       ; ss->statck
      mov ax,data
      mov ds,ax       ; ds --> data 
      mov ax,0B800H   
      mov es,ax       ; ss---> memory for screen, +  bp
      
      mov di,16
      mov cx,3     
      mov ah,0
      mov si,22        ; for each 
   s:     
      push cx 
      mov cx,16
      mov bx,0 
      mov ax,[bx + di ] ; get each line
      mov bp,ax
      add bp,64
           
   s2:mov al,[bx]     ; get each char for data segment --> al, ds:bx 
                
      mov es:[ bp ],al     ; save into memory buff, si:bp            
      mov al,ds:[ si ]
      
      inc bp
      mov es:[bp],al
      
      inc bx
      inc bp      
      loop s2
      
      add si,2 
      add di,2
      pop cx
      loop s  ;  for 3  rows            

      mov ax,4c00h
      int 21h
      
code ends
end start

页码数(1):  1 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码