📄 pass3.dat
字号:
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;KCPSM3 Program - Real Time Clock with UART communication.
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;Ken Chapman - Xilinx Ltd - October 2003
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;Port definitions
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-000
LABEL-
INSTRUCTION-CONSTANT
OPERAND1-UART_status_port
OPERAND2-00
COMMENT-;UART status input
ADDRESS-000
LABEL-
INSTRUCTION-CONSTANT
OPERAND1-tx_half_full
OPERAND2-01
COMMENT-; Transmitter half full - bit0
ADDRESS-000
LABEL-
INSTRUCTION-CONSTANT
OPERAND1-tx_full
OPERAND2-02
COMMENT-; FIFO full - bit1
ADDRESS-000
LABEL-
INSTRUCTION-CONSTANT
OPERAND1-rx_half_full
OPERAND2-04
COMMENT-; Receiver half full - bit2
ADDRESS-000
LABEL-
INSTRUCTION-CONSTANT
OPERAND1-rx_full
OPERAND2-08
COMMENT-; FIFO full - bit3
ADDRESS-000
LABEL-
INSTRUCTION-CONSTANT
OPERAND1-rx_data_present
OPERAND2-10
COMMENT-; data present - bit4
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-000
LABEL-
INSTRUCTION-CONSTANT
OPERAND1-UART_read_port
OPERAND2-01
COMMENT-;UART Rx data input
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-000
LABEL-
INSTRUCTION-CONSTANT
OPERAND1-UART_write_port
OPERAND2-01
COMMENT-;UART Tx data output
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-000
LABEL-
INSTRUCTION-CONSTANT
OPERAND1-alarm_port
OPERAND2-00
COMMENT-;Alarm output
ADDRESS-000
LABEL-
INSTRUCTION-CONSTANT
OPERAND1-alarm_control
OPERAND2-01
COMMENT-; bit0
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;Special Register usage
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-000
LABEL-
INSTRUCTION-NAMEREG
OPERAND1-sF
OPERAND2-UART_data
COMMENT-;used to pass data to and from the UART
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-000
LABEL-
INSTRUCTION-NAMEREG
OPERAND1-sE
OPERAND2-store_pointer
COMMENT-;used to pass location of data in scratch pad memory
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;Two registers to form a 16-bit counter used to count
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;interrupt pulses generated at 1us intervals.
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-000
LABEL-
INSTRUCTION-NAMEREG
OPERAND1-sD
OPERAND2-int_counter_lsb
COMMENT-;lower 8-bits
ADDRESS-000
LABEL-
INSTRUCTION-NAMEREG
OPERAND1-sC
OPERAND2-int_counter_msb
COMMENT-;upper 8-bits
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;Scratch Pad Memory Locations
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-000
LABEL-
INSTRUCTION-CONSTANT
OPERAND1-us_time_stamp_lsb
OPERAND2-00
COMMENT-;16-bit micro-second time stamp
ADDRESS-000
LABEL-
INSTRUCTION-CONSTANT
OPERAND1-us_time_stamp_msb
OPERAND2-01
COMMENT-
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-000
LABEL-
INSTRUCTION-CONSTANT
OPERAND1-us_time_lsb
OPERAND2-02
COMMENT-;16-bit micro-second real time value
ADDRESS-000
LABEL-
INSTRUCTION-CONSTANT
OPERAND1-us_time_msb
OPERAND2-03
COMMENT-
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-000
LABEL-
INSTRUCTION-CONSTANT
OPERAND1-ms_time_lsb
OPERAND2-04
COMMENT-;16-bit milli-second real time value
ADDRESS-000
LABEL-
INSTRUCTION-CONSTANT
OPERAND1-ms_time_msb
OPERAND2-05
COMMENT-
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-000
LABEL-
INSTRUCTION-CONSTANT
OPERAND1-real_time_hours
OPERAND2-06
COMMENT-;Current clock time
ADDRESS-000
LABEL-
INSTRUCTION-CONSTANT
OPERAND1-real_time_minutes
OPERAND2-07
COMMENT-
ADDRESS-000
LABEL-
INSTRUCTION-CONSTANT
OPERAND1-real_time_seconds
OPERAND2-08
COMMENT-
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-000
LABEL-
INSTRUCTION-CONSTANT
OPERAND1-alarm_time_hours
OPERAND2-09
COMMENT-;Alarm time
ADDRESS-000
LABEL-
INSTRUCTION-CONSTANT
OPERAND1-alarm_time_minutes
OPERAND2-0A
COMMENT-
ADDRESS-000
LABEL-
INSTRUCTION-CONSTANT
OPERAND1-alarm_time_seconds
OPERAND2-0B
COMMENT-
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-000
LABEL-
INSTRUCTION-CONSTANT
OPERAND1-alarm_status
OPERAND2-0C
COMMENT-;Alarm status
ADDRESS-000
LABEL-
INSTRUCTION-CONSTANT
OPERAND1-alarm_active
OPERAND2-01
COMMENT-; bit0 - Alarm is active
ADDRESS-000
LABEL-
INSTRUCTION-CONSTANT
OPERAND1-alarm_armed
OPERAND2-02
COMMENT-; bit1 - Alarm is armed
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-000
LABEL-
INSTRUCTION-CONSTANT
OPERAND1-time_preserve0
OPERAND2-10
COMMENT-;storage for protection of registers
ADDRESS-000
LABEL-
INSTRUCTION-CONSTANT
OPERAND1-time_preserve1
OPERAND2-11
COMMENT-;used by the real time clock routine.
ADDRESS-000
LABEL-
INSTRUCTION-CONSTANT
OPERAND1-time_preserve2
OPERAND2-12
COMMENT-
ADDRESS-000
LABEL-
INSTRUCTION-CONSTANT
OPERAND1-time_preserve3
OPERAND2-13
COMMENT-
ADDRESS-000
LABEL-
INSTRUCTION-CONSTANT
OPERAND1-time_preserve4
OPERAND2-14
COMMENT-
ADDRESS-000
LABEL-
INSTRUCTION-CONSTANT
OPERAND1-time_preserve5
OPERAND2-15
COMMENT-
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;UART character strings will be stored in scratch pad memory ending in carriage return.
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;A string can be up to 16 characters with the start location defined by this constant.
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-000
LABEL-
INSTRUCTION-CONSTANT
OPERAND1-string_start
OPERAND2-20
COMMENT-
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;Initialise the system
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-000
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-000
LABEL-cold_start
INSTRUCTION-LOAD
OPERAND1-s0
OPERAND2-00
COMMENT-;clear all time values
ADDRESS-001
LABEL-
INSTRUCTION-STORE
OPERAND1-s0
OPERAND2-us_time_stamp_lsb
COMMENT-
ADDRESS-002
LABEL-
INSTRUCTION-STORE
OPERAND1-s0
OPERAND2-us_time_stamp_msb
COMMENT-
ADDRESS-003
LABEL-
INSTRUCTION-STORE
OPERAND1-s0
OPERAND2-us_time_lsb
COMMENT-
ADDRESS-004
LABEL-
INSTRUCTION-STORE
OPERAND1-s0
OPERAND2-us_time_msb
COMMENT-
ADDRESS-005
LABEL-
INSTRUCTION-STORE
OPERAND1-s0
OPERAND2-ms_time_lsb
COMMENT-
ADDRESS-006
LABEL-
INSTRUCTION-STORE
OPERAND1-s0
OPERAND2-ms_time_msb
COMMENT-
ADDRESS-007
LABEL-
INSTRUCTION-STORE
OPERAND1-s0
OPERAND2-real_time_hours
COMMENT-
ADDRESS-008
LABEL-
INSTRUCTION-STORE
OPERAND1-s0
OPERAND2-real_time_minutes
COMMENT-
ADDRESS-009
LABEL-
INSTRUCTION-STORE
OPERAND1-s0
OPERAND2-real_time_seconds
COMMENT-
ADDRESS-00A
LABEL-
INSTRUCTION-STORE
OPERAND1-s0
OPERAND2-alarm_time_hours
COMMENT-
ADDRESS-00B
LABEL-
INSTRUCTION-STORE
OPERAND1-s0
OPERAND2-alarm_time_minutes
COMMENT-
ADDRESS-00C
LABEL-
INSTRUCTION-STORE
OPERAND1-s0
OPERAND2-alarm_time_seconds
COMMENT-
ADDRESS-00D
LABEL-
INSTRUCTION-STORE
OPERAND1-s0
OPERAND2-alarm_status
COMMENT-;clear and disable alarm
ADDRESS-00E
LABEL-
INSTRUCTION-CALL
OPERAND1-alarm_drive
OPERAND2-
COMMENT-;turn off alarm control output port
ADDRESS-00F
LABEL-
INSTRUCTION-LOAD
OPERAND1-int_counter_lsb
OPERAND2-00
COMMENT-;clear 'us' interrupt counter
ADDRESS-010
LABEL-
INSTRUCTION-LOAD
OPERAND1-int_counter_msb
OPERAND2-00
COMMENT-
ADDRESS-011
LABEL-
INSTRUCTION-ENABLE
OPERAND1-INTERRUPT
OPERAND2-
COMMENT-;enable the 1us interrupts
ADDRESS-012
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-012
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-012
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;Start of the main program loop.
ADDRESS-012
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-012
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;A prompt is transmitted to the UART transmitter and then
ADDRESS-012
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;a command can be entered and interpreted.
ADDRESS-012
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-012
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-012
LABEL-prompt_input
INSTRUCTION-CALL
OPERAND1-send_prompt
OPERAND2-
COMMENT-;Prompt 'KCPSM3>'
ADDRESS-013
LABEL-
INSTRUCTION-CALL
OPERAND1-receive_string
OPERAND2-
COMMENT-;obtain input string and maintain the time
ADDRESS-014
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-014
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-014
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;Parse the string and perform actions as required
ADDRESS-014
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-014
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-014
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
ADDRESS-014
LABEL-
INSTRUCTION-LOAD
OPERAND1-s1
OPERAND2-string_start
COMMENT-
ADDRESS-015
LABEL-
INSTRUCTION-CALL
OPERAND1-fetch_char_from_memory
OPERAND2-
COMMENT-
ADDRESS-016
LABEL-
INSTRUCTION-COMPARE
OPERAND1-s0
OPERAND2-character_CR
COMMENT-;carriage return does nothing
ADDRESS-017
LABEL-
INSTRUCTION-JUMP
OPERAND1-Z
OPERAND2-prompt_input
COMMENT-
ADDRESS-018
LABEL-
INSTRUCTION-COMPARE
OPERAND1-s0
OPERAND2-character_T
COMMENT-;start of 'TIME' command?
ADDRESS-019
LABEL-
INSTRUCTION-JUMP
OPERAND1-Z
OPERAND2-test_for_TIME
COMMENT-
ADDRESS-01A
LABEL-
INSTRUCTION-COMPARE
OPERAND1-s0
OPERAND2-character_A
COMMENT-;start of 'ALARM' command?
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -