;对分查表法 data segment s1 db 00,01,02,03,04,05,06,07,08,09 db 10,11,12,13,14,15,16,17,18,19 db 20,21,22,23,24,25,26,27,28,29 count equ $-s1 s2 db ? data ends stack segment stack s3 db 20 dup(?) stack ends code segment assume cs:code,ds:data,es:data,ss:stack zz1 proc far start:mov ax,data mov ds,ax mov es,ax lea si,s1 mov cx,count ;** mov ax,si add ax,cx mov di,ax mov al,11 mov dl,1 l1: mov bx,si add bx,di shr bx,1 cmp al,[bx] je j1 pushf cmp bx,si je j2 popf jl j3 mov si,bx jmp j4 j3: mov di,bx j4: inc dl jmp l1 j2: mov dl,0ffh j1: mov s2,dl ret zz1 endp code ends end start