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

📄 pass1.dat

📁 UART transmitter and receiver mocros
💻 DAT
📖 第 1 页 / 共 5 页
字号:
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;KCPSM3 Program - Real Time Clock with UART communication.
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Ken Chapman - Xilinx Ltd - October 2003
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Port definitions
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-CONSTANT
   OPERAND1-UART_status_port
   OPERAND2-00
    COMMENT-;UART status input
      LABEL-
INSTRUCTION-CONSTANT
   OPERAND1-tx_half_full
   OPERAND2-01
    COMMENT-;  Transmitter     half full - bit0
      LABEL-
INSTRUCTION-CONSTANT
   OPERAND1-tx_full
   OPERAND2-02
    COMMENT-;    FIFO               full - bit1
      LABEL-
INSTRUCTION-CONSTANT
   OPERAND1-rx_half_full
   OPERAND2-04
    COMMENT-;  Receiver        half full - bit2
      LABEL-
INSTRUCTION-CONSTANT
   OPERAND1-rx_full
   OPERAND2-08
    COMMENT-;    FIFO               full - bit3
      LABEL-
INSTRUCTION-CONSTANT
   OPERAND1-rx_data_present
   OPERAND2-10
    COMMENT-;               data present - bit4
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-CONSTANT
   OPERAND1-UART_read_port
   OPERAND2-01
    COMMENT-;UART Rx data input
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-CONSTANT
   OPERAND1-UART_write_port
   OPERAND2-01
    COMMENT-;UART Tx data output
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-CONSTANT
   OPERAND1-alarm_port
   OPERAND2-00
    COMMENT-;Alarm output
      LABEL-
INSTRUCTION-CONSTANT
   OPERAND1-alarm_control
   OPERAND2-01
    COMMENT-;     bit0
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Special Register usage
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-NAMEREG
   OPERAND1-sF
   OPERAND2-UART_data
    COMMENT-;used to pass data to and from the UART
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-NAMEREG
   OPERAND1-sE
   OPERAND2-store_pointer
    COMMENT-;used to pass location of data in scratch pad memory
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Two registers to form a 16-bit counter used to count
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;interrupt pulses generated at 1us intervals.
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-NAMEREG
   OPERAND1-sD
   OPERAND2-int_counter_lsb
    COMMENT-;lower 8-bits
      LABEL-
INSTRUCTION-NAMEREG
   OPERAND1-sC
   OPERAND2-int_counter_msb
    COMMENT-;upper 8-bits
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Scratch Pad Memory Locations
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-CONSTANT
   OPERAND1-us_time_stamp_lsb
   OPERAND2-00
    COMMENT-;16-bit micro-second time stamp
      LABEL-
INSTRUCTION-CONSTANT
   OPERAND1-us_time_stamp_msb
   OPERAND2-01
    COMMENT-
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-CONSTANT
   OPERAND1-us_time_lsb
   OPERAND2-02
    COMMENT-;16-bit micro-second real time value
      LABEL-
INSTRUCTION-CONSTANT
   OPERAND1-us_time_msb
   OPERAND2-03
    COMMENT-
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-CONSTANT
   OPERAND1-ms_time_lsb
   OPERAND2-04
    COMMENT-;16-bit milli-second real time value
      LABEL-
INSTRUCTION-CONSTANT
   OPERAND1-ms_time_msb
   OPERAND2-05
    COMMENT-
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-CONSTANT
   OPERAND1-real_time_hours
   OPERAND2-06
    COMMENT-;Current clock time
      LABEL-
INSTRUCTION-CONSTANT
   OPERAND1-real_time_minutes
   OPERAND2-07
    COMMENT-
      LABEL-
INSTRUCTION-CONSTANT
   OPERAND1-real_time_seconds
   OPERAND2-08
    COMMENT-
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-CONSTANT
   OPERAND1-alarm_time_hours
   OPERAND2-09
    COMMENT-;Alarm time
      LABEL-
INSTRUCTION-CONSTANT
   OPERAND1-alarm_time_minutes
   OPERAND2-0A
    COMMENT-
      LABEL-
INSTRUCTION-CONSTANT
   OPERAND1-alarm_time_seconds
   OPERAND2-0B
    COMMENT-
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-CONSTANT
   OPERAND1-alarm_status
   OPERAND2-0C
    COMMENT-;Alarm status
      LABEL-
INSTRUCTION-CONSTANT
   OPERAND1-alarm_active
   OPERAND2-01
    COMMENT-;    bit0 - Alarm is active
      LABEL-
INSTRUCTION-CONSTANT
   OPERAND1-alarm_armed
   OPERAND2-02
    COMMENT-;    bit1 - Alarm is armed
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-CONSTANT
   OPERAND1-time_preserve0
   OPERAND2-10
    COMMENT-;storage for protection of registers
      LABEL-
INSTRUCTION-CONSTANT
   OPERAND1-time_preserve1
   OPERAND2-11
    COMMENT-;used by the real time clock routine.
      LABEL-
INSTRUCTION-CONSTANT
   OPERAND1-time_preserve2
   OPERAND2-12
    COMMENT-
      LABEL-
INSTRUCTION-CONSTANT
   OPERAND1-time_preserve3
   OPERAND2-13
    COMMENT-
      LABEL-
INSTRUCTION-CONSTANT
   OPERAND1-time_preserve4
   OPERAND2-14
    COMMENT-
      LABEL-
INSTRUCTION-CONSTANT
   OPERAND1-time_preserve5
   OPERAND2-15
    COMMENT-
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;UART character strings will be stored in scratch pad memory ending in carriage return.
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;A string can be up to 16 characters with the start location defined by this constant.
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-CONSTANT
   OPERAND1-string_start
   OPERAND2-20
    COMMENT-
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Initialise the system
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-cold_start
INSTRUCTION-LOAD
   OPERAND1-s0
   OPERAND2-00
    COMMENT-;clear all time values
      LABEL-
INSTRUCTION-STORE
   OPERAND1-s0
   OPERAND2-us_time_stamp_lsb
    COMMENT-
      LABEL-
INSTRUCTION-STORE
   OPERAND1-s0
   OPERAND2-us_time_stamp_msb
    COMMENT-
      LABEL-
INSTRUCTION-STORE
   OPERAND1-s0
   OPERAND2-us_time_lsb
    COMMENT-
      LABEL-
INSTRUCTION-STORE
   OPERAND1-s0
   OPERAND2-us_time_msb
    COMMENT-
      LABEL-
INSTRUCTION-STORE
   OPERAND1-s0
   OPERAND2-ms_time_lsb
    COMMENT-
      LABEL-
INSTRUCTION-STORE
   OPERAND1-s0
   OPERAND2-ms_time_msb
    COMMENT-
      LABEL-
INSTRUCTION-STORE
   OPERAND1-s0
   OPERAND2-real_time_hours
    COMMENT-
      LABEL-
INSTRUCTION-STORE
   OPERAND1-s0
   OPERAND2-real_time_minutes
    COMMENT-
      LABEL-
INSTRUCTION-STORE
   OPERAND1-s0
   OPERAND2-real_time_seconds
    COMMENT-
      LABEL-
INSTRUCTION-STORE
   OPERAND1-s0
   OPERAND2-alarm_time_hours
    COMMENT-
      LABEL-
INSTRUCTION-STORE
   OPERAND1-s0
   OPERAND2-alarm_time_minutes
    COMMENT-
      LABEL-
INSTRUCTION-STORE
   OPERAND1-s0
   OPERAND2-alarm_time_seconds
    COMMENT-
      LABEL-
INSTRUCTION-STORE
   OPERAND1-s0
   OPERAND2-alarm_status
    COMMENT-;clear and disable alarm
      LABEL-
INSTRUCTION-CALL
   OPERAND1-alarm_drive
   OPERAND2-
    COMMENT-;turn off alarm control output port
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-int_counter_lsb
   OPERAND2-00
    COMMENT-;clear 'us' interrupt counter
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-int_counter_msb
   OPERAND2-00
    COMMENT-
      LABEL-
INSTRUCTION-ENABLE
   OPERAND1-INTERRUPT
   OPERAND2-
    COMMENT-;enable the 1us interrupts
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Start of the main program loop.
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;A prompt is transmitted to the UART transmitter and then
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;a command can be entered and interpreted.
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-prompt_input
INSTRUCTION-CALL
   OPERAND1-send_prompt
   OPERAND2-
    COMMENT-;Prompt 'KCPSM3>'
      LABEL-
INSTRUCTION-CALL
   OPERAND1-receive_string
   OPERAND2-
    COMMENT-;obtain input string and maintain the time
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Parse the string and perform actions as required
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s1
   OPERAND2-string_start
    COMMENT-
      LABEL-
INSTRUCTION-CALL
   OPERAND1-fetch_char_from_memory
   OPERAND2-
    COMMENT-
      LABEL-
INSTRUCTION-COMPARE
   OPERAND1-s0
   OPERAND2-character_CR
    COMMENT-;carriage return does nothing
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-Z
   OPERAND2-prompt_input
    COMMENT-
      LABEL-
INSTRUCTION-COMPARE
   OPERAND1-s0
   OPERAND2-character_T
    COMMENT-;start of 'TIME' command?
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-Z
   OPERAND2-test_for_TIME
    COMMENT-
      LABEL-
INSTRUCTION-COMPARE
   OPERAND1-s0
   OPERAND2-character_A
    COMMENT-;start of 'ALARM' command?
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-Z
   OPERAND2-test_for_ALARM
    COMMENT-
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;trap other command starts here
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-bad_input_command
INSTRUCTION-CALL
   OPERAND1-send_Syntax_Error
   OPERAND2-
    COMMENT-;no valid command
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-Z
   OPERAND2-prompt_input
    COMMENT-
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
      LABEL-test_for_TIME
INSTRUCTION-CALL
   OPERAND1-fetch_char_from_memory
   OPERAND2-
    COMMENT-
      LABEL-
INSTRUCTION-COMPARE
   OPERAND1-s0
   OPERAND2-character_I
    COMMENT-;test for rest of 'TIME'
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-NZ
   OPERAND2-bad_input_command
    COMMENT-
      LABEL-
INSTRUCTION-CALL
   OPERAND1-fetch_char_from_memory
   OPERAND2-
    COMMENT-
      LABEL-
INSTRUCTION-COMPARE
   OPERAND1-s0
   OPERAND2-character_M
    COMMENT-
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-NZ
   OPERAND2-bad_input_command
    COMMENT-
      LABEL-
INSTRUCTION-CALL
   OPERAND1-fetch_char_from_memory
   OPERAND2-
    COMMENT-
      LABEL-
INSTRUCTION-COMPARE
   OPERAND1-s0
   OPERAND2-character_E
    COMMENT-
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-NZ
   OPERAND2-bad_input_command
    COMMENT-
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;now have a valid TIME command to process
      LABEL-
INSTRUCTION-CALL
   OPERAND1-fetch_char_from_memory
   OPERAND2-
    COMMENT-
      LABEL-
INSTRUCTION-COMPARE
   OPERAND1-s0
   OPERAND2-character_CR
    COMMENT-;carriage return means display time
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-NZ
   OPERAND2-set_time_command
    COMMENT-
      LABEL-
INSTRUCTION-CALL
   OPERAND1-transmit_time

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -