抓取屏幕內(nèi)容(字符模式)

字號(hào):

輸入格式:
     先輸入抓取屏幕的左上角行列號(hào),再輸入抓取屏幕的右下角行列號(hào).輸入第3行要輸入03
       0=<行號(hào)<=24,0=<列號(hào)<=79
    DATA SEGMENT
    num db ?,?,?,?
    nm1 db ?
    nm2 db ?
    message1 db 'row1:','$'
    buf1 db 3,?
    data1 db ?
    data2 db ?
    message2 db ' col1:','$'
    buf2 db 3,?
    data3 db ?
    data4 db ?
    message3 db ' row2:','$'
    buf3 db 3,?
    data5 db ?
    data6 db ?
    message4 db ' col2:','$'
    buf4 db 3,?
    data7 db ?
    data8 db ?
    shuju db 2000 dup(?)
    DATA ENDS
    CODE SEGMENT
     ASSUME CS:CODE,DS:DATA
    START:
       MOV AX,DATA
       MOV DS,AX
       lea dx,message1
        mov ah,9
        int 21h
        MOV DX,OFFSET buf1
        MOV AH,0AH
        INT 21H
       mov cx,0
       mov al,data1
       sub al,30h
       mov bl,10
       mul bl
       add cx,ax
       mov al,data2
        sub al,30h
        add cx,ax
        mov num,cl
     mov dl,13
        mov ah,2
        int 21h
        mov dl,10
        mov ah,2
        int 21h
     lea dx,message2
        mov ah,9
        int 21h
        MOV DX,OFFSET buf2
        MOV AH,0AH
        INT 21H
        mov cx,0
        mov al,data3
        sub al,30h
        mul bl
        add cx,ax
        mov al,data4
        sub al,30h
        add cx,ax
        mov num+1,cl
     mov dl,13
       mov ah,2
       int 21h
       mov dl,10
        mov ah,2
        int 21h
        lea dx,message3
        mov ah,9
        int 21h
        MOV DX,OFFSET buf3
        MOV AH,0AH
        INT 21H
        mov cx,0
        mov al,data5
        sub al,30h
        mul bl
        add cx,ax
        mov al,data6
        sub al,30h
        add cx,ax
        mov num+2,cl
        mov dl,13
        mov ah,2
        int 21h
        mov dl,10
       mov ah,2
       int 21h
       lea dx,message4
       mov ah,9
       int 21h
       MOV DX,OFFSET buf4
       MOV AH,0AH
       INT 21H
        mov cx,0
        mov al,data7
        sub al,30h
        mul bl
        add cx,ax
        mov al,data8
        sub al,30h
        add cx,ax
        mov num+3,cl
        mov al,num
        cmp al,0
        js exit1
        cmp al,25
        jns exit1
        mov al,num+2
        cmp al,0
        js exit1
        cmp al,25
        jns exit1
       mov al,num+1
       cmp al,0
       js exit1
       cmp al,80
       jns exit1
       mov al,num+3
       cmp al,0
       js exit1
       cmp al,80
       jns exit1
       mov al,num
       mov ah,num+2
       cmp ah,al
       js exit1
       mov al,num+1
       mov ah,num+3
       cmp ah,al
       js exit1