Advertisement
Inverth

lab3-asm-v1

Nov 3rd, 2020
103
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.  
  9.         ORG     00h
  10.         AJMP    START
  11.         ORG     03h
  12.         AJMP    IINT0
  13.         ORG     1Bh
  14.         AJMP    ITC1
  15.         ORG     30h
  16.  
  17. ; there i'll set up my external memory.
  18. START:
  19.         MOV     DPTR,   #10h
  20.         MOV     A,      #00000000b
  21.         MOVX    @DPTR,  A
  22.         INC     DPTR
  23.        
  24.         MOV     A,      #00000001b
  25.         MOVX    @DPTR,  A
  26.         INC     DPTR
  27.        
  28.         MOV     A,      #00000010b
  29.         MOVX    @DPTR,  A
  30.         INC     DPTR
  31.        
  32.         MOV     A,      #00000011b
  33.         MOVX    @DPTR,  A
  34.         INC     DPTR
  35.        
  36.         MOV     A,      #00000100b
  37.         MOVX    @DPTR,  A
  38.         INC     DPTR
  39.        
  40.         MOV     A,      #00000101b
  41.         MOVX    @DPTR,  A
  42.         INC     DPTR
  43.        
  44.         MOV     A,      #00000110b
  45.         MOVX    @DPTR,  A
  46.         INC     DPTR
  47.        
  48.         MOV     A,      #00000111b
  49.         MOVX    @DPTR,  A
  50.        
  51.         ; Some setups for interruptions
  52.        
  53.         MOV     IE,     #00001001b
  54.         MOV     TCON,   #01000001b
  55.         MOV     TMOD,   #01100000b
  56.        
  57.         MOV     TL1,    #11111111b
  58.         MOV     TH1,    #11111111b
  59.        
  60.         MOV     R0,     #10h
  61.         MOV     R1,     #008d
  62.         MOV     R2,     #006d
  63.         MOV     R3,     #006d
  64.         MOV     DPL,    R0
  65.        
  66.         MOV     P1,     #00000000b
  67.         MOV     P3,     #00100100b
  68.        
  69.         SETB    EA
  70.        
  71.         ; end of memory setups
  72.  
  73.  
  74.  
  75. LOOP:
  76.         MOVX    A,      @DPTR
  77.         MOV     20H,    A
  78.  
  79.         ACALL   FFUNC
  80.         ACALL   FSEND
  81.        
  82.         INC     DPTR
  83.         MOV     R2,     #006d
  84.         MOV     R3,     #006d
  85.        
  86.         ACALL   FSLEEP
  87.        
  88.         DJNZ    R1,     LOOP
  89.        
  90.         AJMP    START
  91.  
  92.  
  93. FSEND:
  94.         MOV     P1,     20h
  95.  
  96.         MOV     R6,     #10d
  97. FSL2:
  98.         MOV     R5,     #100d
  99. FSL1:
  100.         MOV     R4,     #200d
  101.  
  102.         DJNZ    R4,     $
  103.         DJNZ    R5,     FSL1
  104.         DJNZ    R6,     FSL2
  105.         NOP
  106.        
  107.         MOV     P1,     #00000000b
  108.        
  109.         RET
  110.        
  111.  
  112. FFUNC:
  113.         MOV     C,      01
  114.         CPL     C
  115.         ANL     C,      00
  116.         ORL     C,      /02
  117.         MOV     03,     C
  118.        
  119.         XRL     A,      20H
  120.         ORL     20h,    A
  121.  
  122.         RET
  123.  
  124.  
  125. FSLEEP:
  126.         MOV     R6,     #20d
  127. FSLL2:
  128.         MOV     R5,     #100d
  129. FSLL1:
  130.         MOV     R4,     #195d
  131.         MOV     R7,     #4
  132.  
  133.         DJNZ    R4,     $
  134.         DJNZ    R7,     $
  135.         DJNZ    R5,     FSLL1
  136.         DJNZ    R6,     FSLL2
  137.         NOP
  138.        
  139.         RET
  140.  
  141.  
  142. IINT0:
  143.         DJNZ    R2,     OUT0
  144.         CLR     IE.0
  145.     OUT0:
  146.         CLR     04
  147.         MOV     A,      20H
  148.         MOVX    @DPTR,  A
  149.        
  150.  
  151.         RETI
  152.  
  153.  
  154. ITC1:  
  155.         DJNZ    R3,     OUT1
  156.         CLR     IE.3
  157.     OUT1:  
  158.         SETB    04
  159.         MOV     A,      20H
  160.         MOVX    @DPTR,  A
  161.        
  162.         RETI
  163.  
  164. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement