⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pass3.dat

📁 UART transmitter and receiver mocros
💻 DAT
📖 第 1 页 / 共 5 页
字号:
    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 + -