Inverth

lab4-asm-v1

Dec 13th, 2020 (edited)
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.         ; =-------------------------
  2.         ; this's my task:
  3.         ; =-------------------------
  4.         ; f = !Y * Z + !X
  5.         ; =-------------------------
  6.         ; 1200 : 400 : INT0 : T/C1
  7.         ; =-------------------------
  8.         ORG     0h
  9.         AJMP    BEGIN
  10.         ORG     03h
  11.         AJMP    IN0
  12.         ORG     1Bh
  13.         AJMP    DEL
  14.         ORG     30h
  15. BEGIN:  
  16.        
  17.         MOV     DPTR,   #10h
  18.         MOV     A,      #00000000b
  19.         MOVX    @DPTR,  A
  20.         INC     DPTR
  21.        
  22.         MOV     A,      #00000001b
  23.         MOVX    @DPTR,  A
  24.         INC     DPTR
  25.        
  26.         MOV     A,      #00000010b
  27.         MOVX    @DPTR,  A
  28.         INC     DPTR
  29.        
  30.         MOV     A,      #00000011b
  31.         MOVX    @DPTR,  A
  32.         INC     DPTR
  33.        
  34.         MOV     A,      #00000100b
  35.         MOVX    @DPTR,  A
  36.         INC     DPTR
  37.        
  38.         MOV     A,      #00000101b
  39.         MOVX    @DPTR,  A
  40.         INC     DPTR
  41.        
  42.         MOV     A,      #00000110b
  43.         MOVX    @DPTR,  A
  44.         INC     DPTR
  45.        
  46.         MOV     A,      #00000111b
  47.         MOVX    @DPTR,  A
  48.        
  49. START:
  50.         MOV     IE,     #00001001b
  51.         MOV     R0,     #06H
  52.        
  53.         MOV     TH1,    #00111100b ;15536
  54.         MOV     TL1,    #10110000b ;15536
  55.  
  56.         MOV     TMOD,   #00010000b  
  57.         MOV     TCON,   #01000001b  
  58.  
  59.         MOV     P1,     #00000000b
  60.        
  61.         SETB    EA
  62.  
  63. RESTART:
  64.         MOV     DPTR,   #10h
  65.         MOV     R1,     #008d
  66.  
  67. LOOP:
  68.         MOVX    A,      @DPTR
  69.         MOV     20H,    A
  70.  
  71.         ACALL   FUNC
  72.         ACALL   SEND
  73.        
  74.         INC     DPTR
  75.         MOV     R0,     #006d
  76.        
  77.         DJNZ    R1,     LOOP
  78.        
  79.         ACALL   RESTART
  80.  
  81. SEND:  
  82.         MOV     TH1,    #00111100b ;15536
  83.         MOV     TL1,    #10110000b ;15536
  84.  
  85.         MOV     TMOD,   #00010000b  
  86.         MOV     TCON,   #01000001b
  87.         CLR     18
  88.         MOV     R6,     #16d
  89.        
  90. BK:
  91.         JB      18,     PR
  92.         JMP     BK
  93.        
  94. ;restart count
  95. PR:
  96.         MOV     TCON,   #00000001b
  97.         ORL     P1,     A
  98.  
  99.         MOV     TH1,    #00111100b ;15536
  100.         MOV     TL1,    #10110000b ;15536
  101.  
  102.          
  103.         MOV     TCON,   #01000001b  
  104.         CLR     18                  ;23h
  105.         MOV     R6,     #8d
  106. BK1:
  107.         JB      18,     PR1
  108.         JMP     BK1
  109.         JMP     BK1
  110. PR1:
  111.         MOV     TCON,   #00000001b
  112.  
  113.         MOV     P1,     #00H
  114.         RET
  115. DEL:   
  116.        
  117.         DJNZ    R6,     EXTD
  118.         SETB    18
  119.  
  120.         RETI
  121. EXTD:
  122.         MOV     TH1,    #00111100b ;15536
  123.         MOV     TL1,    #10110000b ;15536
  124.         RETI
  125.  
  126. FUNC:
  127.         MOV     C,      01
  128.         CPL     C
  129.         ANL     C,      00
  130.         ORL     C,      /02
  131.         MOV     03,     C
  132.        
  133.         XRL     A,      20H
  134.         MOV     25h,    A
  135.         MOV     C,      43
  136.         MOV     07,     C
  137.        
  138.         MOV     A,      20H
  139.  
  140.         RET
  141.    
  142. IN0:   
  143.         DJNZ    R0,     OUT0
  144.         CLR     IE.0
  145. OUT0:  
  146.         MOV     R5,     A
  147.         MOV     11,     C
  148.         MOVX    A,      @DPTR
  149.         MOV     25H,    A
  150.         MOV     C,      P2.7
  151.         MOV     43,     C
  152.         MOV     A,      25H
  153.         MOVX    @DPTR,  A
  154.        
  155. Exm:   
  156.         MOV     C,      11
  157.         MOVX    @DPTR,  A
  158.         MOV     A,      R5
  159.         RETI
  160. BM:    
  161.         RRC     A
  162.         MOV     C,  P2.7
  163.         RLC     A
  164.         JMP     Exm
  165.    
  166.  
  167. END
Add Comment
Please, Sign In to add comment