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

📄 pass1.dat

📁 UART transmitter and receiver mocros
💻 DAT
📖 第 1 页 / 共 5 页
字号:
    COMMENT-
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-
   OPERAND2-
    COMMENT-
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Transmit ASCII string to UART
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;An ASCII string must be provided in scratch pad memory commencing at the
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;location specified by a constant named 'string_start'. The string must
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;end with a carriage return (0D).
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Registers used s1 and 'UART_data'.
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;               s0 is then used in subroutine 'send_to_UART'
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-transmit_string
INSTRUCTION-LOAD
   OPERAND1-s1
   OPERAND2-string_start
    COMMENT-;locate start of string
      LABEL-next_char_tx
INSTRUCTION-FETCH
   OPERAND1-UART_data
   OPERAND2-(s1)
    COMMENT-;read character from memory
      LABEL-
INSTRUCTION-CALL
   OPERAND1-send_to_UART
   OPERAND2-
    COMMENT-;transmit character
      LABEL-
INSTRUCTION-COMPARE
   OPERAND1-UART_data
   OPERAND2-character_CR
    COMMENT-;test for last character
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-Z
   OPERAND2-
    COMMENT-
      LABEL-
INSTRUCTION-ADD
   OPERAND1-s1
   OPERAND2-01
    COMMENT-;move to next character
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-next_char_tx
   OPERAND2-
    COMMENT-
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Receive ASCII string from UART
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;An ASCII string will be read from the UART and stored in scratch pad memory
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;commencing at the location specified by a constant named 'string_start'.
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;The string will will have a maximum length of 16 characters including a
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;carriage return (0D) denoting the end of the string.
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;As each character is read, it is echoed to the UART transmitter.
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Some minor editing is supported using backspace (BS=08) which is used
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;to adjust what is stored in scratch pad memory and adjust the display
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;on the terminal screen using characters sent to the UART transmitter.
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;A test is made for the receiver FIFO becoming full. A full status is treated as
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;a potential error situation and will result in a 'Overflow Error' message being
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;transmitted to the UART, the receiver FIFO being purged of all data and an
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;empty string being stored (carriage return at first location).
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Registers used s0, s1, s2 and 'UART_data'.
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-receive_string
INSTRUCTION-LOAD
   OPERAND1-s1
   OPERAND2-string_start
    COMMENT-;locate start of string
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s2
   OPERAND2-s1
    COMMENT-;compute 16 character address
      LABEL-
INSTRUCTION-ADD
   OPERAND1-s2
   OPERAND2-10
    COMMENT-
      LABEL-receive_full_test
INSTRUCTION-INPUT
   OPERAND1-s0
   OPERAND2-UART_status_port
    COMMENT-;test Rx_FIFO buffer for full
      LABEL-
INSTRUCTION-TEST
   OPERAND1-s0
   OPERAND2-rx_full
    COMMENT-
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-NZ
   OPERAND2-read_error
    COMMENT-
      LABEL-
INSTRUCTION-CALL
   OPERAND1-read_from_UART
   OPERAND2-
    COMMENT-;obtain and echo character
      LABEL-
INSTRUCTION-STORE
   OPERAND1-UART_data
   OPERAND2-(s1)
    COMMENT-;write to memory
      LABEL-
INSTRUCTION-COMPARE
   OPERAND1-UART_data
   OPERAND2-character_CR
    COMMENT-;test for end of string
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-Z
   OPERAND2-
    COMMENT-
      LABEL-
INSTRUCTION-COMPARE
   OPERAND1-UART_data
   OPERAND2-character_BS
    COMMENT-;test for back space
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-Z
   OPERAND2-BS_edit
    COMMENT-
      LABEL-
INSTRUCTION-ADD
   OPERAND1-s1
   OPERAND2-01
    COMMENT-;increment memory pointer
      LABEL-
INSTRUCTION-COMPARE
   OPERAND1-s1
   OPERAND2-s2
    COMMENT-;test for pointer exceeding 16 characters
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-NZ
   OPERAND2-receive_full_test
    COMMENT-;next character
      LABEL-
INSTRUCTION-CALL
   OPERAND1-send_backspace
   OPERAND2-
    COMMENT-;hold end of string position on terminal display
      LABEL-BS_edit
INSTRUCTION-SUB
   OPERAND1-s1
   OPERAND2-01
    COMMENT-;memory pointer back one
      LABEL-
INSTRUCTION-COMPARE
   OPERAND1-s1
   OPERAND2-string_start
    COMMENT-;test for under flow
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-C
   OPERAND2-string_start_again
    COMMENT-
      LABEL-
INSTRUCTION-CALL
   OPERAND1-send_space
   OPERAND2-
    COMMENT-;clear character at current position
      LABEL-
INSTRUCTION-CALL
   OPERAND1-send_backspace
   OPERAND2-
    COMMENT-;position cursor
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-receive_full_test
   OPERAND2-
    COMMENT-;next character
      LABEL-string_start_again
INSTRUCTION-CALL
   OPERAND1-send_greater_than
   OPERAND2-
    COMMENT-;restore '>' at prompt
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-receive_string
   OPERAND2-
    COMMENT-;begin again
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Receiver buffer overflow condition
      LABEL-read_error
INSTRUCTION-CALL
   OPERAND1-send_CR
   OPERAND2-
    COMMENT-;Transmit error message
      LABEL-
INSTRUCTION-STORE
   OPERAND1-UART_data
   OPERAND2-string_start
    COMMENT-;empty string in memory (start with CR)
      LABEL-
INSTRUCTION-CALL
   OPERAND1-send_Overflow_Error
   OPERAND2-
    COMMENT-
      LABEL-
INSTRUCTION-CALL
   OPERAND1-send_CR
   OPERAND2-
    COMMENT-
      LABEL-clear_UART_Rx_loop
INSTRUCTION-INPUT
   OPERAND1-s0
   OPERAND2-UART_status_port
    COMMENT-;test Rx_FIFO buffer for data
      LABEL-
INSTRUCTION-TEST
   OPERAND1-s0
   OPERAND2-rx_data_present
    COMMENT-
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-Z
   OPERAND2-
    COMMENT-;finish when buffer is empty
      LABEL-
INSTRUCTION-INPUT
   OPERAND1-UART_data
   OPERAND2-UART_read_port
    COMMENT-;read from FIFO and ignore
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-clear_UART_Rx_loop
   OPERAND2-
    COMMENT-
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Send Carriage Return to the UART
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-send_CR
INSTRUCTION-LOAD
   OPERAND1-UART_data
   OPERAND2-character_CR
    COMMENT-
      LABEL-
INSTRUCTION-CALL
   OPERAND1-send_to_UART
   OPERAND2-
    COMMENT-
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-
   OPERAND2-
    COMMENT-
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Send a space to the UART
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-send_space
INSTRUCTION-LOAD
   OPERAND1-UART_data
   OPERAND2-character_space
    COMMENT-
      LABEL-
INSTRUCTION-CALL
   OPERAND1-send_to_UART
   OPERAND2-
    COMMENT-
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-
   OPERAND2-
    COMMENT-
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Send a back space to the UART
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-send_backspace
INSTRUCTION-LOAD
   OPERAND1-UART_data
   OPERAND2-character_BS
    COMMENT-
      LABEL-
INSTRUCTION-CALL
   OPERAND1-send_to_UART
   OPERAND2-
    COMMENT-
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-
   OPERAND2-
    COMMENT-
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Send 'Syntax Error' to the UART
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-send_Syntax_Error
INSTRUCTION-LOAD
   OPERAND1-UART_data
   OPERAND2-character_S
    COMMENT-
      LABEL-
INSTRUCTION-CALL
   OPERAND1-send_to_UART
   OPERAND2-
    COMMENT-
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-UART_data
   OPERAND2-character_y
    COMMENT-
      LABEL-
INSTRUCTION-CALL
   OPERAND1-send_to_UART
   OPERAND2-
    COMMENT-
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-UART_data
   OPERAND2-character_n
    COMMENT-
      LABEL-
INSTRUCTION-CALL
   OPERAND1-send_to_UART
   OPERAND2-
    COMMENT-
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-UART_data
   OPERAND2-character_t
    COMMENT-
      LABEL-
INSTRUCTION-CALL
   OPERAND1-send_to_UART
   OPERAND2-
    COMMENT-
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-UART_data
   OPERAND2-character_a
    COMMENT-
      LABEL-
INSTRUCTION-CALL
   OPERAND1-send_to_UART
   OPERAND2-
    COMMENT-
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-UART_data
   OPERAND2-character_x
    COMMENT-
      LABEL-
INSTRUCTION-CALL
   OPERAND1-send_to_UART
   OPERAND2-
    COMMENT-
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-send_space_Error
   OPERAND2-
    COMMENT-
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Send 'Overflow Error' to the UART
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-send_Overflow_Error
INSTRUCTION-LOAD
   OPERAND1-UART_data
   OPERAND2-character_O
    COMMENT-
      LABEL-
INSTRUCTION-CALL
   OPERAND1-send_to_UART
   OPERAND2-
    COMMENT-
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-UART_data
   OPERAND2-character_v
    COMMENT-
      LABEL-
INSTRUCTION-CALL
   OPERAND1-send_to_UART
   OPERAND2-
    COMMENT-
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-UART_data
   OPERAND2-character_e
    COMMENT-
      LABEL-
INSTRUCTION-CALL
   OPERAND1-send_to_UART
   OPERAND2-
    COMMENT-
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-UART_data
   OPERAND2-character_r
    COMMENT-
      LABEL-
INSTRUCTION-CALL
   OPERAND1-send_to_UART
   OPERAND2-
    COMMENT-
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-UART_data
   OPERAND2-character_f
    COMMENT-
      LABEL-
INSTRUCTION-CALL
   OPERAND1-send_to_UART
   OPERAND2-
    COMMENT-
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-UART_data
   OPERAND2-character_l
    COMMENT-
      LABEL-
INSTRUCTION-CALL
   OPERAND1-send_to_UART
   OPERAND2-
    COMMENT-
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-UART_data
   OPERAND2-character_o
    COMMENT-
      LABEL-
INSTRUCTION-CALL
   OPERAND1-send_to_UART
   OPERAND2-
    COMMENT-
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-UART_data
   OPERAND2-character_w
    COMMENT-
      LABEL-
INSTRUCTION-CALL
   OPERAND1-send_to_UART
   OPERAND2-
    COMMENT-
      LABEL-send_space_Error
INSTRUCTION-CALL
   OPERAND1-send_space
   OPERAND2-
    COMMENT-
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Send 'Error' to the UART
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-send_Error
INSTRUCTION-LOAD

⌨️ 快捷键说明

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