|
主题 : : 实验九:代码少许,注释4行 [待解决] |
回复[ 2次 ]
点击[ 210次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2012-07-01 19:19 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2012-06-30 12:06 |
assume cs: codesg;, ds:datasg
datasg segment
db 'welcome to masm!'
datasg ends
codesg segment
start: mov ax, datasg
mov ds, ax
mov ax, 0b800h
mov es, ax
mov bx, 0
mov si, bx
mov di, bx
mov bp, 1760 ;0b800:1760 第12行的偏移量
mov cx, 16
sa: mov al, ds:[bx] ;复制3行welcome to masm到屏幕上
mov es:[bp].66[di], al ;66为welcome开始的33列的地址(33*2)
mov es:[bp+160].66[di], al
mov es:[bp+320].66[di], al
inc bx
add di, 2
loop sa
mov di, 0
mov cx, 16
sc: mov byte ptr es:[bp].66[di + 1], 2h ;填充颜色
mov byte ptr es:[bp + 160].66[di + 1], 24h
mov byte ptr es:[bp + 320].66[di + 1], 71h
add di, 2
loop sc
mov ax, 4c00h
int 21h
codesg ends
end start | | |
|
|
|
|
[第1楼]
[ 回复时间:2012-07-01 23:30 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2012-06-30 12:06 |
assume cs: codesg;, ds:datasg
datasg segment
db 'welcome to masm!'
datasg ends
codesg segment
start: mov ax, datasg
mov ds, ax
mov ax, 0b800h
mov es, ax
mov bx, 0
mov si, bx
mov di, bx
mov bp, 1760 ;0b800:1760 第12行的偏移量
mov cx, 16
sa: mov al, ds:[bx] ;复制3行welcome to masm到屏幕上
mov es:[bp].66[di], al ;66为welcome开始的33列的地址(33*2)
mov es:[bp+160].66[di], al
mov es:[bp+320].66[di], al
inc bx
add di, 2
loop sa
mov di, 1
mov cx, 16
sc: mov byte ptr es:[bp].66[di], 2h ;填充颜色
mov byte ptr es:[bp + 160].66[di], 24h
mov byte ptr es:[bp + 320].66[di], 71h
add di, 2
loop sc
mov ax, 4c00h
int 21h
codesg ends
end start | | |
|
|
|
|
[第2楼]
[ 回复时间:2012-07-02 07:16 ]
[引用]
[回复]
[ top ] | |
荣誉值:30
信誉值:4
注册日期:2012-01-01 16:36 |
|
|