📄 pass1.dat
字号:
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 + -