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 + -
显示快捷键?