assume cs:code
code segment
start:mov ax,cs
mov ds,ax
mov si,offset setscreen
mov ax,0
mov es,ax
mov di,200h
mov cx,offset sub_end-offset setscreen
cld
rep movsb
mov word ptr es:[7ch*4],200h
mov word ptr es:[7ch*4+2],0
mov ah,0
int 7ch ;这里怎么调用多只跳到jmp short set不往下执行,用主程序调用也是一样.
mov ax,4c00h
int 21h
setscreen:jmp short set
table dw sub1
set:push bx
cmp ah,3
ja sret
mov bl,ah
mov bh,0
add bx,bx
call word ptr table[bx]
sret:pop bx
iret
sub1:push ax
push bx
push cx
push es
mov bx,0b800h
mov es,bx
mov bx,0
mov cx,2000h
sub1s:
mov byte ptr es:[bx],' '
add bx,2
loop sub1s
pop es
pop cx
pop bx
pop ax
ret
sub_end:nop
code ends
end start |