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

📄 pass4.dat

📁 UART transmitter and receiver mocros
💻 DAT
📖 第 1 页 / 共 5 页
字号:
   OPERAND2-
  OP2 VALUE-
    COMMENT-;The memory pointer is provided in register s1.
    ADDRESS-091
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;The character obtained is returned in register s0.
    ADDRESS-091
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-091
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;Registers used s0 and s1.
    ADDRESS-091
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-091
      LABEL-fetch_char_from_memory
INSTRUCTION-FETCH
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-(s1)
  OP2 VALUE-(s1)
    COMMENT-;read character
    ADDRESS-092
      LABEL-
INSTRUCTION-CALL
   OPERAND1-upper_case
  OP1 VALUE-1E2
   OPERAND2-
  OP2 VALUE-
    COMMENT-;convert to upper case
    ADDRESS-093
      LABEL-
INSTRUCTION-ADD
   OPERAND1-s1
  OP1 VALUE-s1
   OPERAND2-01
  OP2 VALUE-01
    COMMENT-;increment memory pointer
    ADDRESS-094
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-095
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-095
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-095
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-095
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;Read one character from the UART
    ADDRESS-095
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-095
      LABEL-
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-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;echoed to the UART transmitter.
    ADDRESS-095
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-095
      LABEL-
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-
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-
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-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;subroutine which updates the real time clock.
    ADDRESS-095
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-095
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;Registers used s0 and UART_data
    ADDRESS-095
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-095
      LABEL-read_from_UART
INSTRUCTION-INPUT
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-UART_status_port
  OP2 VALUE-00
    COMMENT-;test Rx_FIFO buffer
    ADDRESS-096
      LABEL-
INSTRUCTION-TEST
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-rx_data_present
  OP2 VALUE-10
    COMMENT-
    ADDRESS-097
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-NZ
  OP1 VALUE-NZ
   OPERAND2-read_character
  OP2 VALUE-09A
    COMMENT-
    ADDRESS-098
      LABEL-
INSTRUCTION-CALL
   OPERAND1-update_time
  OP1 VALUE-185
   OPERAND2-
  OP2 VALUE-
    COMMENT-;Perform useful operation whilst waiting
    ADDRESS-099
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-read_from_UART
  OP1 VALUE-095
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-09A
      LABEL-read_character
INSTRUCTION-INPUT
   OPERAND1-UART_data
  OP1 VALUE-sF
   OPERAND2-UART_read_port
  OP2 VALUE-01
    COMMENT-;read from FIFO
    ADDRESS-09B
      LABEL-
INSTRUCTION-CALL
   OPERAND1-send_to_UART
  OP1 VALUE-09D
   OPERAND2-
  OP2 VALUE-
    COMMENT-;echo received character
    ADDRESS-09C
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;Transmit one character to the UART
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;Character supplied in register called 'UART_data'.
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-09D
      LABEL-
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-
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-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;be as long as it takes to transmit one complete character.
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;    Baud Rate    Time per Character (10 bits)
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;      9600           1,024us
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;     19200             521us
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;     38400             260us
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;     57600             174us
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;    115200              87us
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;Since this is a relatively long duration, the wait loop includes a
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;call to the subroutine which updates the real time clock.
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;Registers used s0
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-09D
      LABEL-send_to_UART
INSTRUCTION-INPUT
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-UART_status_port
  OP2 VALUE-00
    COMMENT-;test Tx_FIFO buffer
    ADDRESS-09E
      LABEL-
INSTRUCTION-TEST
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-tx_full
  OP2 VALUE-02
    COMMENT-
    ADDRESS-09F
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-Z
  OP1 VALUE-Z
   OPERAND2-UART_write
  OP2 VALUE-0A2
    COMMENT-
    ADDRESS-0A0
      LABEL-
INSTRUCTION-CALL
   OPERAND1-update_time
  OP1 VALUE-185
   OPERAND2-
  OP2 VALUE-
    COMMENT-;Perform useful operation whilst waiting
    ADDRESS-0A1
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-send_to_UART
  OP1 VALUE-09D
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-0A2
      LABEL-UART_write
INSTRUCTION-OUTPUT
   OPERAND1-UART_data
  OP1 VALUE-sF
   OPERAND2-UART_write_port
  OP2 VALUE-01
    COMMENT-
    ADDRESS-0A3
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-0A4
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-0A4
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-0A4
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-0A4
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-0A4
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;Alarm output
    ADDRESS-0A4
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-0A4
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;Uses the alarm status scratch pad memory to set or reset the alarm
    ADDRESS-0A4
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;control bit on the alarm output port.
    ADDRESS-0A4
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-0A4
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;Registers used s0
    ADDRESS-0A4
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-0A4
      LABEL-alarm_drive
INSTRUCTION-FETCH
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-alarm_status
  OP2 VALUE-0C
    COMMENT-;read status
    ADDRESS-0A5
      LABEL-
INSTRUCTION-AND
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-alarm_active
  OP2 VALUE-01
    COMMENT-;isolate bit0
    ADDRESS-0A6
      LABEL-
INSTRUCTION-OUTPUT
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-alarm_port
  OP2 VALUE-00
    COMMENT-
    ADDRESS-0A7
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-0A8
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-0A8
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-0A8
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-0A8
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-0A8
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-0A8
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;Transmit the time to the UART port in the format hh:mm:ss and end
    ADDRESS-0A8
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;with a carriage return.
    ADDRESS-0A8
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-0A8
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;The time to converted must be stored in 3 scratch pad memory locations as
    ADDRESS-0A8
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;defined below. A register named 'store_pointer' must provide the address of
    ADDRESS-0A8
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;first location.
    ADDRESS-0A8
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-0A8
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;        Address                Data
    ADDRESS-0A8
      LABEL-
INSTRUCTION-
   OPERAND1-

⌨️ 快捷键说明

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