主题:帮忙看一下这个程式有什么问题
dosseg
.model medium
.stack 100h
public exename
.code
buf db 256 dup('$')
exename proc far
push bp
start: mov si,2ch
lodsw
mov ds,ax
mov si,0
push cs ;exe格式需要这两句
pop es ;com格式 cs==ds==es 可以不要
mov di, offset buf
cld
loc_1: lodsb
cmp al,0 ;0
jnz loc_1
lodsb
cmp al,0 ;0
jnz loc_1
lodsb
cmp al,1 ;1
jnz loc_1
lodsb ;0
loc_2:lodsb ;文件名开始
cmp al,0
jz disp_1
stosb
jmp loc_2
disp_1:push cs
pop ds
mov dx, offset buf
mov ah,9
int 21h ;显示文件名
pop bp
ret 256
exename endp
end
目的是要返回一个字符串,就是.EXE的文件名
.model medium
.stack 100h
public exename
.code
buf db 256 dup('$')
exename proc far
push bp
start: mov si,2ch
lodsw
mov ds,ax
mov si,0
push cs ;exe格式需要这两句
pop es ;com格式 cs==ds==es 可以不要
mov di, offset buf
cld
loc_1: lodsb
cmp al,0 ;0
jnz loc_1
lodsb
cmp al,0 ;0
jnz loc_1
lodsb
cmp al,1 ;1
jnz loc_1
lodsb ;0
loc_2:lodsb ;文件名开始
cmp al,0
jz disp_1
stosb
jmp loc_2
disp_1:push cs
pop ds
mov dx, offset buf
mov ah,9
int 21h ;显示文件名
pop bp
ret 256
exename endp
end
目的是要返回一个字符串,就是.EXE的文件名