马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 linha0 于 2011-7-2 21:31 编辑 assume cs:code,ds:data
data segment
db 'welcome to masm!' ;共16个ASCII码字符,16个字节
data ends
rgb segment
db 00100100b;3、绿底红字
db 00000010b;0、黑底绿字
db 01000010b;1、红底绿字
db 01110001b;2、白底蓝字
db 11000010b;4、红底闪烁绿字
db 01001010b;5、红底高亮绿字
db 00000111b;6、黑底白字
db 32 dup (0) ;存放CX,用于多重循环
rgb ends
code segment
start:
mov ax,data
mov ds,ax
mov ax,rgb
mov ss,ax
mov sp,30h
mov ax,0b800h ;显示缓冲区的段地址
mov es,ax
;以上初始化各段
mov bp,0
mov di,6e0h ;6e0h为中间行:(25-3)/2*160,A0=160
mov cx,3
s: push cx
mov ah,[bp] ;取色
mov bx,0
mov si,0
mov cx,16
s0: mov al,[si] ;取字
mov es:40h[di][bx],ax ;显示字符.40h为中间列(160-3)/2
inc si
add bx,2
loop s0
inc bp
add di,0a0h
pop cx
loop s
mov ax,4c00h
int 21h
code ends
end start
|