📄 pass5.dat
字号:
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-000
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;UART character strings will be stored in scratch pad memory ending in carriage return.
ADDRESS-000
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;A string can be up to 16 characters with the start location defined by this constant.
ADDRESS-000
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-000
LABEL-
FORMATTED-CONSTANT string_start, 20
LOGFORMAT-CONSTANT string_start, 20
INSTRUCTION-CONSTANT
OPERAND1-string_start
OP1 VALUE-string_start
OPERAND2-20
OP2 VALUE-20
COMMENT-
ADDRESS-000
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-000
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-000
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;Initialise the system
ADDRESS-000
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-000
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-000
LABEL-cold_start
FORMATTED-LOAD s0, 00
LOGFORMAT-LOAD s0, 00
INSTRUCTION-LOAD
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-00
OP2 VALUE-00
COMMENT-;clear all time values
ADDRESS-001
LABEL-
FORMATTED-STORE s0, us_time_stamp_lsb
LOGFORMAT-STORE s0, us_time_stamp_lsb[00]
INSTRUCTION-STORE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-us_time_stamp_lsb
OP2 VALUE-00
COMMENT-
ADDRESS-002
LABEL-
FORMATTED-STORE s0, us_time_stamp_msb
LOGFORMAT-STORE s0, us_time_stamp_msb[01]
INSTRUCTION-STORE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-us_time_stamp_msb
OP2 VALUE-01
COMMENT-
ADDRESS-003
LABEL-
FORMATTED-STORE s0, us_time_lsb
LOGFORMAT-STORE s0, us_time_lsb[02]
INSTRUCTION-STORE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-us_time_lsb
OP2 VALUE-02
COMMENT-
ADDRESS-004
LABEL-
FORMATTED-STORE s0, us_time_msb
LOGFORMAT-STORE s0, us_time_msb[03]
INSTRUCTION-STORE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-us_time_msb
OP2 VALUE-03
COMMENT-
ADDRESS-005
LABEL-
FORMATTED-STORE s0, ms_time_lsb
LOGFORMAT-STORE s0, ms_time_lsb[04]
INSTRUCTION-STORE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-ms_time_lsb
OP2 VALUE-04
COMMENT-
ADDRESS-006
LABEL-
FORMATTED-STORE s0, ms_time_msb
LOGFORMAT-STORE s0, ms_time_msb[05]
INSTRUCTION-STORE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-ms_time_msb
OP2 VALUE-05
COMMENT-
ADDRESS-007
LABEL-
FORMATTED-STORE s0, real_time_hours
LOGFORMAT-STORE s0, real_time_hours[06]
INSTRUCTION-STORE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-real_time_hours
OP2 VALUE-06
COMMENT-
ADDRESS-008
LABEL-
FORMATTED-STORE s0, real_time_minutes
LOGFORMAT-STORE s0, real_time_minutes[07]
INSTRUCTION-STORE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-real_time_minutes
OP2 VALUE-07
COMMENT-
ADDRESS-009
LABEL-
FORMATTED-STORE s0, real_time_seconds
LOGFORMAT-STORE s0, real_time_seconds[08]
INSTRUCTION-STORE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-real_time_seconds
OP2 VALUE-08
COMMENT-
ADDRESS-00A
LABEL-
FORMATTED-STORE s0, alarm_time_hours
LOGFORMAT-STORE s0, alarm_time_hours[09]
INSTRUCTION-STORE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-alarm_time_hours
OP2 VALUE-09
COMMENT-
ADDRESS-00B
LABEL-
FORMATTED-STORE s0, alarm_time_minutes
LOGFORMAT-STORE s0, alarm_time_minutes[0A]
INSTRUCTION-STORE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-alarm_time_minutes
OP2 VALUE-0A
COMMENT-
ADDRESS-00C
LABEL-
FORMATTED-STORE s0, alarm_time_seconds
LOGFORMAT-STORE s0, alarm_time_seconds[0B]
INSTRUCTION-STORE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-alarm_time_seconds
OP2 VALUE-0B
COMMENT-
ADDRESS-00D
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-;clear and disable alarm
ADDRESS-00E
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 control output port
ADDRESS-00F
LABEL-
FORMATTED-LOAD int_counter_lsb, 00
LOGFORMAT-LOAD int_counter_lsb[sD], 00
INSTRUCTION-LOAD
OPERAND1-int_counter_lsb
OP1 VALUE-sD
OPERAND2-00
OP2 VALUE-00
COMMENT-;clear 'us' interrupt counter
ADDRESS-010
LABEL-
FORMATTED-LOAD int_counter_msb, 00
LOGFORMAT-LOAD int_counter_msb[sC], 00
INSTRUCTION-LOAD
OPERAND1-int_counter_msb
OP1 VALUE-sC
OPERAND2-00
OP2 VALUE-00
COMMENT-
ADDRESS-011
LABEL-
FORMATTED-ENABLE INTERRUPT
LOGFORMAT-ENABLE INTERRUPT
INSTRUCTION-ENABLE
OPERAND1-INTERRUPT
OP1 VALUE-INTERRUPT
OPERAND2-
OP2 VALUE-
COMMENT-;enable the 1us interrupts
ADDRESS-012
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-012
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-012
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;Start of the main program loop.
ADDRESS-012
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-012
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;A prompt is transmitted to the UART transmitter and then
ADDRESS-012
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;a command can be entered and interpreted.
ADDRESS-012
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-012
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-012
LABEL-prompt_input
FORMATTED-CALL send_prompt
LOGFORMAT-CALL send_prompt[115]
INSTRUCTION-CALL
OPERAND1-send_prompt
OP1 VALUE-115
OPERAND2-
OP2 VALUE-
COMMENT-;Prompt 'KCPSM3>'
ADDRESS-013
LABEL-
FORMATTED-CALL receive_string
LOGFORMAT-CALL receive_string[0C3]
INSTRUCTION-CALL
OPERAND1-receive_string
OP1 VALUE-0C3
OPERAND2-
OP2 VALUE-
COMMENT-;obtain input string and maintain the time
ADDRESS-014
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-014
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-014
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;Parse the string and perform actions as required
ADDRESS-014
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-014
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-014
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-014
LABEL-
FORMATTED-LOAD s1, string_start
LOGFORMAT-LOAD s1, string_start[20]
INSTRUCTION-LOAD
OPERAND1-s1
OP1 VALUE-s1
OPERAND2-string_start
OP2 VALUE-20
COMMENT-
ADDRESS-015
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-016
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-;carriage return does nothing
ADDRESS-017
LABEL-
FORMATTED-JUMP Z, prompt_input
LOGFORMAT-JUMP Z, prompt_input[012]
INSTRUCTION-JUMP
OPERAND1-Z
OP1 VALUE-Z
OPERAND2-prompt_input
OP2 VALUE-012
COMMENT-
ADDRESS-018
LABEL-
FORMATTED-COMPARE s0, character_T
LOGFORMAT-COMPARE s0, character_T[54]
INSTRUCTION-COMPARE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-character_T
OP2 VALUE-54
COMMENT-;start of 'TIME' command?
ADDRESS-019
LABEL-
FORMATTED-JUMP Z, test_for_TIME
LOGFORMAT-JUMP Z, test_for_TIME[01E]
INSTRUCTION-JUMP
OPERAND1-Z
OP1 VALUE-Z
OPERAND2-test_for_TIME
OP2 VALUE-01E
COMMENT-
ADDRESS-01A
LABEL-
FORMATTED-COMPARE s0, character_A
LOGFORMAT-COMPARE s0, character_A[41]
INSTRUCTION-COMPARE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-character_A
OP2 VALUE-41
COMMENT-;start of 'ALARM' command?
ADDRESS-01B
LABEL-
FORMATTED-JUMP Z, test_for_ALARM
LOGFORMAT-JUMP Z, test_for_ALARM[037]
INSTRUCTION-JUMP
OPERAND1-Z
OP1 VALUE-Z
OPERAND2-test_for_ALARM
OP2 VALUE-037
COMMENT-
ADDRESS-01C
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-01C
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;trap other command starts here
ADDRESS-01C
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-01C
LABEL-bad_input_command
FORMATTED-CALL send_Syntax_Error
LOGFORMAT-CALL send_Syntax_Error[0ED]
INSTRUCTION-CALL
OPERAND1-send_Syntax_Error
OP1 VALUE-0ED
OPERAND2-
OP2 VALUE-
COMMENT-;no valid command
ADDRESS-01D
LABEL-
FORMATTED-JUMP Z, prompt_input
LOGFORMAT-JUMP Z, prompt_input[012]
INSTRUCTION-JUMP
OPERAND1-Z
OP1 VALUE-Z
OPERAND2-prompt_input
OP2 VALUE-012
COMMENT-
ADDRESS-01E
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-01E
LABEL-
FORMATTED-
LOGFORMAT-
INSTRUCTION-
OPERAND1-
OP1 VALUE-
OPERAND2-
OP2 VALUE-
COMMENT-;
ADDRESS-01E
LABEL-test_for_TIME
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-01F
LABEL-
FORMATTED-COMPARE s0, character_I
LOGFORMAT-COMPARE s0, character_I[49]
INSTRUCTION-COMPARE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-character_I
OP2 VALUE-49
COMMENT-;test for rest of 'TIME'
ADDRESS-020
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-021
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-022
LABEL-
FORMATTED-COMPARE s0, character_M
LOGFORMAT-COMPARE s0, character_M[4D]
INSTRUCTION-COMPARE
OPERAND1-s0
OP1 VALUE-s0
OPERAND2-character_M
OP2 VALUE-4D
COMMENT-
ADDRESS-023
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-024
LABEL-
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -