汇编问题,为什么这题编译通不过?

来源:百度知道 编辑:UC知道 时间:2024/06/06 16:41:07
data segment
buff1 db 4fh,0b6h,7ch,34h,56h,1fh
buff2 db 13h,24h,57h,68h,0fdh,9ah
sum db 6 dup(?)
cont db 3
data ends
code segment
assume cs:code,ds:data
start:mov ax,data
mov ds,ax
mov si,offset buff1
mov di,offset buff2
mov bx,offset sum
mov cl,cont
mov ch,0
clc
goon:mov ax,[si]
adc ax,[di]
inc si
inc si
inc di
inc di
mov [bx],ax
inc bx
inc bx
loop goon
mov ax,4ch
int 21h
code ends
end start
这题我换了个文件名编译通过了,连接也没问题,执行出错,说
Commad Prompt - t2
NTVDM CPU 遇到无效的指令。
CS:000c IP:0d06 OP:ff ff 00 00 00选择“关闭”终止应用程序
还有奇怪的是我文件名一长就调用不出来,像我文件名写成masm123456789,就调用不了,这是为什么?是不是要改环境变量?高手指导下,谢谢!~

修改处见注释

data segment
buff1 db 4fh,0b6h,7ch,34h,56h,1fh
buff2 db 13h,24h,57h,68h,0fdh,9ah
sum db 6 dup(?)
cont db 3
data ends
code segment
assume cs:code,ds:data
start:mov ax,data
mov ds,ax
mov si,offset buff1
mov di,offset buff2
mov bx,offset sum
mov cl,cont
mov ch,0
clc
goon:mov ax,[si] ;mov ax ,word ptr [si]
adc ax,[di] ;adc ax,word ptr [di]
inc si
inc si
inc di
inc di
mov [bx],ax ;mov word ptr [bx],ax
inc bx
inc bx
loop goon
mov ax,4ch
int 21h
code ends
end start