pass3.dat

来自「FPGA 基于PICOBLAZE内核的LCD显示程序,完整,XILINX」· DAT 代码 · 共 3,451 行 · 第 1/5 页

DAT
3,451
字号
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;**************************************************************************************
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-; Routines to display hexadecimal values on LCD display
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;**************************************************************************************
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-; Convert hexadecimal value provided in register s0 into ASCII characters
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    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-
   OPERAND2-
    COMMENT-; two ASCII characters.
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;     The upper nibble will be represented by an ASCII character returned in register s3.
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;     The lower nibble will be represented by an ASCII character returned in register s2.
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-; The ASCII representations of '0' to '9' are 30 to 39 hexadecimal which is simply 30 hex
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-; added to the actual decimal value. The ASCII representations of 'A' to 'F' are 41 to 46
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-; hexadecimal requiring a further addition of 07 to the 30 already added.
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-; Registers used s0, s2 and s3.
    ADDRESS-01A
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-01A
      LABEL-hex_byte_to_ASCII
INSTRUCTION-LOAD
   OPERAND1-s2
   OPERAND2-s0
    COMMENT-;remember value supplied
    ADDRESS-01B
      LABEL-
INSTRUCTION-SR0
   OPERAND1-s0
   OPERAND2-
    COMMENT-;isolate upper nibble
    ADDRESS-01C
      LABEL-
INSTRUCTION-SR0
   OPERAND1-s0
   OPERAND2-
    COMMENT-
    ADDRESS-01D
      LABEL-
INSTRUCTION-SR0
   OPERAND1-s0
   OPERAND2-
    COMMENT-
    ADDRESS-01E
      LABEL-
INSTRUCTION-SR0
   OPERAND1-s0
   OPERAND2-
    COMMENT-
    ADDRESS-01F
      LABEL-
INSTRUCTION-CALL
   OPERAND1-hex_to_ASCII
   OPERAND2-
    COMMENT-;convert
    ADDRESS-020
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s3
   OPERAND2-s0
    COMMENT-;upper nibble value in s3
    ADDRESS-021
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s0
   OPERAND2-s2
    COMMENT-;restore complete value
    ADDRESS-022
      LABEL-
INSTRUCTION-AND
   OPERAND1-s0
   OPERAND2-0F
    COMMENT-;isolate lower nibble
    ADDRESS-023
      LABEL-
INSTRUCTION-CALL
   OPERAND1-hex_to_ASCII
   OPERAND2-
    COMMENT-;convert
    ADDRESS-024
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s2
   OPERAND2-s0
    COMMENT-;lower nibble value in s2
    ADDRESS-025
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-
   OPERAND2-
    COMMENT-
    ADDRESS-026
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-026
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-; Convert hexadecimal value provided in register s0 into ASCII character
    ADDRESS-026
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-026
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Register used s0
    ADDRESS-026
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-026
      LABEL-hex_to_ASCII
INSTRUCTION-SUB
   OPERAND1-s0
   OPERAND2-0A
    COMMENT-;test if value is in range 0 to 9
    ADDRESS-027
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-C
   OPERAND2-number_char
    COMMENT-
    ADDRESS-028
      LABEL-
INSTRUCTION-ADD
   OPERAND1-s0
   OPERAND2-07
    COMMENT-;ASCII char A to F in range 41 to 46
    ADDRESS-029
      LABEL-number_char
INSTRUCTION-ADD
   OPERAND1-s0
   OPERAND2-3A
    COMMENT-;ASCII char 0 to 9 in range 30 to 40
    ADDRESS-02A
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-
   OPERAND2-
    COMMENT-
    ADDRESS-02B
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-02B
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-02B
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-; Display the two character HEX value of the register contents 's0' on the LCD
    ADDRESS-02B
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-; at the current cursor position.
    ADDRESS-02B
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-02B
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-; Registers used s0, s1, s2, s3, s4, s5
    ADDRESS-02B
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-02B
      LABEL-display_hex_byte
INSTRUCTION-CALL
   OPERAND1-hex_byte_to_ASCII
   OPERAND2-
    COMMENT-
    ADDRESS-02C
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s5
   OPERAND2-s3
    COMMENT-
    ADDRESS-02D
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_write_data
   OPERAND2-
    COMMENT-
    ADDRESS-02E
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s5
   OPERAND2-s2
    COMMENT-
    ADDRESS-02F
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_write_data
   OPERAND2-
    COMMENT-
    ADDRESS-030
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-
   OPERAND2-
    COMMENT-
    ADDRESS-031
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-031
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-031
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-031
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-; Display the 32-bit value stored in 4 ascending memory locations as an 8 character
    ADDRESS-031
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-; HEX value at the current cursor position. Register s7 must contain the memory
    ADDRESS-031
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-; location of the most significant byte (which is also the highest address).
    ADDRESS-031
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-031
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-; Registers used s0, s1, s2, s3, s4, s5, s6, s7
    ADDRESS-031
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-031
      LABEL-display_hex_32_bit
INSTRUCTION-LOAD
   OPERAND1-s6
   OPERAND2-04
    COMMENT-;4 bytes to display
    ADDRESS-032
      LABEL-disp32_loop
INSTRUCTION-FETCH
   OPERAND1-s0
   OPERAND2-(s7)
    COMMENT-;read byte
    ADDRESS-033
      LABEL-
INSTRUCTION-CALL
   OPERAND1-display_hex_byte
   OPERAND2-
    COMMENT-;display byte
    ADDRESS-034
      LABEL-
INSTRUCTION-SUB
   OPERAND1-s7
   OPERAND2-01
    COMMENT-;decrement pointer
    ADDRESS-035
      LABEL-
INSTRUCTION-SUB
   OPERAND1-s6
   OPERAND2-01
    COMMENT-;count bytes displayed
    ADDRESS-036
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-Z
   OPERAND2-
    COMMENT-
    ADDRESS-037
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-disp32_loop
   OPERAND2-
    COMMENT-
    ADDRESS-038
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-038
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-038
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;**************************************************************************************
    ADDRESS-038
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;LCD text messages
    ADDRESS-038
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;**************************************************************************************
    ADDRESS-038
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-038
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-038
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Display 'Frequency' on LCD at current cursor position
    ADDRESS-038
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-038
      LABEL-disp_Frequency
INSTRUCTION-LOAD
   OPERAND1-s5
   OPERAND2-character_F
    COMMENT-
    ADDRESS-039
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_write_data
   OPERAND2-
    COMMENT-
    ADDRESS-03A
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s5
   OPERAND2-character_r
    COMMENT-
    ADDRESS-03B
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_write_data
   OPERAND2-
    COMMENT-
    ADDRESS-03C
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s5
   OPERAND2-character_e
    COMMENT-
    ADDRESS-03D
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_write_data
   OPERAND2-
    COMMENT-
    ADDRESS-03E
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s5
   OPERAND2-character_q
    COMMENT-
    ADDRESS-03F
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_write_data
   OPERAND2-
    COMMENT-
    ADDRESS-040
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s5
   OPERAND2-character_u
    COMMENT-
    ADDRESS-041
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_write_data
   OPERAND2-
    COMMENT-
    ADDRESS-042
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s5
   OPERAND2-character_e
    COMMENT-
    ADDRESS-043
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_write_data
   OPERAND2-
    COMMENT-
    ADDRESS-044
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s5
   OPERAND2-character_n
    COMMENT-
    ADDRESS-045
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_write_data
   OPERAND2-
    COMMENT-
    ADDRESS-046
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s5
   OPERAND2-character_c
    COMMENT-
    ADDRESS-047
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_write_data
   OPERAND2-
    COMMENT-
    ADDRESS-048
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s5
   OPERAND2-character_y
    COMMENT-
    ADDRESS-049
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_write_data
   OPERAND2-
    COMMENT-
    ADDRESS-04A
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-
   OPERAND2-
    COMMENT-
    ADDRESS-04B
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-04B
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Display 'Generator' on LCD at current cursor position
    ADDRESS-04B
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-04B
      LABEL-disp_Generator
INSTRUCTION-LOAD
   OPERAND1-s5
   OPERAND2-character_G
    COMMENT-
    ADDRESS-04C
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_write_data
   OPERAND2-
    COMMENT-
    ADDRESS-04D
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s5
   OPERAND2-character_e
    COMMENT-
    ADDRESS-04E
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_write_data
   OPERAND2-
    COMMENT-
    ADDRESS-04F
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s5
   OPERAND2-character_n
    COMMENT-
    ADDRESS-050
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_write_data
   OPERAND2-
    COMMENT-
    ADDRESS-051
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s5
   OPERAND2-character_e
    COMMENT-
    ADDRESS-052
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_write_data
   OPERAND2-
    COMMENT-
    ADDRESS-053
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s5
   OPERAND2-character_r
    COMMENT-
    ADDRESS-054
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_write_data
   OPERAND2-
    COMMENT-
    ADDRESS-055
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s5
   OPERAND2-character_a
    COMMENT-
    ADDRESS-056
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_write_data
   OPERAND2-
    COMMENT-
    ADDRESS-057
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s5
   OPERAND2-character_t
    COMMENT-
    ADDRESS-058
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_write_data
   OPERAND2-
    COMMENT-
    ADDRESS-059
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s5
   OPERAND2-character_o
    COMMENT-
    ADDRESS-05A
      LABEL-
INSTRUCTION-CALL

⌨️ 快捷键说明

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