大家看看这段汇编程序那里出错了?
难道数据不可以以B开头》???;在屏幕中间分别显示绿色,绿底红色、白底蓝色,的字符串,'welcometomasm!'assumecs:codesgdatasegment...
难道数据不可以以B开头》???
;在屏幕中间分别显示绿色,绿底红色、白底蓝色,的字符串,'welcome to masm!'assume cs:codesg
data segment
db 77h,6ch,63h,6fh,6dh,65h,20h,74h,6fh,20h,6dh,61h,20h,73h,6dh
data ends
codesg segment
start: mov ax,b800h
mov es,ax ;es段存放输出的数据
mov ax,data
mov ds,ax ;ds段存放定义的数据
mov bx,0
mov si,0
mov cx,15
s: mov al,[bx]
mov es:[23h+si],al
inc si
mov byte ptr es:[23h+si],02h
inc di
inc si
loop s
mov cx,15 mov bx,0
s1: mov al,[bx]
mov es:[23h+si],al
inc si
mov byte ptr es:[23h+si],28h
inc di
inc si
loop s
mov cx,15 mov bx,0
s2: mov al,[bx]
mov es:[23h+si],al
inc si
mov byte ptr es:[23h+si],B1h
inc di
inc si
loop s
mov ax,4c00h
int 21h
codesg ends
end start 展开
;在屏幕中间分别显示绿色,绿底红色、白底蓝色,的字符串,'welcome to masm!'assume cs:codesg
data segment
db 77h,6ch,63h,6fh,6dh,65h,20h,74h,6fh,20h,6dh,61h,20h,73h,6dh
data ends
codesg segment
start: mov ax,b800h
mov es,ax ;es段存放输出的数据
mov ax,data
mov ds,ax ;ds段存放定义的数据
mov bx,0
mov si,0
mov cx,15
s: mov al,[bx]
mov es:[23h+si],al
inc si
mov byte ptr es:[23h+si],02h
inc di
inc si
loop s
mov cx,15 mov bx,0
s1: mov al,[bx]
mov es:[23h+si],al
inc si
mov byte ptr es:[23h+si],28h
inc di
inc si
loop s
mov cx,15 mov bx,0
s2: mov al,[bx]
mov es:[23h+si],al
inc si
mov byte ptr es:[23h+si],B1h
inc di
inc si
loop s
mov ax,4c00h
int 21h
codesg ends
end start 展开
展开全部
你的文件是:9.asm
错误提示: 9.asm(7):error A2009:symbol not defined:B800H 这里是未定义的符号,B800H明明是一个数字为什么会提示符号错误?说明我们写错了,导致编译器以为它是符号.应该写成:0B800H.
其实仔细看看就好了,想学汇编就必须要细心再细心.汇编的语法最简单,但是想要用来编程却显得结构非常复杂.调试汇编代码,找错有很多技巧的,比如:常用的 int 3 中断.
错误提示: 9.asm(7):error A2009:symbol not defined:B800H 这里是未定义的符号,B800H明明是一个数字为什么会提示符号错误?说明我们写错了,导致编译器以为它是符号.应该写成:0B800H.
其实仔细看看就好了,想学汇编就必须要细心再细心.汇编的语法最简单,但是想要用来编程却显得结构非常复杂.调试汇编代码,找错有很多技巧的,比如:常用的 int 3 中断.
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询