⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pass5.dat

📁 UART transmitter and receiver mocros
💻 DAT
📖 第 1 页 / 共 5 页
字号:
INSTRUCTION-CALL
   OPERAND1-send_Invalid
  OP1 VALUE-125
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-08C
      LABEL-
  FORMATTED-CALL send_space
  LOGFORMAT-CALL send_space[0E7]
INSTRUCTION-CALL
   OPERAND1-send_space
  OP1 VALUE-0E7
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-08D
      LABEL-
  FORMATTED-CALL send_Time
  LOGFORMAT-CALL send_Time[134]
INSTRUCTION-CALL
   OPERAND1-send_Time
  OP1 VALUE-134
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-08E
      LABEL-
  FORMATTED-LOAD s0, 01
  LOGFORMAT-LOAD s0, 01
INSTRUCTION-LOAD
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-01
  OP2 VALUE-01
    COMMENT-
    ADDRESS-08F
      LABEL-
  FORMATTED-SR0 s0
  LOGFORMAT-SR0 s0
INSTRUCTION-SR0
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-
  OP2 VALUE-
    COMMENT-;set CARRY flag
    ADDRESS-090
      LABEL-
  FORMATTED-RETURN
  LOGFORMAT-RETURN
INSTRUCTION-RETURN
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;time string was bad
    ADDRESS-091
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-091
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-091
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;Fetch character from memory, convert to upper case
    ADDRESS-091
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;and increment memory pointer.
    ADDRESS-091
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-091
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;The memory pointer is provided in register s1.
    ADDRESS-091
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;The character obtained is returned in register s0.
    ADDRESS-091
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-091
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;Registers used s0 and s1.
    ADDRESS-091
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-091
      LABEL-fetch_char_from_memory
  FORMATTED-FETCH s0, (s1)
  LOGFORMAT-FETCH s0, (s1)
INSTRUCTION-FETCH
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-(s1)
  OP2 VALUE-(s1)
    COMMENT-;read character
    ADDRESS-092
      LABEL-
  FORMATTED-CALL upper_case
  LOGFORMAT-CALL upper_case[1E2]
INSTRUCTION-CALL
   OPERAND1-upper_case
  OP1 VALUE-1E2
   OPERAND2-
  OP2 VALUE-
    COMMENT-;convert to upper case
    ADDRESS-093
      LABEL-
  FORMATTED-ADD s1, 01
  LOGFORMAT-ADD s1, 01
INSTRUCTION-ADD
   OPERAND1-s1
  OP1 VALUE-s1
   OPERAND2-01
  OP2 VALUE-01
    COMMENT-;increment memory pointer
    ADDRESS-094
      LABEL-
  FORMATTED-RETURN
  LOGFORMAT-RETURN
INSTRUCTION-RETURN
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-095
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-095
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-095
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-095
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;Read one character from the UART
    ADDRESS-095
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-095
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;Character read will be returned in a register called 'UART_data' and will be
    ADDRESS-095
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;echoed to the UART transmitter.
    ADDRESS-095
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-095
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;The routine first tests the receiver FIFO buffer to see if data is present.
    ADDRESS-095
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;If the FIFO is empty, the routine waits until there is a character to read.
    ADDRESS-095
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;As this could take any amount of time the wait loop includes a call to the
    ADDRESS-095
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;subroutine which updates the real time clock.
    ADDRESS-095
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-095
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;Registers used s0 and UART_data
    ADDRESS-095
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-095
      LABEL-read_from_UART
  FORMATTED-INPUT s0, UART_status_port
  LOGFORMAT-INPUT s0, UART_status_port[00]
INSTRUCTION-INPUT
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-UART_status_port
  OP2 VALUE-00
    COMMENT-;test Rx_FIFO buffer
    ADDRESS-096
      LABEL-
  FORMATTED-TEST s0, rx_data_present
  LOGFORMAT-TEST s0, rx_data_present[10]
INSTRUCTION-TEST
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-rx_data_present
  OP2 VALUE-10
    COMMENT-
    ADDRESS-097
      LABEL-
  FORMATTED-JUMP NZ, read_character
  LOGFORMAT-JUMP NZ, read_character[09A]
INSTRUCTION-JUMP
   OPERAND1-NZ
  OP1 VALUE-NZ
   OPERAND2-read_character
  OP2 VALUE-09A
    COMMENT-
    ADDRESS-098
      LABEL-
  FORMATTED-CALL update_time
  LOGFORMAT-CALL update_time[185]
INSTRUCTION-CALL
   OPERAND1-update_time
  OP1 VALUE-185
   OPERAND2-
  OP2 VALUE-
    COMMENT-;Perform useful operation whilst waiting
    ADDRESS-099
      LABEL-
  FORMATTED-JUMP read_from_UART
  LOGFORMAT-JUMP read_from_UART[095]
INSTRUCTION-JUMP
   OPERAND1-read_from_UART
  OP1 VALUE-095
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-09A
      LABEL-read_character
  FORMATTED-INPUT UART_data, UART_read_port
  LOGFORMAT-INPUT UART_data[sF], UART_read_port[01]
INSTRUCTION-INPUT
   OPERAND1-UART_data
  OP1 VALUE-sF
   OPERAND2-UART_read_port
  OP2 VALUE-01
    COMMENT-;read from FIFO
    ADDRESS-09B
      LABEL-
  FORMATTED-CALL send_to_UART
  LOGFORMAT-CALL send_to_UART[09D]
INSTRUCTION-CALL
   OPERAND1-send_to_UART
  OP1 VALUE-09D
   OPERAND2-
  OP2 VALUE-
    COMMENT-;echo received character
    ADDRESS-09C
      LABEL-
  FORMATTED-RETURN
  LOGFORMAT-RETURN
INSTRUCTION-RETURN
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-09D
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-09D
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-09D
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-09D
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;Transmit one character to the UART
    ADDRESS-09D
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-09D
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;Character supplied in register called 'UART_data'.
    ADDRESS-09D
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-09D
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;The routine first tests the transmit FIFO buffer to see if it is full.
    ADDRESS-09D
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;If the FIFO is full, the routine waits until there is space which could
    ADDRESS-09D
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;be as long as it takes to transmit one complete character.
    ADDRESS-09D
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-09D
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;    Baud Rate    Time per Character (10 bits)
    ADDRESS-09D
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;      9600           1,024us
    ADDRESS-09D
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;     19200             521us
    ADDRESS-09D
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;     38400             260us
    ADDRESS-09D
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;     57600             174us
    ADDRESS-09D
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;    115200              87us
    ADDRESS-09D
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-09D
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;Since this is a relatively long duration, the wait loop includes a
    ADDRESS-09D
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;call to the subroutine which updates the real time clock.
    ADDRESS-09D
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-09D
      LABEL-
  FORMATTED-
  LOGFORMAT-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    CO

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -