![]() |
#2
zklhp2012-08-10 20:43
|
白底蓝色的字符串'Welcome to masm!'
程序代码如下 (参考答案):

assume cs:code, ds:data, es:table
data segment
db 'Welcome to masm!'
data ends
table segment
dw 4000 dup(0)
table ends
code segment
start : mov ax, data
mov ds, ax
mov ax, 0b800h
mov es, ax
mov bx, 0
mov si, 0
mov cx, 16
s1: mov ax, [bx]
mov es:[bx + 720h][si], ax
mov al, 2
mov es:[bx + 721h][si], al
inc bx
inc si
;mov ax, 9
;int 21h
loop s1
mov bx, 0
mov cx, 16
mov si, 160
s2: mov ax, [bx]
mov es:[bx + 720h][si], ax
mov al, 36
mov es:[bx + 721h][si], al
inc bx
inc si
loop s2
mov bx, 0
mov cx, 16
mov si, 320
s3: mov ax, [bx]
mov es:[bx + 720h][si], ax
mov al, 113
mov es:[bx + 721h][si], al
inc bx
inc si
loop s3
mov ax, 4c00h
int 21h
code ends
end start
然后 我让他在cmd中用masm编译后能运行得到结果data segment
db 'Welcome to masm!'
data ends
table segment
dw 4000 dup(0)
table ends
code segment
start : mov ax, data
mov ds, ax
mov ax, 0b800h
mov es, ax
mov bx, 0
mov si, 0
mov cx, 16
s1: mov ax, [bx]
mov es:[bx + 720h][si], ax
mov al, 2
mov es:[bx + 721h][si], al
inc bx
inc si
;mov ax, 9
;int 21h
loop s1
mov bx, 0
mov cx, 16
mov si, 160
s2: mov ax, [bx]
mov es:[bx + 720h][si], ax
mov al, 36
mov es:[bx + 721h][si], al
inc bx
inc si
loop s2
mov bx, 0
mov cx, 16
mov si, 320
s3: mov ax, [bx]
mov es:[bx + 720h][si], ax
mov al, 113
mov es:[bx + 721h][si], al
inc bx
inc si
loop s3
mov ax, 4c00h
int 21h
code ends
end start
只有本站会员才能查看附件,请 登录
但是在一样的程序在MASMPlus 下编译后有错误?
ml.exe /c /coff /nologo /Fo"D4.obj" "D:\masm\11\D4.asm"
Assembling: D:\masm\11\D4.asm
D:\masm\11\D4.asm(13) : error A2004: symbol type conflict
D:\masm\11\D4.asm(56) : warning A4023: with /coff switch, leading underscore required for start address : start
我以为是mov es:[bx + 720h][si], al那个类型不匹配
就改成mov byte ptr es:[bx + 720h][si], al但是还是提示同样的错误 这个怎么弄?
求Z版 和 各位大牛帮解惑。
只有本站会员才能查看附件,请 登录