作业帮 > 综合 > 作业

汇编总是提醒:error a2008::in instruction

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/06/24 22:06:04
汇编总是提醒:error a2008::in instruction
assume cs:code,ds:data,ss:stack
data segment
db 'welcome to masm!'
db02h,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:[si]
mov es:[di],al
inc si
add di,2
loop s1
mov di,1
pop bx
mov al,ds:10h[bx]
inc bx
mov cx,10h
s2:mov es:[di],al
add di,2
loop s2
pop ax
add ax,0ah
pop cx
loop s3
mov 4c00h
int 21h
code ends
end start
汇编总是提醒:error a2008::in instruction
两处错误已经消除,正确程序如下:
assume cs:code,ds:data,ss:stack
data 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:[si]
mov es:[di],al
inc si
add di,2
loop s1
mov di,1
pop bx
mov al,ds:10h[bx]
inc bx
mov cx,10h
s2:mov es:[di],al
add di,2
loop s2
pop ax
add ax,0ah
pop cx
loop s3
mov ax, 4c00h
int 21h
code ends
end start
本程序,显示三行彩色文字.
再问: 我只找到了mov ax,4c00h这个错误,请问还有一个错误在什么地方呢?
再答: data segment db 'welcome to masm!' db02h,24h,71h   ;DB 和 20H,之间,应该有空格。 data ends
再问: 哦哦,那个是拷贝的时候弄错的,可是程序运行不起来呀,就闪烁了一下什么都没有了,程序应该没有问题的呀?
再答: 就闪烁了一下什么都没有了,。。。 ---- 呵呵,你是用鼠标操作的吧? 别用鼠标,用键盘操作,试试看吧。
再问: 是用键盘的呀,用的cmd的DOS窗口呀,它闪烁了一下,汉字都变成了问号,然后。。。什么都没有了。。。
再答: 是应该用的cmd的DOS窗口。那会有汉字?我的程序名为 M2.EXE,执行后,画面如下:
再问: 同样的程序,我的为mm.exe,执行前窗口为:
执行后变成:中间闪烁了一下,难道因为我的是win7的系统吗?
再答: 看起来,应该是WIN7的原因。我的手头的几台机器,装的都是XP,运行本程序时,都是好用的。