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