|
主题 : : 实验9 欢迎交流 [待解决] |
回复[ 5次 ]
点击[ 298次 ] | |
|
|
|
|
[帖 主] [ 发表时间:2012-12-28 13:18 ] | |
荣誉值:2
信誉值:2
注册日期:2011-09-18 20:07 |
assume cs:code
data segment
db 'welcome to masm!'
data ends
color segment
dw 00000010B ;绿色
dw 00100100B ;绿底红色
dw 01110001B ;白底蓝色
color ends
stack segment
dw 8 dup(0)
stack ends
code segment
start:
mov ax, color
mov ds, ax
mov ax, data
mov es, ax
mov ax, stack
mov ss, ax
mov sp, 10h
push ds:[4]
push ds:[2]
push ds:[0]
mov ax, 0B800H
mov ds, ax
mov bx, 780h ;第12行 dos默认为80×25,第12行为中间行
mov cx, 3
display:
pop dx
push cx
mov si, 40h ;每次从第40h单元开始写字符,显示在中间
mov di, 0 ;di作为welcome字符串的偏移指针
mov cx, 10h
perrow:
mov al, es:[bp][di]
mov [bx][si], al
inc si
inc di
mov [bx][si], dl
inc si
loop perrow
pop cx
add bx, 0a0h ;继续下一行
loop display
mov ax, 4c00h
int 21h
code ends
end start | | |
|
|
|
|
[第3楼] [ 回复时间:2012-12-28 14:01 ] | |
荣誉值:2
信誉值:2
注册日期:2011-09-18 20:07 |
再粘贴一下修改的代码
assume cs:code
data segment
db 'welcome to masm!'
data ends
color segment
dw 00000010B ;绿色
dw 00100100B ;绿底红色
dw 01110001B ;白底蓝色
color ends
stack segment
dw 8 dup(0)
stack ends
code segment
start:
mov ax, color
mov ds, ax
mov ax, data
mov es, ax
mov ax, stack
mov ss, ax
mov sp, 10h
push ds:[4]
push ds:[2]
push ds:[0]
mov ax, 0B800H
mov ds, ax
mov bx, 6e0h ;第11行 dos默认为80×25,第11行为起始
mov cx, 3
display:
pop dx
push cx
mov si, 40h ;每次从第40h单元开始写字符,显示在中间
mov di, 0 ;di作为welcome字符串的偏移指针
mov cx, 10h
perrow:
mov al, es:[bp][di]
mov [bx][si], al
inc si
inc di
mov [bx][si], dl
inc si
loop perrow
pop cx
add bx, 0a0h ;继续下一行
loop display
mov ax, 4c00h
int 21h
code ends
end start | | |
|