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

📄 pass4.dat

📁 FPGA 基于PICOBLAZE内核的LCD显示程序,完整,XILINX
💻 DAT
📖 第 1 页 / 共 5 页
字号:
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;**************************************************************************************
    ADDRESS-00D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-00D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-; The main program is centred on the task of editing the frequency. It waits until the
    ADDRESS-00D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-; rotary control is used and then makes the appropriate changes. If the actual digit
    ADDRESS-00D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-; digit value is changed then the calculation to drive the DDS is performed each time.
    ADDRESS-00D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-00D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-; The start state is that of allowing the edit cursor position to be moved. Rotary
    ADDRESS-00D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-; inputs are detected by the interrupt service routine and set a flag bit which the
    ADDRESS-00D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-; main program then uses to adjust the cursor position and pointer to the corresponding
    ADDRESS-00D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-; BCD digit in memory.
    ADDRESS-00D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-00D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-; A press of the rotary control is detected by polling and used to change to the digit
    ADDRESS-00D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-; editing mode.
    ADDRESS-00D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-00D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-00D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;**************************************************************************************
    ADDRESS-00D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-; Display frequency on top line of the LCD and DDS data on the lower line
    ADDRESS-00D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;**************************************************************************************
    ADDRESS-00D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-00D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-; The BCD value should be stored in scratch pad memory in 9 ascending locations
    ADDRESS-00D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-; called BCD_digit0 to BCD_digit8.
    ADDRESS-00D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-00D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-; The value is displayed in the format      xxx.xxx xxxMHz
    ADDRESS-00D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-00D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-; However, the most significant 2 digits will be blanked if zero.
    ADDRESS-00D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-00D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-; registers used s0,s1,s2,s3,s4,s5,s6,s7
    ADDRESS-00D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-00D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-00D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-00D
      LABEL-display_3_digits
INSTRUCTION-LOAD
   OPERAND1-s3
  OP1 VALUE-s3
   OPERAND2-03
  OP2 VALUE-03
    COMMENT-;3 digits to display
    ADDRESS-00E
      LABEL-3digit_loop
INSTRUCTION-FETCH
   OPERAND1-s5
  OP1 VALUE-s5
   OPERAND2-(s2)
  OP2 VALUE-(s2)
    COMMENT-
    ADDRESS-00F
      LABEL-
INSTRUCTION-CALL
   OPERAND1-display_digit
  OP1 VALUE-014
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-010
      LABEL-
INSTRUCTION-SUB
   OPERAND1-s2
  OP1 VALUE-s2
   OPERAND2-01
  OP2 VALUE-01
    COMMENT-;decrement digit pointer
    ADDRESS-011
      LABEL-
INSTRUCTION-SUB
   OPERAND1-s3
  OP1 VALUE-s3
   OPERAND2-01
  OP2 VALUE-01
    COMMENT-;count digits displayed
    ADDRESS-012
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-NZ
  OP1 VALUE-NZ
   OPERAND2-3digit_loop
  OP2 VALUE-00E
    COMMENT-
    ADDRESS-013
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-014
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-014
      LABEL-display_digit
INSTRUCTION-ADD
   OPERAND1-s5
  OP1 VALUE-s5
   OPERAND2-30
  OP2 VALUE-30
    COMMENT-;convert BCD to ASCII character
    ADDRESS-015
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_write_data
  OP1 VALUE-097
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-016
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-017
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-017
      LABEL-display_space
INSTRUCTION-LOAD
   OPERAND1-s5
  OP1 VALUE-s5
   OPERAND2-character_space
  OP2 VALUE-20
    COMMENT-
    ADDRESS-018
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_write_data
  OP1 VALUE-097
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-019
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;**************************************************************************************
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-; Routines to display hexadecimal values on LCD display
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;**************************************************************************************
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-; Convert hexadecimal value provided in register s0 into ASCII characters
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-; The value provided must can be any value in the range 00 to FF and will be converted into
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-; two ASCII characters.
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;     The upper nibble will be represented by an ASCII character returned in register s3.
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;     The lower nibble will be represented by an ASCII character returned in register s2.
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-; The ASCII representations of '0' to '9' are 30 to 39 hexadecimal which is simply 30 hex
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-; added to the actual decimal value. The ASCII representations of 'A' to 'F' are 41 to 46
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-; hexadecimal requiring a further addition of 07 to the 30 already added.
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-; Registers used s0, s2 and s3.
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-01A
      LABEL-hex_byte_to_ASCII
INSTRUCTION-LOAD
   OPERAND1-s2
  OP1 VALUE-s2
   OPERAND2-s0
  OP2 VALUE-s0
    COMMENT-;remember value supplied
    ADDRESS-01B
      LABEL-
INSTRUCTION-SR0
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-
  OP2 VALUE-
    COMMENT-;isolate upper nibble
    ADDRESS-01C
      LABEL-
INSTRUCTION-SR0
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-01D
      LABEL-
INSTRUCTION-SR0
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-01E
      LABEL-
INSTRUCTION-SR0
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-01F
      LABEL-
INSTRUCTION-CALL
   OPERAND1-hex_to_ASCII
  OP1 VALUE-026
   OPERAND2-
  OP2 VALUE-
    COMMENT-;convert
    ADDRESS-020
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s3
  OP1 VALUE-s3
   OPERAND2-s0
  OP2 VALUE-s0
    COMMENT-;upper nibble value in s3
    ADDRESS-021
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-s2
  OP2 VALUE-s2
    COMMENT-;restore complete value
    ADDRESS-022
      LABEL-
INSTRUCTION-AND
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-0F
  OP2 VALUE-0F
    COMMENT-;isolate lower nibble
    ADDRESS-023
      LABEL-
INSTRUCTION-CALL
   OPERAND1-hex_to_ASCII
  OP1 VALUE-026
   OPERAND2-
  OP2 VALUE-
    COMMENT-;convert
    ADDRESS-024
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s2
  OP1 VALUE-s2
   OPERAND2-s0
  OP2 VALUE-s0
    COMMENT-;lower nibble value in s2
    ADDRESS-025
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-026
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-026
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-; Convert hexadecimal value provided in register s0 into ASCII character
    ADDRESS-026
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-026
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;Register used s0
    ADDRESS-026
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-026
      LABEL-hex_to_ASCII
INSTRUCTION-SUB
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-0A
  OP2 VALUE-0A
    COMMENT-;test if value is in range 0 to 9
    ADDRESS-027
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-C
  OP1 VALUE-C
   OPERAND2-number_char
  OP2 VALUE-029
    COMMENT-
    ADDRESS-028
      LABEL-
INSTRUCTION-ADD
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-07
  OP2 VALUE-07
    COMMENT-;ASCII char A to F in range 41 to 46
    ADDRESS-029
      LABEL-number_char
INSTRUCTION-ADD
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-3A
  OP2 VALUE-3A
    COMMENT-;ASCII char 0 to 9 in range 30 to 40
    ADDRESS-02A
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-02B
      LABEL-
INSTRUCTION-

⌨️ 快捷键说明

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