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

📄 pass3.dat

📁 UART transmitter and receiver mocros
💻 DAT
📖 第 1 页 / 共 5 页
字号:
    ADDRESS-070
      LABEL-
INSTRUCTION-ADD
   OPERAND1-s1
   OPERAND2-01
    COMMENT-;increment memory pointer past hours
    ADDRESS-071
      LABEL-
INSTRUCTION-CALL
   OPERAND1-fetch_char_from_memory
   OPERAND2-
    COMMENT-
    ADDRESS-072
      LABEL-
INSTRUCTION-COMPARE
   OPERAND1-s0
   OPERAND2-character_colon
    COMMENT-;test for colon
    ADDRESS-073
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-NZ
   OPERAND2-invalid_time
    COMMENT-
    ADDRESS-074
      LABEL-
INSTRUCTION-CALL
   OPERAND1-2char_to_value
   OPERAND2-
    COMMENT-;obtain minutes value
    ADDRESS-075
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-C
   OPERAND2-invalid_time
    COMMENT-;test for non-decimal characters
    ADDRESS-076
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s5
   OPERAND2-s2
    COMMENT-;remember minutes
    ADDRESS-077
      LABEL-
INSTRUCTION-ADD
   OPERAND1-s1
   OPERAND2-01
    COMMENT-;increment memory pointer past minutes
    ADDRESS-078
      LABEL-
INSTRUCTION-CALL
   OPERAND1-fetch_char_from_memory
   OPERAND2-
    COMMENT-
    ADDRESS-079
      LABEL-
INSTRUCTION-COMPARE
   OPERAND1-s0
   OPERAND2-character_colon
    COMMENT-;test for colon
    ADDRESS-07A
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-NZ
   OPERAND2-invalid_time
    COMMENT-
    ADDRESS-07B
      LABEL-
INSTRUCTION-CALL
   OPERAND1-2char_to_value
   OPERAND2-
    COMMENT-;obtain seconds value
    ADDRESS-07C
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-C
   OPERAND2-invalid_time
    COMMENT-;test for non-decimal characters
    ADDRESS-07D
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s4
   OPERAND2-s2
    COMMENT-;remember minutes
    ADDRESS-07E
      LABEL-
INSTRUCTION-ADD
   OPERAND1-s1
   OPERAND2-01
    COMMENT-;increment memory pointer past seconds
    ADDRESS-07F
      LABEL-
INSTRUCTION-CALL
   OPERAND1-fetch_char_from_memory
   OPERAND2-
    COMMENT-
    ADDRESS-080
      LABEL-
INSTRUCTION-COMPARE
   OPERAND1-s0
   OPERAND2-character_CR
    COMMENT-;finish with carriage return
    ADDRESS-081
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-NZ
   OPERAND2-invalid_time
    COMMENT-
    ADDRESS-082
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Have values for hh:mm:ss but need to test if each is valid range.
    ADDRESS-082
      LABEL-
INSTRUCTION-COMPARE
   OPERAND1-s6
   OPERAND2-hours_in_a_day
    COMMENT-
    ADDRESS-083
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-NC
   OPERAND2-invalid_time
    COMMENT-
    ADDRESS-084
      LABEL-
INSTRUCTION-COMPARE
   OPERAND1-s5
   OPERAND2-minutes_in_an_hour
    COMMENT-
    ADDRESS-085
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-NC
   OPERAND2-invalid_time
    COMMENT-
    ADDRESS-086
      LABEL-
INSTRUCTION-COMPARE
   OPERAND1-s4
   OPERAND2-seconds_in_a_minute
    COMMENT-
    ADDRESS-087
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-NC
   OPERAND2-invalid_time
    COMMENT-
    ADDRESS-088
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s0
   OPERAND2-00
    COMMENT-
    ADDRESS-089
      LABEL-
INSTRUCTION-SR0
   OPERAND1-s0
   OPERAND2-
    COMMENT-;reset CARRY flag (with s0=0)
    ADDRESS-08A
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-
   OPERAND2-
    COMMENT-;time string was OK
    ADDRESS-08B
      LABEL-invalid_time
INSTRUCTION-CALL
   OPERAND1-send_Invalid
   OPERAND2-
    COMMENT-
    ADDRESS-08C
      LABEL-
INSTRUCTION-CALL
   OPERAND1-send_space
   OPERAND2-
    COMMENT-
    ADDRESS-08D
      LABEL-
INSTRUCTION-CALL
   OPERAND1-send_Time
   OPERAND2-
    COMMENT-
    ADDRESS-08E
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s0
   OPERAND2-01
    COMMENT-
    ADDRESS-08F
      LABEL-
INSTRUCTION-SR0
   OPERAND1-s0
   OPERAND2-
    COMMENT-;set CARRY flag
    ADDRESS-090
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-
   OPERAND2-
    COMMENT-;time string was bad
    ADDRESS-091
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-091
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-091
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Fetch character from memory, convert to upper case
    ADDRESS-091
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;and increment memory pointer.
    ADDRESS-091
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-091
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;The memory pointer is provided in register s1.
    ADDRESS-091
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;The character obtained is returned in register s0.
    ADDRESS-091
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-091
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Registers used s0 and s1.
    ADDRESS-091
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-091
      LABEL-fetch_char_from_memory
INSTRUCTION-FETCH
   OPERAND1-s0
   OPERAND2-(s1)
    COMMENT-;read character
    ADDRESS-092
      LABEL-
INSTRUCTION-CALL
   OPERAND1-upper_case
   OPERAND2-
    COMMENT-;convert to upper case
    ADDRESS-093
      LABEL-
INSTRUCTION-ADD
   OPERAND1-s1
   OPERAND2-01
    COMMENT-;increment memory pointer
    ADDRESS-094
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-
   OPERAND2-
    COMMENT-
    ADDRESS-095
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-095
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-095
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-095
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Read one character from the UART
    ADDRESS-095
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-095
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Character read will be returned in a register called 'UART_data' and will be
    ADDRESS-095
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;echoed to the UART transmitter.
    ADDRESS-095
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-095
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;The routine first tests the receiver FIFO buffer to see if data is present.
    ADDRESS-095
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;If the FIFO is empty, the routine waits until there is a character to read.
    ADDRESS-095
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;As this could take any amount of time the wait loop includes a call to the
    ADDRESS-095
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;subroutine which updates the real time clock.
    ADDRESS-095
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-095
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Registers used s0 and UART_data
    ADDRESS-095
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-095
      LABEL-read_from_UART
INSTRUCTION-INPUT
   OPERAND1-s0
   OPERAND2-UART_status_port
    COMMENT-;test Rx_FIFO buffer
    ADDRESS-096
      LABEL-
INSTRUCTION-TEST
   OPERAND1-s0
   OPERAND2-rx_data_present
    COMMENT-
    ADDRESS-097
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-NZ
   OPERAND2-read_character
    COMMENT-
    ADDRESS-098
      LABEL-
INSTRUCTION-CALL
   OPERAND1-update_time
   OPERAND2-
    COMMENT-;Perform useful operation whilst waiting
    ADDRESS-099
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-read_from_UART
   OPERAND2-
    COMMENT-
    ADDRESS-09A
      LABEL-read_character
INSTRUCTION-INPUT
   OPERAND1-UART_data
   OPERAND2-UART_read_port
    COMMENT-;read from FIFO
    ADDRESS-09B
      LABEL-
INSTRUCTION-CALL
   OPERAND1-send_to_UART
   OPERAND2-
    COMMENT-;echo received character
    ADDRESS-09C
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-
   OPERAND2-
    COMMENT-
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Transmit one character to the UART
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Character supplied in register called 'UART_data'.
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;The routine first tests the transmit FIFO buffer to see if it is full.
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;If the FIFO is full, the routine waits until there is space which could
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;be as long as it takes to transmit one complete character.
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;    Baud Rate    Time per Character (10 bits)
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;      9600           1,024us
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;     19200             521us
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;     38400             260us
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;     57600             174us
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;    115200              87us
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Since this is a relatively long duration, the wait loop includes a
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;call to the subroutine which updates the real time clock.
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Registers used s0
    ADDRESS-09D
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-09D
      LABEL-send_to_UART
INSTRUCTION-INPUT
   OPERAND1-s0
   OPERAND2-UART_status_port
    COMMENT-;test Tx_FIFO buffer
    ADDRESS-09E
      LABEL-
INSTRUCTION-TEST
   OPERAND1-s0
   OPERAND2-tx_full
    COMMENT-
    ADDRESS-09F
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-Z
   OPERAND2-UART_write
    COMMENT-
    ADDRESS-0A0
      LABEL-
INSTRUCTION-CALL
   OPERAND1-update_time
   OPERAND2-
    COMMENT-;Perform useful operation whilst waiting
    ADDRESS-0A1
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-send_to_UART
   OPERAND2-
    COMMENT-
    ADDRESS-0A2
      LABEL-UART_write
INSTRUCTION-OUTPUT
   OPERAND1-UART_data
   OPERAND2-UART_write_port
    COMMENT-
    ADDRESS-0A3
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-
   OPERAND2-
    COMMENT-
    ADDRESS-0A4
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-0A4
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-0A4
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-0A4
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-0A4
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Alarm output
    ADDRESS-0A4
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-0A4
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Uses the alarm status scratch pad memory to set or reset the alarm
    ADDRESS-0A4
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;control bit on the alarm output port.
    ADDRESS-0A4
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-0A4
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Registers used s0
    ADDRESS-0A4
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-0A4
      LABEL-alarm_drive
INSTRUCTION-FETCH
   OPERAND1-s0
   OPERAND2-alarm_status
    COMMENT-;read status
    ADDRESS-0A5
      LABEL-
INSTRUCTION-AND
   OPERAND1-s0
   OPERAND2-alarm_active
    COMMENT-;isolate bit0
    ADDRESS-0A6
      LABEL-
INSTRUCTION-OUTPUT
   OPERAND1-s0
   OPERAND2-alarm_port
    COMMENT-

⌨️ 快捷键说明

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