📄 pass4.dat
字号:
COMMENT-;clear 'us' interrupt counter
ADDRESS-010
LABEL-
INSTRUCTION-LOAD
OPERAND1-int_counter_msb
OP1 VALUE-sC
OPERAND2-00
OP2 VALUE-00
COMMENT-
ADDRESS-011
LABEL-
INSTRUCTION-ENABLE
OPERAND1-INTERRUPT
OP1 VALUE-INTERRUPT
OPERAND2-
OP2 VALUE-
COMMENT-;enable the 1us interrupts
ADDRESS-012
LABEL-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-012
LABEL-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-012
LABEL-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;Start of the main program loop.
ADDRESS-012
LABEL-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-012
LABEL-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;A prompt is transmitted to the UART transmitter and then
ADDRESS-012
LABEL-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;a command can be entered and interpreted.
ADDRESS-012
LABEL-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-012
LABEL-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-012
LABEL-prompt_input
INSTRUCTION-CALL
OPERAND1-send_prompt
OP1 VALUE-115
OPERAND2-
OP2 VALUE-
COMMENT-;Prompt 'KCPSM3>'
ADDRESS-013
LABEL-
INSTRUCTION-CALL
OPERAND1-receive_string
OP1 VALUE-0C3
OPERAND2-
OP2 VALUE-
COMMENT-;obtain input string and maintain the time
ADDRESS-014
LABEL-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-014
LABEL-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-014
LABEL-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;Parse the string and perform actions as required
ADDRESS-014
LABEL-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-014
LABEL-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-014
LABEL-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-014
LABEL-
INSTRUCTION-LOAD
OPERAND1-s1
OP1 VALUE-s1
OPERAND2-string_start
OP2 VALUE-20
COMMENT-
ADDRESS-015
LABEL-
INSTRUCTION-CALL
OPERAND1-fetch_char_from_memory
OP1 VALUE-091
OPERAND2-
OP2 VALUE-
COMMENT-
ADDRESS-016
LABEL-
INSTRUCTION-COMPARE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-character_CR
OP2 VALUE-0D
COMMENT-;carriage return does nothing
ADDRESS-017
LABEL-
INSTRUCTION-JUMP
OPERAND1-Z
OP1 VALUE-Z
OPERAND2-prompt_input
OP2 VALUE-012
COMMENT-
ADDRESS-018
LABEL-
INSTRUCTION-COMPARE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-character_T
OP2 VALUE-54
COMMENT-;start of 'TIME' command?
ADDRESS-019
LABEL-
INSTRUCTION-JUMP
OPERAND1-Z
OP1 VALUE-Z
OPERAND2-test_for_TIME
OP2 VALUE-01E
COMMENT-
ADDRESS-01A
LABEL-
INSTRUCTION-COMPARE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-character_A
OP2 VALUE-41
COMMENT-;start of 'ALARM' command?
ADDRESS-01B
LABEL-
INSTRUCTION-JUMP
OPERAND1-Z
OP1 VALUE-Z
OPERAND2-test_for_ALARM
OP2 VALUE-037
COMMENT-
ADDRESS-01C
LABEL-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-01C
LABEL-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;trap other command starts here
ADDRESS-01C
LABEL-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-01C
LABEL-bad_input_command
INSTRUCTION-CALL
OPERAND1-send_Syntax_Error
OP1 VALUE-0ED
OPERAND2-
OP2 VALUE-
COMMENT-;no valid command
ADDRESS-01D
LABEL-
INSTRUCTION-JUMP
OPERAND1-Z
OP1 VALUE-Z
OPERAND2-prompt_input
OP2 VALUE-012
COMMENT-
ADDRESS-01E
LABEL-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-01E
LABEL-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-01E
LABEL-test_for_TIME
INSTRUCTION-CALL
OPERAND1-fetch_char_from_memory
OP1 VALUE-091
OPERAND2-
OP2 VALUE-
COMMENT-
ADDRESS-01F
LABEL-
INSTRUCTION-COMPARE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-character_I
OP2 VALUE-49
COMMENT-;test for rest of 'TIME'
ADDRESS-020
LABEL-
INSTRUCTION-JUMP
OPERAND1-NZ
OP1 VALUE-NZ
OPERAND2-bad_input_command
OP2 VALUE-01C
COMMENT-
ADDRESS-021
LABEL-
INSTRUCTION-CALL
OPERAND1-fetch_char_from_memory
OP1 VALUE-091
OPERAND2-
OP2 VALUE-
COMMENT-
ADDRESS-022
LABEL-
INSTRUCTION-COMPARE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-character_M
OP2 VALUE-4D
COMMENT-
ADDRESS-023
LABEL-
INSTRUCTION-JUMP
OPERAND1-NZ
OP1 VALUE-NZ
OPERAND2-bad_input_command
OP2 VALUE-01C
COMMENT-
ADDRESS-024
LABEL-
INSTRUCTION-CALL
OPERAND1-fetch_char_from_memory
OP1 VALUE-091
OPERAND2-
OP2 VALUE-
COMMENT-
ADDRESS-025
LABEL-
INSTRUCTION-COMPARE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-character_E
OP2 VALUE-45
COMMENT-
ADDRESS-026
LABEL-
INSTRUCTION-JUMP
OPERAND1-NZ
OP1 VALUE-NZ
OPERAND2-bad_input_command
OP2 VALUE-01C
COMMENT-
ADDRESS-027
LABEL-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;now have a valid TIME command to process
ADDRESS-027
LABEL-
INSTRUCTION-CALL
OPERAND1-fetch_char_from_memory
OP1 VALUE-091
OPERAND2-
OP2 VALUE-
COMMENT-
ADDRESS-028
LABEL-
INSTRUCTION-COMPARE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-character_CR
OP2 VALUE-0D
COMMENT-;carriage return means display time
ADDRESS-029
LABEL-
INSTRUCTION-JUMP
OPERAND1-NZ
OP1 VALUE-NZ
OPERAND2-set_time_command
OP2 VALUE-02C
COMMENT-
ADDRESS-02A
LABEL-
INSTRUCTION-CALL
OPERAND1-transmit_time
OP1 VALUE-0A8
OPERAND2-
OP2 VALUE-
COMMENT-;transmit time to UART
ADDRESS-02B
LABEL-
INSTRUCTION-JUMP
OPERAND1-prompt_input
OP1 VALUE-012
OPERAND2-
OP2 VALUE-
COMMENT-
ADDRESS-02C
LABEL-set_time_command
INSTRUCTION-COMPARE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-character_space
OP2 VALUE-20
COMMENT-
ADDRESS-02D
LABEL-
INSTRUCTION-JUMP
OPERAND1-NZ
OP1 VALUE-NZ
OPERAND2-bad_input_command
OP2 VALUE-01C
COMMENT-
ADDRESS-02E
LABEL-
INSTRUCTION-CALL
OPERAND1-test_time_string
OP1 VALUE-06D
OPERAND2-
OP2 VALUE-
COMMENT-;interpret 'hh:mm:ss' string
ADDRESS-02F
LABEL-
INSTRUCTION-JUMP
OPERAND1-C
OP1 VALUE-C
OPERAND2-prompt_input
OP2 VALUE-012
COMMENT-;test for invalid input
ADDRESS-030
LABEL-
INSTRUCTION-STORE
OPERAND1-s6
OP1 VALUE-s6
OPERAND2-real_time_hours
OP2 VALUE-06
COMMENT-;set new time into clock
ADDRESS-031
LABEL-
INSTRUCTION-STORE
OPERAND1-s5
OP1 VALUE-s5
OPERAND2-real_time_minutes
OP2 VALUE-07
COMMENT-
ADDRESS-032
LABEL-
INSTRUCTION-STORE
OPERAND1-s4
OP1 VALUE-s4
OPERAND2-real_time_seconds
OP2 VALUE-08
COMMENT-
ADDRESS-033
LABEL-
INSTRUCTION-STORE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-ms_time_lsb
OP2 VALUE-04
COMMENT-;clear 'ms' counter (s0=00)
ADDRESS-034
LABEL-
INSTRUCTION-STORE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-ms_time_msb
OP2 VALUE-05
COMMENT-
ADDRESS-035
LABEL-
INSTRUCTION-CALL
OPERAND1-transmit_time
OP1 VALUE-0A8
OPERAND2-
OP2 VALUE-
COMMENT-;transmit new time to UART
ADDRESS-036
LABEL-
INSTRUCTION-JUMP
OPERAND1-prompt_input
OP1 VALUE-012
OPERAND2-
OP2 VALUE-
COMMENT-
ADDRESS-037
LABEL-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-037
LABEL-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-037
LABEL-test_for_ALARM
INSTRUCTION-CALL
OPERAND1-fetch_char_from_memory
OP1 VALUE-091
OPERAND2-
OP2 VALUE-
COMMENT-
ADDRESS-038
LABEL-
INSTRUCTION-COMPARE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-character_L
OP2 VALUE-4C
COMMENT-;test for rest of 'ALARM'
ADDRESS-039
LABEL-
INSTRUCTION-JUMP
OPERAND1-NZ
OP1 VALUE-NZ
OPERAND2-bad_input_command
OP2 VALUE-01C
COMMENT-
ADDRESS-03A
LABEL-
INSTRUCTION-CALL
OPERAND1-fetch_char_from_memory
OP1 VALUE-091
OPERAND2-
OP2 VALUE-
COMMENT-
ADDRESS-03B
LABEL-
INSTRUCTION-COMPARE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-character_A
OP2 VALUE-41
COMMENT-
ADDRESS-03C
LABEL-
INSTRUCTION-JUMP
OPERAND1-NZ
OP1 VALUE-NZ
OPERAND2-bad_input_command
OP2 VALUE-01C
COMMENT-
ADDRESS-03D
LABEL-
INSTRUCTION-CALL
OPERAND1-fetch_char_from_memory
OP1 VALUE-091
OPERAND2-
OP2 VALUE-
COMMENT-
ADDRESS-03E
LABEL-
INSTRUCTION-COMPARE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-character_R
OP2 VALUE-52
COMMENT-
ADDRESS-03F
LABEL-
INSTRUCTION-JUMP
OPERAND1-NZ
OP1 VALUE-NZ
OPERAND2-bad_input_command
OP2 VALUE-01C
COMMENT-
ADDRESS-040
LABEL-
INSTRUCTION-CALL
OPERAND1-fetch_char_from_memory
OP1 VALUE-091
OPERAND2-
OP2 VALUE-
COMMENT-
ADDRESS-041
LABEL-
INSTRUCTION-COMPARE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-character_M
OP2 VALUE-4D
COMMENT-
ADDRESS-042
LABEL-
INSTRUCTION-JUMP
OPERAND1-NZ
OP1 VALUE-NZ
OPERAND2-bad_input_command
OP2 VALUE-01C
COMMENT-
ADDRESS-043
LABEL-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;now have a valid ALARM command to process
ADDRESS-043
LABEL-
INSTRUCTION-CALL
OPERAND1-fetch_char_from_memory
OP1 VALUE-091
OPERAND2-
OP2 VALUE-
COMMENT-
ADDRESS-044
LABEL-
INSTRUCTION-COMPARE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-character_CR
OP2 VALUE-0D
COMMENT-;carriage return means display alarm time
ADDRESS-045
LABEL-
INSTRUCTION-JUMP
OPERAND1-NZ
OP1 VALUE-NZ
OPERAND2-set_alarm_command
OP2 VALUE-048
COMMENT-
ADDRESS-046
LABEL-
INSTRUCTION-CALL
OPERAND1-transmit_alarm_time
OP1 VALUE-0AC
OPERAND2-
OP2 VALUE-
COMMENT-;transmit time to UART
ADDRESS-047
LABEL-
INSTRUCTION-JUMP
OPERAND1-prompt_input
OP1 VALUE-012
OPERAND2-
OP2 VALUE-
COMMENT-
ADDRESS-048
LABEL-set_alarm_command
INSTRUCTION-COMPARE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-character_space
OP2 VALUE-20
COMMENT-;test for ON or OFF command
ADDRESS-049
LABEL-
INSTRUCTION-JUMP
OPERAND1-NZ
OP1 VALUE-NZ
OPERAND2-bad_input_command
OP2 VALUE-01C
COMMENT-
ADDRESS-04A
LABEL-
INSTRUCTION-CALL
OPERAND1-fetch_char_from_memory
OP1 VALUE-091
OPERAND2-
OP2 VALUE-
COMMENT-
ADDRESS-04B
LABEL-
INSTRUCTION-COMPARE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-character_O
OP2 VALUE-4F
COMMENT-
ADDRESS-04C
LABEL-
INSTRUCTION-JUMP
OPERAND1-Z
OP1 VALUE-Z
OPERAND2-set_alarm_on_off
OP2 VALUE-055
COMMENT-
ADDRESS-04D
LABEL-
INSTRUCTION-SUB
OPERAND1-s1
OP1 VALUE-s1
OPERAND2-01
OP2 VALUE-01
COMMENT-;move memory pointer back to first character of 'hh:mm:ss' string
ADDRESS-04E
LABEL-
INSTRUCTION-CALL
OPERAND1-test_time_string
OP1 VALUE-06D
OPERAND2-
OP2 VALUE-
COMMENT-;interpret 'hh:mm:ss' string
ADDRESS-04F
LABEL-
INSTRUCTION-JUMP
OPERAND1-C
OP1 VALUE-C
OPERAND2-prompt_input
OP2 VALUE-012
COMMENT-;test for invalid input
ADDRESS-050
LABEL-
INSTRUCTION-STORE
OPERAND1-s6
OP1 VALUE-s6
OPERAND2-alarm_time_hours
OP2 VALUE-09
COMMENT-;set new time into clock
ADDRESS-051
LABEL-
INSTRUCTION-STORE
OPERAND1-s5
OP1 VALUE-s5
OPERAND2-alarm_time_minutes
OP2 VALUE-0A
COMMENT-
ADDRESS-052
LABEL-
INSTRUCTION-STORE
OPERAND1-s4
OP1 VALUE-s4
OPERAND2-alarm_time_seconds
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -