TESTTSR.ASM
上传用户:kylngs
上传日期:2020-09-09
资源大小:2k
文件大小:5k
源码类别:

汇编语言

开发平台:

DOS

  1. CODE   SEGMENT
  2.        ASSUME  CS:CODE,DS:CODE,ES:CODE
  3.        ORG 100H
  4. keepcs dw 0
  5. keepip dw 0
  6. start: push ax
  7.        push bx
  8.        push es
  9.        mov ah,25h
  10.        mov al,9h
  11.        int 21h
  12.        mov keepip,bx
  13.        mov keepcs,es    ;save int address
  14.        cli
  15.        push ds          ;change int
  16.        mov dx,offset new
  17.        mov ax,seg new
  18.        mov ds,ax
  19.        mov ah,25h
  20.        mov al,9h
  21.        int 21h
  22.        pop ds
  23.        sti
  24. new    proc near
  25.        PUSH AX
  26.        PUSH BX
  27.        PUSH CX
  28.        PUSH ES
  29. DUCHU: IN AL,60H        ;FATCH SCAN-CODE
  30.        MOV AH,AL
  31.        PUSH AX
  32.        IN AL,61H
  33.        OR AL,10000000B
  34.        OUT 61H,AL
  35.        AND AL,01111111B
  36.        OUT 61H,AL
  37.        MOV AX,40H
  38.        MOV ES,AX
  39.        POP AX
  40.        CMP AL,31        ;TEST "S"
  41.        JE  STOP   
  42.        CMP AL,24        ;TEST"O"
  43.        JE  ORIGIN
  44.        CMP AL,19        ;TEST"R"
  45.        JE  REPLAY
  46.       ; CMP AL,25        ;TEST"PERIOCITY"
  47.       ; JE  PERIO
  48.        jmp JIESHU
  49. main   proc near
  50.        PUSH AX
  51.        PUSH BX
  52.        PUSH CX
  53.        MOV AL,10110100B
  54.        OUT 43H,AL
  55.        mov ax,0ffffh
  56.        OUT 42H,AL
  57.        MOV AL,AH
  58.        OUT 42H,AL
  59.        in al,61h
  60.        mov ah,al
  61.        or al,3
  62.        out 61h,al
  63.        mov cx,0ffffh
  64. giu  : loop giu
  65.        in al,61h
  66.        and al,11111100b
  67.        OUT 61H,AL
  68.        POP AX
  69.        POP BX
  70.        POP CX
  71.        ret
  72. main   endp
  73. subprg proc near
  74.        PUSH AX
  75.        PUSH BX
  76.        PUSH CX
  77.        MOV AL,10110100B
  78.        OUT 43H,AL
  79.        mov ax,65535
  80.        OUT 42H,AL
  81.        MOV AL,AH
  82.        OUT 42H,AL
  83.        in al,61h
  84.        mov ah,al
  85.        or al,3
  86.        out 61h,al
  87.        mov cx,65535
  88. jiach: loop jiach
  89.        in al,61h
  90.        and al,11111100b
  91.        OUT 61H,AL
  92.        mov cx,58253
  93. sims:  loop sims
  94.        POP AX
  95.        POP BX
  96.        POP CX
  97.        ret
  98. subprg endp
  99. ling   proc near
  100.        PUSH AX
  101.        PUSH BX
  102.        PUSH CX
  103.        MOV AL,10110100B
  104.        OUT 43H,AL
  105.        mov ax,10500
  106.        OUT 42H,AL
  107.        MOV AL,AH
  108.        OUT 42H,AL
  109.        in al,61h
  110.        mov ah,al
  111.        or al,3
  112.        out 61h,al
  113.        mov cx,10500
  114. luiqi: loop luiqi
  115.        in al,61h
  116.        and al,11111100b
  117.        OUT 61H,AL
  118.        mov cx,7750
  119. siwu:  loop siwu
  120.        POP AX
  121.        POP BX
  122.        POP CX
  123.        ret
  124. ling   endp
  125. yao    proc near
  126.        PUSH AX
  127.        PUSH BX
  128.        PUSH CX
  129.        MOV AL,10110100B
  130.        OUT 43H,AL
  131.        mov ax,10500
  132.        OUT 42H,AL
  133.        MOV AL,AH
  134.        OUT 42H,AL
  135.        in al,61h
  136.        mov ah,al
  137.        or al,3
  138.        out 61h,al
  139.        mov cx,10500
  140. liuq : loop liuq
  141.        in al,61h
  142.        and al,11111100b
  143.        OUT 61H,AL
  144.        mov cx,25000
  145. yisiwu:loop yisiwu
  146.        POP AX
  147.        POP BX
  148.        POP CX
  149.        ret
  150. yao    endp       
  151. stop:  call main
  152.        call subprg
  153.        call ling
  154.        call ling
  155.        call ling
  156.        call yao
  157.        call ling
  158.        call yao
  159.        call ling
  160.        call yao
  161.        call yao
  162.        call yao
  163.        call yao
  164.        call ling
  165.        call yao
  166.        call ling
  167.        call yao
  168.        call ling      ;common
  169.        call ling      
  170.        call yao
  171.        call yao
  172.        call ling
  173.        call yao
  174.        call ling
  175.        call ling
  176.        call ling
  177.        call yao
  178.        call ling
  179.        call ling
  180.        call yao
  181.        call ling
  182.        call yao
  183.        call yao
  184.        call yao
  185.        call yao
  186.        jmp jieshu
  187. origin:call main
  188.        call subprg
  189.        call ling
  190.        call ling
  191.        call ling
  192.        call yao
  193.        call ling
  194.        call yao
  195.        call ling
  196.        call yao
  197.        call yao
  198.        call yao
  199.        call yao
  200.        call ling
  201.        call yao
  202.        call ling
  203.        call yao
  204.        call ling  ;common
  205.        call ling  
  206.        call ling
  207.        call yao
  208.        call yao
  209.        call ling
  210.        call ling
  211.        call ling
  212.        call ling
  213.        call yao
  214.        call yao
  215.        call ling
  216.        call ling
  217.        call yao
  218.        call yao
  219.        call yao
  220.        call yao
  221.        call yao
  222.        jmp jieshu
  223. replay:call main
  224.        call subprg
  225.        call ling
  226.        call ling
  227.        call ling
  228.        call yao
  229.        call ling
  230.        call yao
  231.        call ling
  232.        call yao
  233.        call yao
  234.        call yao
  235.        call yao
  236.        call ling
  237.        call yao
  238.        call ling
  239.        call yao
  240.        call ling  ;common
  241.        call yao
  242.        call yao
  243.        call ling
  244.        call ling
  245.        call yao
  246.        call ling
  247.        call yao
  248.        call ling
  249.        call ling
  250.        call ling
  251.        call yao
  252.        call yao
  253.        call ling
  254.        call yao
  255.        call ling
  256.        call yao
  257.        call yao
  258. JIESHU:POP ES
  259.        POP CX
  260.        POP BX
  261.        POP AX
  262.        mov al,20h
  263.        out 20h,al
  264.        iret
  265. new    endp
  266. quit:  cli               ;recover  int
  267.        push ds
  268.        mov dx,keepip
  269.        mov ax,keepcs
  270.        mov ds,ax
  271.        mov ah,25h
  272.        mov al,9h
  273.        int 21h
  274.        pop ds
  275.        sti
  276. remain:pop ax
  277.        pop bx
  278.        pop es
  279.        mov ah,31h
  280.        mov dx,90h
  281.        int 21h
  282. CODE   ENDS
  283.        END    START