sh/dir: Add a space between the file name and type, and show a header
This commit is contained in:
parent
f37c9b37bd
commit
6c4790cd5f
|
@ -3,6 +3,9 @@
|
|||
shell_dir_command_string: data.strz "dir"
|
||||
|
||||
shell_dir_command:
|
||||
mov r0, shell_dir_command_header_string
|
||||
call print_str_to_terminal
|
||||
|
||||
mov r0, shell_dir_command_list_buffer
|
||||
movz.8 r1, [shell_current_disk]
|
||||
call ryfs_get_file_list
|
||||
|
@ -16,15 +19,33 @@ shell_dir_command_loop:
|
|||
mov r0, shell_dir_command_list_buffer
|
||||
add r0, r3
|
||||
mov r1, shell_dir_command_file_buffer
|
||||
mov r2, 11
|
||||
mov r2, 8
|
||||
call copy_memory_bytes
|
||||
add r1, 11
|
||||
add r1, 8
|
||||
mov.8 [r1], 0
|
||||
|
||||
; then print the file name to the terminal
|
||||
; copy file type from the list buffer to the type buffer
|
||||
mov r0, shell_dir_command_list_buffer
|
||||
add r0, r3
|
||||
add r0, 8
|
||||
mov r1, shell_dir_command_type_buffer
|
||||
mov r2, 3
|
||||
call copy_memory_bytes
|
||||
add r1, 3
|
||||
mov.8 [r1], 0
|
||||
|
||||
; print the file name to the terminal
|
||||
mov r0, shell_dir_command_file_buffer
|
||||
call print_str_to_terminal
|
||||
|
||||
; space
|
||||
mov r0, ' '
|
||||
call print_character_to_terminal
|
||||
|
||||
; print the file type to the terminal
|
||||
mov r0, shell_dir_command_type_buffer
|
||||
call print_str_to_terminal
|
||||
|
||||
; new line
|
||||
mov r0, 10
|
||||
call print_character_to_terminal
|
||||
|
@ -36,4 +57,10 @@ shell_dir_command_loop:
|
|||
ret
|
||||
|
||||
shell_dir_command_list_buffer: data.fill 0, 341
|
||||
shell_dir_command_file_buffer: data.fill 0, 12
|
||||
shell_dir_command_file_buffer: data.fill 0, 9
|
||||
shell_dir_command_type_buffer: data.fill 0, 4
|
||||
shell_dir_command_header_string:
|
||||
data.8 SET_COLOR data.8 0x20 data.8 1 ; set the color to green
|
||||
data.str "file type" data.8 10
|
||||
data.8 SET_COLOR data.8 0x70 data.8 1 ; set the color to white
|
||||
data.8 0
|
||||
|
|
Loading…
Reference in New Issue
Block a user