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

📄 ls_test.psm

📁 和picoblaze完全兼容的mcu ip core
💻 PSM
📖 第 1 页 / 共 5 页
字号:
                     ;
                     ; Registers used s0, s1 and s2.
                     ;
  hex_byte_to_ASCII: LOAD s1, s0                            ;remember value supplied
                     SR0 s0                                 ;isolate upper nibble
                     SR0 s0
                     SR0 s0
                     SR0 s0
                     CALL hex_to_ASCII                      ;convert
                     LOAD s2, s0                            ;upper nibble value in s2
                     LOAD s0, s1                            ;restore complete value
                     AND s0, 0F                             ;isolate lower nibble
                     CALL hex_to_ASCII                      ;convert
                     LOAD s1, s0                            ;lower nibble value in s1
                     RETURN
                     ;
                     ; Convert hexadecimal value provided in register s0 into ASCII character
                     ;
                     ;Register used s0
                     ;
       hex_to_ASCII: SUB s0, 0A                             ;test if value is in range 0 to 9
                     JUMP C, number_char
                     ADD s0, 07                             ;ASCII char A to F in range 41 to 46
        number_char: ADD s0, 3A                             ;ASCII char 0 to 9 in range 30 to 40
                     RETURN
                     ;
                     ;
                     ; Send the two character HEX value of the register contents 's0' to the UART
                     ;
                     ; Registers used s0, s1, s2
                     ;
      send_hex_byte: CALL hex_byte_to_ASCII
                     LOAD UART_data, s2
                     CALL send_to_UART
                     LOAD UART_data, s1
                     CALL send_to_UART
                     RETURN
                     ;
                     ;
                     ;
                     ; Send the single HEX value representing the lower 4-bits of the register 's0'
                     ; to the UART
                     ;
                     ; Registers used s0, s1, s2
                     ;
        send_nibble: CALL hex_to_ASCII
                     LOAD UART_data, s0
                     CALL send_to_UART
                     RETURN
                     ;
                     ;
                     ;
                     ;**************************************************************************************
                     ; Text messages
                     ;**************************************************************************************
                     ;
                     ;
                     ; Send Carriage Return to the UART
                     ;
            send_CR: LOAD UART_data, character_CR
                     CALL send_to_UART
                     RETURN
                     ;
                     ; Send a space to the UART
                     ;
         send_space: LOAD UART_data, character_space
                     CALL send_to_UART
                     RETURN
                     ;
                     ;
                     ;
                     ;Send a back space to the UART
                     ;
     send_backspace: LOAD UART_data, character_BS
                     CALL send_to_UART
                     RETURN
                     ;
                     ;
                     ; Send 'PicoBlaze Servo Control' string to the UART
                     ;
       send_welcome: CALL send_CR
                     CALL send_CR
                     LOAD UART_data, character_P
                     CALL send_to_UART
                     LOAD UART_data, character_i
                     CALL send_to_UART
                     LOAD UART_data, character_c
                     CALL send_to_UART
                     LOAD UART_data, character_o
                     CALL send_to_UART
                     LOAD UART_data, character_B
                     CALL send_to_UART
                     LOAD UART_data, character_l
                     CALL send_to_UART
                     LOAD UART_data, character_a
                     CALL send_to_UART
                     LOAD UART_data, character_z
                     CALL send_to_UART
                     LOAD UART_data, character_e
                     CALL send_to_UART
                     CALL send_space
                     LOAD UART_data, character_L
                     CALL send_to_UART
                     LOAD UART_data, character_i
                     CALL send_to_UART
                     LOAD UART_data, character_n
                     CALL send_to_UART
                     LOAD UART_data, character_e
                     CALL send_to_UART
                     CALL send_space
                     LOAD UART_data, character_S
                     CALL send_to_UART
                     LOAD UART_data, character_t
                     CALL send_to_UART
                     LOAD UART_data, character_o
                     CALL send_to_UART
                     LOAD UART_data, character_r
                     CALL send_to_UART
                     LOAD UART_data, character_e
                     CALL send_to_UART
                     CALL send_space
                     LOAD UART_data, character_T
                     CALL send_to_UART
                     LOAD UART_data, character_e
                     CALL send_to_UART
                     LOAD UART_data, character_s
                     CALL send_to_UART
                     LOAD UART_data, character_t
                     CALL send_to_UART
                     LOAD UART_data, character_e
                     CALL send_to_UART
                     LOAD UART_data, character_r
                     CALL send_to_UART
                     CALL send_CR
                     CALL send_CR
                     RETURN
                     ;
                     ;
                     ;Send 'KCPSM3>' prompt to the UART
                     ;
        send_prompt: CALL send_CR                           ;start new line
                     LOAD UART_data, character_K
                     CALL send_to_UART
                     LOAD UART_data, character_C
                     CALL send_to_UART
                     LOAD UART_data, character_P
                     CALL send_to_UART
                     LOAD UART_data, character_S
                     CALL send_to_UART
                     LOAD UART_data, character_M
                     CALL send_to_UART
                     LOAD UART_data, character_3
                     CALL send_to_UART
                     ;
                     ;Send '>' character to the UART
                     ;
  send_greater_than: LOAD UART_data, character_greater_than
                     CALL send_to_UART
                     RETURN
                     ;
                     ;
                     ;Send 'Overflow Error' to the UART
                     ;
send_Overflow_Error: LOAD UART_data, character_O
                     CALL send_to_UART
                     LOAD UART_data, character_v
                     CALL send_to_UART
                     LOAD UART_data, character_e
                     CALL send_to_UART
                     LOAD UART_data, character_r
                     CALL send_to_UART
                     LOAD UART_data, character_f
                     CALL send_to_UART
                     LOAD UART_data, character_l
                     CALL send_to_UART
                     LOAD UART_data, character_o
                     CALL send_to_UART
                     LOAD UART_data, character_w
                     CALL send_to_UART
   send_space_Error: CALL send_space
                     ;
                     ;Send 'Error' to the UART
                     ;
         send_Error: LOAD UART_data, character_E
                     CALL send_to_UART
                     LOAD UART_data, character_r
                     CALL send_to_UART
                     CALL send_to_UART
                     LOAD UART_data, character_o
                     CALL send_to_UART
                     LOAD UART_data, character_r
                     CALL send_to_UART
                     JUMP send_CR
                     ;
                     ;
                     ;Send 'OK' to the UART
                     ;
            send_OK: CALL send_CR
                     CALL send_CR
                     LOAD UART_data, character_O
                     CALL send_to_UART
                     LOAD UART_data, character_K
                     CALL send_to_UART
                     JUMP send_CR
                     ;
                     ;
                     ;Send index to data being displayed
                     ;
         send_index: CALL send_CR
                     LOAD UART_data, character_c
                     CALL send_to_UART
                     LOAD UART_data, character_y
                     CALL send_to_UART
                     LOAD UART_data, character_c
                     CALL send_to_UART
                     LOAD UART_data, character_l
                     CALL send_to_UART
                     LOAD UART_data, character_e
                     CALL send_to_UART
                     CALL send_space
                     CALL send_space
                     CALL send_space
                     CALL send_space
                     LOAD UART_data, character_i
                     CALL send_to_UART
                     LOAD UART_data, character_n
                     CALL send_to_UART
                     LOAD UART_data, character_p
                     CALL send_to_UART
                     LOAD UART_data, character_u
                     CALL send_to_UART
                     LOAD UART_data, character_t
                     CALL send_to_UART
                     CALL send_space
                     CALL send_space
                     CALL send_space
                     CALL send_space
                     CALL send_space
                     LOAD UART_data, character_7
                     CALL send_to_UART
                     LOAD UART_data, character_6
                   

⌨️ 快捷键说明

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