|
主题 : : 实验九代码 [待解决] |
回复[ 2次 ]
点击[ 249次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2011-01-09 18:04 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-01-02 12:37 |
assume cs:code
data segment
;字符串
db 'welcome to masm!'
;颜色表
db 00000010b, 00100100b, 01110001b
data ends
code segment
start:
;指定数据段
mov ax, data
mov ds, ax
;指定显存段
mov ax, 0b800h
mov es, ax
;循环取出颜色表中的颜色值
mov cx, 3
color:
;得到当前颜色
mov bx, 3
sub bx, cx
mov dl, [bx + 10h]
;保存cx
mov bx, cx
;以当前颜色显示字符串
mov si, 0
mov di, 0
mov cx, 10h
string:
;复制到显存
mov al, [si]
;指定显示模式
mov es:[di], al
inc di
mov es:[di], dl
;显示下一字符
inc di
inc si
loop string
;恢复cx
mov cx, bx
loop color
;退出
mov ax, 4c00h
int 21h
code ends
end start | | |
|
|
|
|
[第1楼]
[ 回复时间:2011-01-09 18:06 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-01-02 12:37 |
assume cs:code
data segment
;字符串
db 'welcome to masm!'
;颜色表
db 00000010b, 00100100b, 01110001b
data ends
code segment
start:
;指定数据段
mov ax, data
mov ds, ax
;指定显存段
mov ax, 0b800h
mov es, ax
;循环取出颜色表中的颜色值
mov cx, 3
color:
;得到当前颜色
mov bx, 3
sub bx, cx
mov dl, [bx + 10h]
;保存cx
mov bx, cx
;以当前颜色显示字符串
mov si, 0
mov di, 0
mov cx, 10h
string:
;复制到显存
mov al, [si]
mov es:[di], al
;指定显示模式
inc di
mov es:[di], dl
;显示下一字符
inc di
inc si
loop string
;恢复cx
mov cx, bx
loop color
;退出
mov ax, 4c00h
int 21h
code ends
end start | | |
|
|
|
|
[第2楼]
[ 回复时间:2011-01-09 20:41 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-01-02 12:37 |
assume cs:code
data segment
;字符串
db 'welcome to masm!'
;颜色表
db 00000010b, 00100100b, 01110001b
data ends
code segment
start:
;指定数据段
mov ax, data
mov ds, ax
;指定显存段
mov ax, 0b800h
mov es, ax
;循环取出颜色表中的颜色值
mov cx, 3
color:
;得到当前颜色
mov bx, 3
sub bx, cx
mov dl, [bx + 10h]
;保存cx
mov bx, cx
;以当前颜色显示字符串
mov si, 0
mov cx, 10h
string:
mov al, [si]
mov es:[di], al
inc di
mov es:[di], dl
inc di
inc si
loop string
;恢复cx
mov cx, bx
loop color
;睡眠
mov cx, 0ffffh
sleep1:
mov bx, cx
mov cx, 0fffh
sleep2:
xor ax, ax
loop sleep2
mov cx, bx
loop sleep1
;退出
mov ax, 4c00h
int 21h
code ends
end start | | |
|