而且他为什么会莫名其妙的打印字符啊? 郁闷发一个代码吧
data segment
int_9 dw 0,0
data ends
itrr segment
assume cs:itrr,ds:data
i_start: mov ax,seg data
mov ds,ax
pushf
call dword ptr int_9
iret
;change to below code . the word will no occur
;sti
;jmp $
itrr ends
CODES SEGMENT
ASSUME CS:CODES,DS:DATA
START:
mov ax,seg data
mov ds,ax
mov ax,0H ;--- initialization segment register
mov es,ax
;------------------------
mov dx,es:[4*9]
mov ds:[int_9],dx
mov dx,es:[4*9+2]
mov ds:[int_9+2],dx
;
mov word ptr es:[4*9],offset i_start
mov word ptr es:[4*9+2],seg i_start
mov ah,4cH
int 21H
CODES ENDS
end start |