Inverth

lab5-asm-v1

Dec 18th, 2020 (edited)
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.         ORG   0h
  2.         AJMP  START
  3.         ORG   1Bh
  4.         AJMP  TIMER
  5.         ORG   23h
  6.         AJMP  SEND
  7.         ORG   30h
  8.  
  9.  
  10. START:
  11.         MOV     DPTR,   #0010h
  12.         MOV     DPTR,   #10h
  13.         MOV     A,      #00000000b
  14.         MOVX    @DPTR,  A
  15.         INC     DPTR
  16.        
  17.         MOV     A,      #00000001b
  18.         MOVX    @DPTR,  A
  19.         INC     DPTR
  20.        
  21.         MOV     A,      #00000010b
  22.         MOVX    @DPTR,  A
  23.         INC     DPTR
  24.        
  25.         MOV     A,      #00000011b
  26.         MOVX    @DPTR,  A
  27.         INC     DPTR
  28.        
  29.         MOV     A,      #00000100b
  30.         MOVX    @DPTR,  A
  31.         INC     DPTR
  32.        
  33.         MOV     A,      #00000101b
  34.         MOVX    @DPTR,  A
  35.         INC     DPTR
  36.        
  37.         MOV     A,      #00000110b
  38.         MOVX    @DPTR,  A
  39.         INC     DPTR
  40.        
  41.         MOV     A,      #00000111b
  42.         MOVX    @DPTR,  A
  43.        
  44.         MOV     SCON,   #10010000b
  45.         MOV     PCON,   #10000000b ;SMOD
  46.  
  47.         MOV     IE,     #10011000b
  48.  
  49.  
  50. RESTART:
  51.         MOV     DPTR,   #10h
  52.         MOV     R0,     #08d
  53.  
  54.  
  55. LOOP:
  56.         MOVX    A,      @DPTR
  57.         INC     DPTR
  58.  
  59.         ANL     A,      #0Fh
  60.         ACALL   FUNC
  61.  
  62.         CLR     ES
  63.         MOV     TMOD,   #00010000b  
  64.         MOV     TCON,   #01000001b
  65.         MOV     R6,     #20d
  66.        
  67.         CLR     18
  68.         JNB     18,     $
  69.  
  70.         MOV     TCON,   #00000000b
  71.         SETB    ES
  72.         SETB    TI
  73.         CLR     TI
  74.         DJNZ    R0,     LOOP
  75.         JMP     RESTART
  76.  
  77.  
  78. SEND:
  79.         MOV     SBUF,   A
  80.         RETI
  81.  
  82.  
  83. FUNC:
  84.         MOV     20h,    A
  85.         MOV     C,      01
  86.         CPL     C
  87.         ANL     C,      00
  88.         ORL     C,      /02
  89.         MOV     03,     C
  90.  
  91.         XRL     A,      20H
  92.         MOV     25h,    A
  93.         MOV     C,      43
  94.         MOV     07,     C
  95.        
  96.         MOV     A,      20H
  97.         RETI
  98.  
  99.  
  100. TIMER: 
  101.         DJNZ    R6,     RESTART_TIMER
  102.         SETB    18
  103.         RETI
  104.  
  105.  
  106. RESTART_TIMER:
  107.         MOV     TH1,    #00111100b ;15536
  108.         MOV     TL1,    #10110000b ;15536
  109.         RETI
  110. END
Add Comment
Please, Sign In to add comment