📄 pass5.dat
字号:
OP2 VALUE-46
COMMENT-;test for for 'OFF'
ADDRESS-061
LABEL-
FORMATTED-JUMP NZ, bad_input_command
LOGFORMAT-JUMP NZ, bad_input_command[01C]
INSTRUCTION-JUMP
OPERAND1-NZ
OP1 VALUE-NZ
OPERAND2-bad_input_command
OP2 VALUE-01C
COMMENT-
ADDRESS-062
LABEL-
FORMATTED-CALL fetch_char_from_memory
LOGFORMAT-CALL fetch_char_from_memory[091]
INSTRUCTION-CALL
OPERAND1-fetch_char_from_memory
OP1 VALUE-091
OPERAND2-
OP2 VALUE-
COMMENT-
ADDRESS-063
LABEL-
FORMATTED-COMPARE s0, character_F
LOGFORMAT-COMPARE s0, character_F[46]
INSTRUCTION-COMPARE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-character_F
OP2 VALUE-46
COMMENT-
ADDRESS-064
LABEL-
FORMATTED-JUMP NZ, bad_input_command
LOGFORMAT-JUMP NZ, bad_input_command[01C]
INSTRUCTION-JUMP
OPERAND1-NZ
OP1 VALUE-NZ
OPERAND2-bad_input_command
OP2 VALUE-01C
COMMENT-
ADDRESS-065
LABEL-
FORMATTED-CALL fetch_char_from_memory
LOGFORMAT-CALL fetch_char_from_memory[091]
INSTRUCTION-CALL
OPERAND1-fetch_char_from_memory
OP1 VALUE-091
OPERAND2-
OP2 VALUE-
COMMENT-
ADDRESS-066
LABEL-
FORMATTED-COMPARE s0, character_CR
LOGFORMAT-COMPARE s0, character_CR[0D]
INSTRUCTION-COMPARE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-character_CR
OP2 VALUE-0D
COMMENT-
ADDRESS-067
LABEL-
FORMATTED-JUMP NZ, bad_input_command
LOGFORMAT-JUMP NZ, bad_input_command[01C]
INSTRUCTION-JUMP
OPERAND1-NZ
OP1 VALUE-NZ
OPERAND2-bad_input_command
OP2 VALUE-01C
COMMENT-
ADDRESS-068
LABEL-
FORMATTED-LOAD s0, 00
LOGFORMAT-LOAD s0, 00
INSTRUCTION-LOAD
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-00
OP2 VALUE-00
COMMENT-;turn alarm off and stop an active alarm
ADDRESS-069
LABEL-
FORMATTED-STORE s0, alarm_status
LOGFORMAT-STORE s0, alarm_status[0C]
INSTRUCTION-STORE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-alarm_status
OP2 VALUE-0C
COMMENT-
ADDRESS-06A
LABEL-
FORMATTED-CALL alarm_drive
LOGFORMAT-CALL alarm_drive[0A4]
INSTRUCTION-CALL
OPERAND1-alarm_drive
OP1 VALUE-0A4
OPERAND2-
OP2 VALUE-
COMMENT-;turn off alarm
ADDRESS-06B
LABEL-
FORMATTED-CALL transmit_alarm_time
LOGFORMAT-CALL transmit_alarm_time[0AC]
INSTRUCTION-CALL
OPERAND1-transmit_alarm_time
OP1 VALUE-0AC
OPERAND2-
OP2 VALUE-
COMMENT-;transmit alarm time and status
ADDRESS-06C
LABEL-
FORMATTED-JUMP prompt_input
LOGFORMAT-JUMP prompt_input[012]
INSTRUCTION-JUMP
OPERAND1-prompt_input
OP1 VALUE-012
OPERAND2-
OP2 VALUE-
COMMENT-
ADDRESS-06D
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-06D
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-06D
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-06D
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-06D
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;Read an 'hh:mm:ss' time string and provide new values.
ADDRESS-06D
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-06D
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;The string must be provided in successive scratch pad memory locations
ADDRESS-06D
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;with the s1 register containing the location of the first character.
ADDRESS-06D
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-06D
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;A correct time specification will result in the return of new values
ADDRESS-06D
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;as follows:-
ADDRESS-06D
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-06D
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-; s6 = hours
ADDRESS-06D
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-; s5 = minutes
ADDRESS-06D
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-; s4 = seconds
ADDRESS-06D
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-06D
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;If the syntax is incorrect or values are not in the correct ranges an
ADDRESS-06D
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;'Invalid Time' message will be transmitted and the CARRY flag will be set
ADDRESS-06D
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-06D
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;Registers used s0, s1, s6, s5 and s4
ADDRESS-06D
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-06D
LABEL-test_time_string
FORMATTED-CALL 2char_to_value
LOGFORMAT-CALL 2char_to_value[1EC]
INSTRUCTION-CALL
OPERAND1-2char_to_value
OP1 VALUE-1EC
OPERAND2-
OP2 VALUE-
COMMENT-;obtain hours value
ADDRESS-06E
LABEL-
FORMATTED-JUMP C, invalid_time
LOGFORMAT-JUMP C, invalid_time[08B]
INSTRUCTION-JUMP
OPERAND1-C
OP1 VALUE-C
OPERAND2-invalid_time
OP2 VALUE-08B
COMMENT-;test for non-decimal characters
ADDRESS-06F
LABEL-
FORMATTED-LOAD s6, s2
LOGFORMAT-LOAD s6, s2
INSTRUCTION-LOAD
OPERAND1-s6
OP1 VALUE-s6
OPERAND2-s2
OP2 VALUE-s2
COMMENT-;remember hours
ADDRESS-070
LABEL-
FORMATTED-ADD s1, 01
LOGFORMAT-ADD s1, 01
INSTRUCTION-ADD
OPERAND1-s1
OP1 VALUE-s1
OPERAND2-01
OP2 VALUE-01
COMMENT-;increment memory pointer past hours
ADDRESS-071
LABEL-
FORMATTED-CALL fetch_char_from_memory
LOGFORMAT-CALL fetch_char_from_memory[091]
INSTRUCTION-CALL
OPERAND1-fetch_char_from_memory
OP1 VALUE-091
OPERAND2-
OP2 VALUE-
COMMENT-
ADDRESS-072
LABEL-
FORMATTED-COMPARE s0, character_colon
LOGFORMAT-COMPARE s0, character_colon[3A]
INSTRUCTION-COMPARE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-character_colon
OP2 VALUE-3A
COMMENT-;test for colon
ADDRESS-073
LABEL-
FORMATTED-JUMP NZ, invalid_time
LOGFORMAT-JUMP NZ, invalid_time[08B]
INSTRUCTION-JUMP
OPERAND1-NZ
OP1 VALUE-NZ
OPERAND2-invalid_time
OP2 VALUE-08B
COMMENT-
ADDRESS-074
LABEL-
FORMATTED-CALL 2char_to_value
LOGFORMAT-CALL 2char_to_value[1EC]
INSTRUCTION-CALL
OPERAND1-2char_to_value
OP1 VALUE-1EC
OPERAND2-
OP2 VALUE-
COMMENT-;obtain minutes value
ADDRESS-075
LABEL-
FORMATTED-JUMP C, invalid_time
LOGFORMAT-JUMP C, invalid_time[08B]
INSTRUCTION-JUMP
OPERAND1-C
OP1 VALUE-C
OPERAND2-invalid_time
OP2 VALUE-08B
COMMENT-;test for non-decimal characters
ADDRESS-076
LABEL-
FORMATTED-LOAD s5, s2
LOGFORMAT-LOAD s5, s2
INSTRUCTION-LOAD
OPERAND1-s5
OP1 VALUE-s5
OPERAND2-s2
OP2 VALUE-s2
COMMENT-;remember minutes
ADDRESS-077
LABEL-
FORMATTED-ADD s1, 01
LOGFORMAT-ADD s1, 01
INSTRUCTION-ADD
OPERAND1-s1
OP1 VALUE-s1
OPERAND2-01
OP2 VALUE-01
COMMENT-;increment memory pointer past minutes
ADDRESS-078
LABEL-
FORMATTED-CALL fetch_char_from_memory
LOGFORMAT-CALL fetch_char_from_memory[091]
INSTRUCTION-CALL
OPERAND1-fetch_char_from_memory
OP1 VALUE-091
OPERAND2-
OP2 VALUE-
COMMENT-
ADDRESS-079
LABEL-
FORMATTED-COMPARE s0, character_colon
LOGFORMAT-COMPARE s0, character_colon[3A]
INSTRUCTION-COMPARE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-character_colon
OP2 VALUE-3A
COMMENT-;test for colon
ADDRESS-07A
LABEL-
FORMATTED-JUMP NZ, invalid_time
LOGFORMAT-JUMP NZ, invalid_time[08B]
INSTRUCTION-JUMP
OPERAND1-NZ
OP1 VALUE-NZ
OPERAND2-invalid_time
OP2 VALUE-08B
COMMENT-
ADDRESS-07B
LABEL-
FORMATTED-CALL 2char_to_value
LOGFORMAT-CALL 2char_to_value[1EC]
INSTRUCTION-CALL
OPERAND1-2char_to_value
OP1 VALUE-1EC
OPERAND2-
OP2 VALUE-
COMMENT-;obtain seconds value
ADDRESS-07C
LABEL-
FORMATTED-JUMP C, invalid_time
LOGFORMAT-JUMP C, invalid_time[08B]
INSTRUCTION-JUMP
OPERAND1-C
OP1 VALUE-C
OPERAND2-invalid_time
OP2 VALUE-08B
COMMENT-;test for non-decimal characters
ADDRESS-07D
LABEL-
FORMATTED-LOAD s4, s2
LOGFORMAT-LOAD s4, s2
INSTRUCTION-LOAD
OPERAND1-s4
OP1 VALUE-s4
OPERAND2-s2
OP2 VALUE-s2
COMMENT-;remember minutes
ADDRESS-07E
LABEL-
FORMATTED-ADD s1, 01
LOGFORMAT-ADD s1, 01
INSTRUCTION-ADD
OPERAND1-s1
OP1 VALUE-s1
OPERAND2-01
OP2 VALUE-01
COMMENT-;increment memory pointer past seconds
ADDRESS-07F
LABEL-
FORMATTED-CALL fetch_char_from_memory
LOGFORMAT-CALL fetch_char_from_memory[091]
INSTRUCTION-CALL
OPERAND1-fetch_char_from_memory
OP1 VALUE-091
OPERAND2-
OP2 VALUE-
COMMENT-
ADDRESS-080
LABEL-
FORMATTED-COMPARE s0, character_CR
LOGFORMAT-COMPARE s0, character_CR[0D]
INSTRUCTION-COMPARE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-character_CR
OP2 VALUE-0D
COMMENT-;finish with carriage return
ADDRESS-081
LABEL-
FORMATTED-JUMP NZ, invalid_time
LOGFORMAT-JUMP NZ, invalid_time[08B]
INSTRUCTION-JUMP
OPERAND1-NZ
OP1 VALUE-NZ
OPERAND2-invalid_time
OP2 VALUE-08B
COMMENT-
ADDRESS-082
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;Have values for hh:mm:ss but need to test if each is valid range.
ADDRESS-082
LABEL-
FORMATTED-COMPARE s6, hours_in_a_day
LOGFORMAT-COMPARE s6, hours_in_a_day[18]
INSTRUCTION-COMPARE
OPERAND1-s6
OP1 VALUE-s6
OPERAND2-hours_in_a_day
OP2 VALUE-18
COMMENT-
ADDRESS-083
LABEL-
FORMATTED-JUMP NC, invalid_time
LOGFORMAT-JUMP NC, invalid_time[08B]
INSTRUCTION-JUMP
OPERAND1-NC
OP1 VALUE-NC
OPERAND2-invalid_time
OP2 VALUE-08B
COMMENT-
ADDRESS-084
LABEL-
FORMATTED-COMPARE s5, minutes_in_an_hour
LOGFORMAT-COMPARE s5, minutes_in_an_hour[3C]
INSTRUCTION-COMPARE
OPERAND1-s5
OP1 VALUE-s5
OPERAND2-minutes_in_an_hour
OP2 VALUE-3C
COMMENT-
ADDRESS-085
LABEL-
FORMATTED-JUMP NC, invalid_time
LOGFORMAT-JUMP NC, invalid_time[08B]
INSTRUCTION-JUMP
OPERAND1-NC
OP1 VALUE-NC
OPERAND2-invalid_time
OP2 VALUE-08B
COMMENT-
ADDRESS-086
LABEL-
FORMATTED-COMPARE s4, seconds_in_a_minute
LOGFORMAT-COMPARE s4, seconds_in_a_minute[3C]
INSTRUCTION-COMPARE
OPERAND1-s4
OP1 VALUE-s4
OPERAND2-seconds_in_a_minute
OP2 VALUE-3C
COMMENT-
ADDRESS-087
LABEL-
FORMATTED-JUMP NC, invalid_time
LOGFORMAT-JUMP NC, invalid_time[08B]
INSTRUCTION-JUMP
OPERAND1-NC
OP1 VALUE-NC
OPERAND2-invalid_time
OP2 VALUE-08B
COMMENT-
ADDRESS-088
LABEL-
FORMATTED-LOAD s0, 00
LOGFORMAT-LOAD s0, 00
INSTRUCTION-LOAD
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-00
OP2 VALUE-00
COMMENT-
ADDRESS-089
LABEL-
FORMATTED-SR0 s0
LOGFORMAT-SR0 s0
INSTRUCTION-SR0
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-
OP2 VALUE-
COMMENT-;reset CARRY flag (with s0=0)
ADDRESS-08A
LABEL-
FORMATTED-RETURN
LOGFORMAT-RETURN
INSTRUCTION-RETURN
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;time string was OK
ADDRESS-08B
LABEL-invalid_time
FORMATTED-CALL send_Invalid
LOGFORMAT-CALL send_Invalid[125]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -