mirror of
https://gitlab.os-k.eu/os-k-team/kvisc.git
synced 2023-08-25 14:05:46 +02:00
61 lines
1.0 KiB
Plaintext
61 lines
1.0 KiB
Plaintext
; The OS/K Team licenses this file to you under the MIT license.
|
|
; See the LICENSE file in the project root for more information.
|
|
|
|
.handle_ERASE:
|
|
mov rax, Sys.RemoveFile
|
|
mov ax0, q[argv1pos]
|
|
bzr ax0, .need_params
|
|
trap 0
|
|
|
|
bltz rax, .couldnt_remove
|
|
|
|
jmp .handle_MAKE ; re-create it back
|
|
|
|
.handle_MAKE:
|
|
mov rax, Sys.CreateFile
|
|
mov ax0, q[argv1pos]
|
|
bzr ax0, .need_params
|
|
trap 0
|
|
|
|
bltz rax, .couldnt_open
|
|
|
|
jmp .print_prompt
|
|
|
|
.handle_PRINT:
|
|
mov rax, Sys.OpenFile
|
|
mov ax0, q[argv1pos]
|
|
bzr ax0, .need_params
|
|
trap 0
|
|
|
|
bltz rax, .file_not_found
|
|
|
|
mov ax0, rax
|
|
mov ax1, FILE_LOADP
|
|
mov ax2, FILE_MAXSZ
|
|
|
|
mov rax, Sys.ReadFile
|
|
trap 0
|
|
|
|
mov rcx, rax
|
|
|
|
mov rax, Sys.CloseFile
|
|
trap 0
|
|
|
|
bltz rcx, .couldnt_read
|
|
jrcxz .empty_file
|
|
|
|
call nprint, FILE_LOADP, rcx
|
|
|
|
jmp .print_prompt
|
|
|
|
.handle_REMOVE:
|
|
mov rax, Sys.RemoveFile
|
|
mov ax0, q[argv1pos]
|
|
bzr ax0, .need_params
|
|
trap 0
|
|
|
|
bltz rax, .couldnt_remove
|
|
|
|
jmp .print_prompt
|
|
|