📄 pass3.dat
字号:
ADDRESS-01B
LABEL-
INSTRUCTION-JUMP
OPERAND1-Z
OPERAND2-test_for_ALARM
COMMENT-
ADDRESS-01C
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-01C
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;trap other command starts here
ADDRESS-01C
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-01C
LABEL-bad_input_command
INSTRUCTION-CALL
OPERAND1-send_Syntax_Error
OPERAND2-
COMMENT-;no valid command
ADDRESS-01D
LABEL-
INSTRUCTION-JUMP
OPERAND1-Z
OPERAND2-prompt_input
COMMENT-
ADDRESS-01E
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-01E
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-01E
LABEL-test_for_TIME
INSTRUCTION-CALL
OPERAND1-fetch_char_from_memory
OPERAND2-
COMMENT-
ADDRESS-01F
LABEL-
INSTRUCTION-COMPARE
OPERAND1-s0
OPERAND2-character_I
COMMENT-;test for rest of 'TIME'
ADDRESS-020
LABEL-
INSTRUCTION-JUMP
OPERAND1-NZ
OPERAND2-bad_input_command
COMMENT-
ADDRESS-021
LABEL-
INSTRUCTION-CALL
OPERAND1-fetch_char_from_memory
OPERAND2-
COMMENT-
ADDRESS-022
LABEL-
INSTRUCTION-COMPARE
OPERAND1-s0
OPERAND2-character_M
COMMENT-
ADDRESS-023
LABEL-
INSTRUCTION-JUMP
OPERAND1-NZ
OPERAND2-bad_input_command
COMMENT-
ADDRESS-024
LABEL-
INSTRUCTION-CALL
OPERAND1-fetch_char_from_memory
OPERAND2-
COMMENT-
ADDRESS-025
LABEL-
INSTRUCTION-COMPARE
OPERAND1-s0
OPERAND2-character_E
COMMENT-
ADDRESS-026
LABEL-
INSTRUCTION-JUMP
OPERAND1-NZ
OPERAND2-bad_input_command
COMMENT-
ADDRESS-027
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;now have a valid TIME command to process
ADDRESS-027
LABEL-
INSTRUCTION-CALL
OPERAND1-fetch_char_from_memory
OPERAND2-
COMMENT-
ADDRESS-028
LABEL-
INSTRUCTION-COMPARE
OPERAND1-s0
OPERAND2-character_CR
COMMENT-;carriage return means display time
ADDRESS-029
LABEL-
INSTRUCTION-JUMP
OPERAND1-NZ
OPERAND2-set_time_command
COMMENT-
ADDRESS-02A
LABEL-
INSTRUCTION-CALL
OPERAND1-transmit_time
OPERAND2-
COMMENT-;transmit time to UART
ADDRESS-02B
LABEL-
INSTRUCTION-JUMP
OPERAND1-prompt_input
OPERAND2-
COMMENT-
ADDRESS-02C
LABEL-set_time_command
INSTRUCTION-COMPARE
OPERAND1-s0
OPERAND2-character_space
COMMENT-
ADDRESS-02D
LABEL-
INSTRUCTION-JUMP
OPERAND1-NZ
OPERAND2-bad_input_command
COMMENT-
ADDRESS-02E
LABEL-
INSTRUCTION-CALL
OPERAND1-test_time_string
OPERAND2-
COMMENT-;interpret 'hh:mm:ss' string
ADDRESS-02F
LABEL-
INSTRUCTION-JUMP
OPERAND1-C
OPERAND2-prompt_input
COMMENT-;test for invalid input
ADDRESS-030
LABEL-
INSTRUCTION-STORE
OPERAND1-s6
OPERAND2-real_time_hours
COMMENT-;set new time into clock
ADDRESS-031
LABEL-
INSTRUCTION-STORE
OPERAND1-s5
OPERAND2-real_time_minutes
COMMENT-
ADDRESS-032
LABEL-
INSTRUCTION-STORE
OPERAND1-s4
OPERAND2-real_time_seconds
COMMENT-
ADDRESS-033
LABEL-
INSTRUCTION-STORE
OPERAND1-s0
OPERAND2-ms_time_lsb
COMMENT-;clear 'ms' counter (s0=00)
ADDRESS-034
LABEL-
INSTRUCTION-STORE
OPERAND1-s0
OPERAND2-ms_time_msb
COMMENT-
ADDRESS-035
LABEL-
INSTRUCTION-CALL
OPERAND1-transmit_time
OPERAND2-
COMMENT-;transmit new time to UART
ADDRESS-036
LABEL-
INSTRUCTION-JUMP
OPERAND1-prompt_input
OPERAND2-
COMMENT-
ADDRESS-037
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-037
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-037
LABEL-test_for_ALARM
INSTRUCTION-CALL
OPERAND1-fetch_char_from_memory
OPERAND2-
COMMENT-
ADDRESS-038
LABEL-
INSTRUCTION-COMPARE
OPERAND1-s0
OPERAND2-character_L
COMMENT-;test for rest of 'ALARM'
ADDRESS-039
LABEL-
INSTRUCTION-JUMP
OPERAND1-NZ
OPERAND2-bad_input_command
COMMENT-
ADDRESS-03A
LABEL-
INSTRUCTION-CALL
OPERAND1-fetch_char_from_memory
OPERAND2-
COMMENT-
ADDRESS-03B
LABEL-
INSTRUCTION-COMPARE
OPERAND1-s0
OPERAND2-character_A
COMMENT-
ADDRESS-03C
LABEL-
INSTRUCTION-JUMP
OPERAND1-NZ
OPERAND2-bad_input_command
COMMENT-
ADDRESS-03D
LABEL-
INSTRUCTION-CALL
OPERAND1-fetch_char_from_memory
OPERAND2-
COMMENT-
ADDRESS-03E
LABEL-
INSTRUCTION-COMPARE
OPERAND1-s0
OPERAND2-character_R
COMMENT-
ADDRESS-03F
LABEL-
INSTRUCTION-JUMP
OPERAND1-NZ
OPERAND2-bad_input_command
COMMENT-
ADDRESS-040
LABEL-
INSTRUCTION-CALL
OPERAND1-fetch_char_from_memory
OPERAND2-
COMMENT-
ADDRESS-041
LABEL-
INSTRUCTION-COMPARE
OPERAND1-s0
OPERAND2-character_M
COMMENT-
ADDRESS-042
LABEL-
INSTRUCTION-JUMP
OPERAND1-NZ
OPERAND2-bad_input_command
COMMENT-
ADDRESS-043
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;now have a valid ALARM command to process
ADDRESS-043
LABEL-
INSTRUCTION-CALL
OPERAND1-fetch_char_from_memory
OPERAND2-
COMMENT-
ADDRESS-044
LABEL-
INSTRUCTION-COMPARE
OPERAND1-s0
OPERAND2-character_CR
COMMENT-;carriage return means display alarm time
ADDRESS-045
LABEL-
INSTRUCTION-JUMP
OPERAND1-NZ
OPERAND2-set_alarm_command
COMMENT-
ADDRESS-046
LABEL-
INSTRUCTION-CALL
OPERAND1-transmit_alarm_time
OPERAND2-
COMMENT-;transmit time to UART
ADDRESS-047
LABEL-
INSTRUCTION-JUMP
OPERAND1-prompt_input
OPERAND2-
COMMENT-
ADDRESS-048
LABEL-set_alarm_command
INSTRUCTION-COMPARE
OPERAND1-s0
OPERAND2-character_space
COMMENT-;test for ON or OFF command
ADDRESS-049
LABEL-
INSTRUCTION-JUMP
OPERAND1-NZ
OPERAND2-bad_input_command
COMMENT-
ADDRESS-04A
LABEL-
INSTRUCTION-CALL
OPERAND1-fetch_char_from_memory
OPERAND2-
COMMENT-
ADDRESS-04B
LABEL-
INSTRUCTION-COMPARE
OPERAND1-s0
OPERAND2-character_O
COMMENT-
ADDRESS-04C
LABEL-
INSTRUCTION-JUMP
OPERAND1-Z
OPERAND2-set_alarm_on_off
COMMENT-
ADDRESS-04D
LABEL-
INSTRUCTION-SUB
OPERAND1-s1
OPERAND2-01
COMMENT-;move memory pointer back to first character of 'hh:mm:ss' string
ADDRESS-04E
LABEL-
INSTRUCTION-CALL
OPERAND1-test_time_string
OPERAND2-
COMMENT-;interpret 'hh:mm:ss' string
ADDRESS-04F
LABEL-
INSTRUCTION-JUMP
OPERAND1-C
OPERAND2-prompt_input
COMMENT-;test for invalid input
ADDRESS-050
LABEL-
INSTRUCTION-STORE
OPERAND1-s6
OPERAND2-alarm_time_hours
COMMENT-;set new time into clock
ADDRESS-051
LABEL-
INSTRUCTION-STORE
OPERAND1-s5
OPERAND2-alarm_time_minutes
COMMENT-
ADDRESS-052
LABEL-
INSTRUCTION-STORE
OPERAND1-s4
OPERAND2-alarm_time_seconds
COMMENT-
ADDRESS-053
LABEL-
INSTRUCTION-CALL
OPERAND1-transmit_alarm_time
OPERAND2-
COMMENT-;transmit new alarm time and status
ADDRESS-054
LABEL-
INSTRUCTION-JUMP
OPERAND1-prompt_input
OPERAND2-
COMMENT-
ADDRESS-055
LABEL-set_alarm_on_off
INSTRUCTION-CALL
OPERAND1-fetch_char_from_memory
OPERAND2-
COMMENT-
ADDRESS-056
LABEL-
INSTRUCTION-COMPARE
OPERAND1-s0
OPERAND2-character_N
COMMENT-;test for 'ON'
ADDRESS-057
LABEL-
INSTRUCTION-JUMP
OPERAND1-NZ
OPERAND2-test_OFF
COMMENT-
ADDRESS-058
LABEL-
INSTRUCTION-CALL
OPERAND1-fetch_char_from_memory
OPERAND2-
COMMENT-
ADDRESS-059
LABEL-
INSTRUCTION-COMPARE
OPERAND1-s0
OPERAND2-character_CR
COMMENT-
ADDRESS-05A
LABEL-
INSTRUCTION-JUMP
OPERAND1-NZ
OPERAND2-bad_input_command
COMMENT-
ADDRESS-05B
LABEL-
INSTRUCTION-FETCH
OPERAND1-s0
OPERAND2-alarm_status
COMMENT-;turn alarm on
ADDRESS-05C
LABEL-
INSTRUCTION-OR
OPERAND1-s0
OPERAND2-alarm_armed
COMMENT-
ADDRESS-05D
LABEL-
INSTRUCTION-STORE
OPERAND1-s0
OPERAND2-alarm_status
COMMENT-
ADDRESS-05E
LABEL-
INSTRUCTION-CALL
OPERAND1-transmit_alarm_time
OPERAND2-
COMMENT-;transmit alarm time and status
ADDRESS-05F
LABEL-
INSTRUCTION-JUMP
OPERAND1-prompt_input
OPERAND2-
COMMENT-
ADDRESS-060
LABEL-test_OFF
INSTRUCTION-COMPARE
OPERAND1-s0
OPERAND2-character_F
COMMENT-;test for for 'OFF'
ADDRESS-061
LABEL-
INSTRUCTION-JUMP
OPERAND1-NZ
OPERAND2-bad_input_command
COMMENT-
ADDRESS-062
LABEL-
INSTRUCTION-CALL
OPERAND1-fetch_char_from_memory
OPERAND2-
COMMENT-
ADDRESS-063
LABEL-
INSTRUCTION-COMPARE
OPERAND1-s0
OPERAND2-character_F
COMMENT-
ADDRESS-064
LABEL-
INSTRUCTION-JUMP
OPERAND1-NZ
OPERAND2-bad_input_command
COMMENT-
ADDRESS-065
LABEL-
INSTRUCTION-CALL
OPERAND1-fetch_char_from_memory
OPERAND2-
COMMENT-
ADDRESS-066
LABEL-
INSTRUCTION-COMPARE
OPERAND1-s0
OPERAND2-character_CR
COMMENT-
ADDRESS-067
LABEL-
INSTRUCTION-JUMP
OPERAND1-NZ
OPERAND2-bad_input_command
COMMENT-
ADDRESS-068
LABEL-
INSTRUCTION-LOAD
OPERAND1-s0
OPERAND2-00
COMMENT-;turn alarm off and stop an active alarm
ADDRESS-069
LABEL-
INSTRUCTION-STORE
OPERAND1-s0
OPERAND2-alarm_status
COMMENT-
ADDRESS-06A
LABEL-
INSTRUCTION-CALL
OPERAND1-alarm_drive
OPERAND2-
COMMENT-;turn off alarm
ADDRESS-06B
LABEL-
INSTRUCTION-CALL
OPERAND1-transmit_alarm_time
OPERAND2-
COMMENT-;transmit alarm time and status
ADDRESS-06C
LABEL-
INSTRUCTION-JUMP
OPERAND1-prompt_input
OPERAND2-
COMMENT-
ADDRESS-06D
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-06D
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-06D
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-06D
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-06D
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;Read an 'hh:mm:ss' time string and provide new values.
ADDRESS-06D
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-06D
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;The string must be provided in successive scratch pad memory locations
ADDRESS-06D
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;with the s1 register containing the location of the first character.
ADDRESS-06D
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-06D
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;A correct time specification will result in the return of new values
ADDRESS-06D
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;as follows:-
ADDRESS-06D
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-06D
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-; s6 = hours
ADDRESS-06D
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-; s5 = minutes
ADDRESS-06D
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-; s4 = seconds
ADDRESS-06D
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-06D
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;If the syntax is incorrect or values are not in the correct ranges an
ADDRESS-06D
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;'Invalid Time' message will be transmitted and the CARRY flag will be set
ADDRESS-06D
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-06D
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;Registers used s0, s1, s6, s5 and s4
ADDRESS-06D
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-06D
LABEL-test_time_string
INSTRUCTION-CALL
OPERAND1-2char_to_value
OPERAND2-
COMMENT-;obtain hours value
ADDRESS-06E
LABEL-
INSTRUCTION-JUMP
OPERAND1-C
OPERAND2-invalid_time
COMMENT-;test for non-decimal characters
ADDRESS-06F
LABEL-
INSTRUCTION-LOAD
OPERAND1-s6
OPERAND2-s2
COMMENT-;remember hours
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -