蛋疼的 实验9!!
assume cs:code,ds:data,ss:stackdata segment
db 'welcome to masm!'
db 02H,24H,71H
data ends
stack segment
dw 8 dup (0)
stack ends
code segment
start:
mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
mov sp,10H
xor bx,bx
mov ax,0b872H
mov cx,3
s3: push cx
push ax
push bx
mov es,ax
mov si,0
mov di,0
mov cx,10H
s1: mov al,ds:
mov es:,al
inc si
add di,2
loop s1
mov di,1
pop bx
mov al,ds:10H
inc bx
mov cx,10H
s2: mov es:,al
add di,2
loop s2
pop ax
add ax,0ah
pop cx
loop s3
mov ax,4c00H
int 21H
code ends
end start
这是小鱼老师的代码,但是我cmd里运行过后,跟本显示器上就不出现字啊,后来调试发现跟本就没写到内存0b872H处,
我也不知道是怎么回事,我是WIN7系统
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: ;复制3行welcome to masm!到屏幕中央
mov es:.66, al ;66为welcome开始的33列的地址(33*2)
mov es:.66, al
mov es:.66, al
inc bx
add di, 2
loop sa
mov di, 1
mov cx, 16
sc: mov byte ptr es:.66, 2h ;填充颜色
mov byte ptr es:.66, 24h
mov byte ptr es:.66, 71h
add di, 2
loop sc
mov ax, 4c00h
int 21h
codesg ends
end start 本帖最后由 3195884 于 2012-7-2 00:53 编辑
你的代码可以正常显示
页:
[1]