pass3.dat

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

DAT
3,451
字号
   OPERAND1-LCD_write_data
   OPERAND2-
    COMMENT-
    ADDRESS-05B
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s5
   OPERAND2-character_r
    COMMENT-
    ADDRESS-05C
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_write_data
   OPERAND2-
    COMMENT-
    ADDRESS-05D
      LABEL-
INSTRUCTION-CALL
   OPERAND1-display_space
   OPERAND2-
    COMMENT-
    ADDRESS-05E
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s5
   OPERAND2-character_v
    COMMENT-
    ADDRESS-05F
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_write_data
   OPERAND2-
    COMMENT-
    ADDRESS-060
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s5
   OPERAND2-character_1
    COMMENT-
    ADDRESS-061
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_write_data
   OPERAND2-
    COMMENT-
    ADDRESS-062
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s5
   OPERAND2-character_stop
    COMMENT-
    ADDRESS-063
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_write_data
   OPERAND2-
    COMMENT-
    ADDRESS-064
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s5
   OPERAND2-character_2
    COMMENT-
    ADDRESS-065
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_write_data
   OPERAND2-
    COMMENT-
    ADDRESS-066
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-
   OPERAND2-
    COMMENT-
    ADDRESS-067
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-067
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-067
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-067
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-067
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;**************************************************************************************
    ADDRESS-067
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Software delay routines
    ADDRESS-067
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;**************************************************************************************
    ADDRESS-067
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-067
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-067
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-067
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Delay of 1us.
    ADDRESS-067
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-067
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Constant value defines reflects the clock applied to KCPSM3. Every instruction
    ADDRESS-067
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;executes in 2 clock cycles making the calculation highly predictable. The '6' in
    ADDRESS-067
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;the following equation even allows for 'CALL delay_1us' instruction in the initiating code.
    ADDRESS-067
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-067
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-; delay_1us_constant =  (clock_rate - 6)/4       Where 'clock_rate' is in MHz
    ADDRESS-067
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-067
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Registers used s0
    ADDRESS-067
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-067
      LABEL-delay_1us
INSTRUCTION-LOAD
   OPERAND1-s0
   OPERAND2-delay_1us_constant
    COMMENT-
    ADDRESS-068
      LABEL-wait_1us
INSTRUCTION-SUB
   OPERAND1-s0
   OPERAND2-01
    COMMENT-
    ADDRESS-069
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-NZ
   OPERAND2-wait_1us
    COMMENT-
    ADDRESS-06A
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-
   OPERAND2-
    COMMENT-
    ADDRESS-06B
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-06B
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Delay of 40us.
    ADDRESS-06B
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-06B
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Registers used s0, s1
    ADDRESS-06B
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-06B
      LABEL-delay_40us
INSTRUCTION-LOAD
   OPERAND1-s1
   OPERAND2-28
    COMMENT-;40 x 1us = 40us
    ADDRESS-06C
      LABEL-wait_40us
INSTRUCTION-CALL
   OPERAND1-delay_1us
   OPERAND2-
    COMMENT-
    ADDRESS-06D
      LABEL-
INSTRUCTION-SUB
   OPERAND1-s1
   OPERAND2-01
    COMMENT-
    ADDRESS-06E
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-NZ
   OPERAND2-wait_40us
    COMMENT-
    ADDRESS-06F
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-
   OPERAND2-
    COMMENT-
    ADDRESS-070
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-070
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-070
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Delay of 1ms.
    ADDRESS-070
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-070
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Registers used s0, s1, s2
    ADDRESS-070
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-070
      LABEL-delay_1ms
INSTRUCTION-LOAD
   OPERAND1-s2
   OPERAND2-19
    COMMENT-;25 x 40us = 1ms
    ADDRESS-071
      LABEL-wait_1ms
INSTRUCTION-CALL
   OPERAND1-delay_40us
   OPERAND2-
    COMMENT-
    ADDRESS-072
      LABEL-
INSTRUCTION-SUB
   OPERAND1-s2
   OPERAND2-01
    COMMENT-
    ADDRESS-073
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-NZ
   OPERAND2-wait_1ms
    COMMENT-
    ADDRESS-074
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-
   OPERAND2-
    COMMENT-
    ADDRESS-075
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-075
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Delay of 20ms.
    ADDRESS-075
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-075
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Delay of 20ms used during initialisation.
    ADDRESS-075
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-075
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Registers used s0, s1, s2, s3
    ADDRESS-075
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-075
      LABEL-delay_20ms
INSTRUCTION-LOAD
   OPERAND1-s3
   OPERAND2-14
    COMMENT-;20 x 1ms = 20ms
    ADDRESS-076
      LABEL-wait_20ms
INSTRUCTION-CALL
   OPERAND1-delay_1ms
   OPERAND2-
    COMMENT-
    ADDRESS-077
      LABEL-
INSTRUCTION-SUB
   OPERAND1-s3
   OPERAND2-01
    COMMENT-
    ADDRESS-078
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-NZ
   OPERAND2-wait_20ms
    COMMENT-
    ADDRESS-079
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-
   OPERAND2-
    COMMENT-
    ADDRESS-07A
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-07A
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Delay of approximately 1 second.
    ADDRESS-07A
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-07A
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Registers used s0, s1, s2, s3, s4
    ADDRESS-07A
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-07A
      LABEL-delay_1s
INSTRUCTION-LOAD
   OPERAND1-s4
   OPERAND2-32
    COMMENT-;50 x 20ms = 1000ms
    ADDRESS-07B
      LABEL-wait_1s
INSTRUCTION-CALL
   OPERAND1-delay_20ms
   OPERAND2-
    COMMENT-
    ADDRESS-07C
      LABEL-
INSTRUCTION-SUB
   OPERAND1-s4
   OPERAND2-01
    COMMENT-
    ADDRESS-07D
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-NZ
   OPERAND2-wait_1s
    COMMENT-
    ADDRESS-07E
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-
   OPERAND2-
    COMMENT-
    ADDRESS-07F
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-07F
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-07F
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-07F
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;**************************************************************************************
    ADDRESS-07F
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;LCD Character Module Routines
    ADDRESS-07F
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;**************************************************************************************
    ADDRESS-07F
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-07F
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;LCD module is a 16 character by 2 line display but all displays are very similar
    ADDRESS-07F
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;The 4-wire data interface will be used (DB4 to DB7).
    ADDRESS-07F
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-07F
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;The LCD modules are relatively slow and software delay loops are used to slow down
    ADDRESS-07F
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;KCPSM3 adequately for the LCD to communicate. The delay routines are provided in
    ADDRESS-07F
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;a different section (see above in this case).
    ADDRESS-07F
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-07F
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-07F
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Pulse LCD enable signal 'E' high for greater than 230ns (1us is used).
    ADDRESS-07F
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-07F
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Register s4 should define the current state of the LCD output port.
    ADDRESS-07F
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-07F
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Registers used s0, s4
    ADDRESS-07F
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-07F
      LABEL-LCD_pulse_E
INSTRUCTION-XOR
   OPERAND1-s4
   OPERAND2-LCD_E
    COMMENT-;E=1
    ADDRESS-080
      LABEL-
INSTRUCTION-OUTPUT
   OPERAND1-s4
   OPERAND2-LCD_output_port
    COMMENT-
    ADDRESS-081
      LABEL-
INSTRUCTION-CALL
   OPERAND1-delay_1us
   OPERAND2-
    COMMENT-
    ADDRESS-082
      LABEL-
INSTRUCTION-XOR
   OPERAND1-s4
   OPERAND2-LCD_E
    COMMENT-;E=0
    ADDRESS-083
      LABEL-
INSTRUCTION-OUTPUT
   OPERAND1-s4
   OPERAND2-LCD_output_port
    COMMENT-
    ADDRESS-084
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-
   OPERAND2-
    COMMENT-
    ADDRESS-085
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-085
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Write 4-bit instruction to LCD display.
    ADDRESS-085
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-085
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;The 4-bit instruction should be provided in the upper 4-bits of register s4.
    ADDRESS-085
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Note that this routine does not release the master enable but as it is only
    ADDRESS-085
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;used during initialisation and as part of the 8-bit instruction write it
    ADDRESS-085
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;should be acceptable.
    ADDRESS-085
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-085
      LABEL-
INSTRUCTION-
   OPERAND1-

⌨️ 快捷键说明

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