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

我的博客

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

[2009-07-22 21:41] 实验10.1

assume cs:code,ss:stack 
data segment 
  db 'welcome to masm!',0 
data ends 
stack segment 
  dw 8 dup (0) 
stack ends 
code segment 
start: 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 ax   ; 寄存器入栈。
push dx
push si
mov di,0            ;ES段初始
mov bx,0            
mov ax,0b800h
mov es,ax
mov al,160          ;至8行
mul dh
mov bx,ax           ;送入BX
mov dh,0
add bx,dx           ;至3列
add bx,dx
s:push cx           ;存CL值
mov ch,0
mov cl,ds:[si]      ;判断是否为0
jcxz ok
pop cx              ;弹出,以用到CL值即02H
mov al,ds:[si]      ;颜色属性送高位
mov ah,cl
mov es:[bx+di],ax   ;第一字母及属性送8行3列
inc si
add di,2
jmp short s
ok:pop cx         ;jcxz过来后,莫忘POP CX
pop si
pop dx
pop ax
ret
code ends 
end start
评论次数(1)  |  浏览次数(673)  |  类型(汇编作业) |  收藏此文  | 

[  游客   发表于  2009-07-23 11:17  ]

没问题。

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