ftpd: Add mkd command #342
@@ -337,6 +337,7 @@ align 4
|
||||
fs_err_table:
|
||||
|
mxlgv marked this conversation as resolved
Outdated
|
||||
dd str_fs_error2 ; 2
|
||||
dd str_fs_error3 ; 3
|
||||
dd str_fs_error ; 4
|
||||
|
mxlgv
commented
I suggest using 4 as str_fs_error I suggest using 4 as str_fs_error
|
||||
dd str_fs_error5 ; 5
|
||||
dd str_fs_error6 ; 6
|
||||
dd str_fs_error7 ; 7
|
||||
@@ -347,23 +348,19 @@ fs_err_table:
|
||||
dd str_fs_error12 ; 12
|
||||
|
||||
|
mxlgv
commented
I think you can shorten it something like this
I think you can shorten it something like this
```asm
console_fs_error:
mov edx, 4 ; Unknown filesystem error
cmp eax, 2
jb .print_err
cmp eax, 12
ja .print_err
mov edx, eax
.print_err:
sub edx, 2
mov edx, [fs_err_table + edx*4]
invoke con_write_asciiz, edx
ret
```
|
||||
console_fs_error:
|
||||
cmp eax, 2
|
||||
jb .out_of_range
|
||||
cmp eax, 12
|
||||
ja .out_of_range
|
||||
cmp eax, 4
|
||||
ja .after4
|
||||
sub eax, 2
|
||||
jmp .index_ok
|
||||
.after4:
|
||||
sub eax, 3
|
||||
.index_ok:
|
||||
mov edx, [fs_err_table + eax*4]
|
||||
invoke con_write_asciiz, edx
|
||||
ret
|
||||
mov edx, 4 ; Unknown filesystem error
|
||||
|
||||
.out_of_range:
|
||||
invoke con_write_asciiz, str_fs_error
|
||||
cmp eax, 2
|
||||
jb .print_err
|
||||
cmp eax, 12
|
||||
ja .print_err
|
||||
|
||||
mov edx, eax
|
||||
|
||||
.print_err:
|
||||
sub edx, 2
|
||||
mov edx, [fs_err_table + edx*4]
|
||||
invoke con_write_asciiz, edx
|
||||
ret
|
||||
|
||||
;------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user
Don't forget the server in floppy disk image. I think here you can write more optimally, for example, get a line with an error by index.