Browse Source

Removed some debug prints

pull/2/head
Jørn Guldberg 3 years ago
parent
commit
73498055ec
7 changed files with 246 additions and 267 deletions
  1. +1
    -1
      build.sh
  2. BIN
      disk.out
  3. +2
    -2
      implementation/lsfs.c
  4. BIN
      lsfs.bin
  5. +13
    -13
      main.c
  6. +3
    -3
      main.h
  7. +227
    -248
      main.s

+ 1
- 1
build.sh View File

@ -1,4 +1,4 @@
bcc -S main.c -o main.s
brucecc -S main.c -o main.s
echo -e "push bp
mov bp,sp
push 10[bp]

BIN
disk.out View File


+ 2
- 2
implementation/lsfs.c View File

@ -119,8 +119,8 @@ unsigned int data_segment;
break;
}
disk_service_read_data_from_disk(file->data_pointer[data_pointer_index], DEFAULT_DATA_POINTER_SIZE, tmp_buffer, 0x50);
print_newline();
print_newline();
/* print_newline(); */
/* print_newline(); */
memcpy((data + amount_read), data_segment, tmp_buffer, 0x50, amount_to_read);
data_length -= amount_to_read;
amount_read += amount_to_read;

BIN
lsfs.bin View File


+ 13
- 13
main.c View File

@ -36,10 +36,7 @@ void* pointer_parameter_struct;
index_as_long = pointer_parameter_struct;
disk_service_read_data_from_disk(index_as_long, (long) 1, fsci, local_segment);
print("File System has been loaded: ");
print_newline();
print(fsci->filesystem_information);
print_newline();
print_newline();
} break;
case SERVICE_FIND_ENTRY:
{
@ -67,22 +64,25 @@ void* pointer_parameter_struct;
path_array = string_split_c(local_path, '/', 0);
print_newline();
print_newline();
/* print_newline(); */
/* print_newline(); */
for (i = 0; i < path_array->length; ++i)
{
print(path_array->strings[i]->chars);
print_newline();
/* print_newline(); */
}
print_newline();
print_newline();
/* print_newline(); */
/* print_newline(); */
find_file = calloc(sizeof(lsfs_file), 1);
lsfs_disk_getattr(find_file, local_path, fsci);
print_newline();
if ( !lsfs_disk_getattr(find_file, local_path, fsci) )
{
print("File not found");
}
/* print_newline(); */
print("Buffer_address: ");
dump_ax(parameter_struct.buffer_address);
print_newline();
/* print_newline(); */
print("Buffer_segmnent: ");
dump_ax(parameter_struct.buffer_segment);
@ -109,9 +109,9 @@ void* pointer_parameter_struct;
} break;
case SERIVCE_WRITE_FS_INFO:
{
print_newline();
/* print_newline(); */
print(fsci->filesystem_information);
print_newline();
/* print_newline(); */
} break;
default:

+ 3
- 3
main.h View File

@ -4,15 +4,15 @@
#define false 0
#define true 1
#define SPACE_MBR_RECORD 2048 /* Sectors*/
#define SPACE_VBR_RECORD 2048 /* Sectors*/
#define SPACE_MBR_RECORD 32 /* 2048 */ /* Sectors*/
#define SPACE_VBR_RECORD 32 /*2048*/ /* Sectors*/
#define SIZE_FSCI_RECORD 1 /* Sectors*/
#define DEFAULT_ENTRY_SIZE 1 /* Sectors*/
#define SECTOR_SIZE 512 /* BYTES*/
#define NUMBER_OF_MBR_PARTITIONS 4
#define DEFAULT_FILE_SIZE 8 /* This is in sectors*/
#define DEFAULT_DATA_POINTER_SIZE 8 /* This is in sectors*/
#define DEFAULT_TABLE_SIZE 16
#define DEFAULT_TABLE_SIZE 8 /*16*/
#define NUM_DATA_POINTERS 27
#include "std_singos/stdio.h"

+ 227
- 248
main.s View File

@ -1622,7 +1622,7 @@ ret
! 52
! 53 struct Directory_Table
! 54 {
! 55 Table_Entry entries[16 ];
! 55 Table_Entry entries[8 ];
!BCC_EOS
! 56
! 57 };
@ -1697,7 +1697,7 @@ add sp,*6
mov -$C[bp],ax
!BCC_EOS
! 86
! 87 for (i = 0; i < 16 ; i++)
! 87 for (i = 0; i < 8 ; i++)
! Debug: eq int = const 0 to int i = [S+$E-8] (used reg = )
xor ax,ax
mov -6[bp],ax
@ -1711,7 +1711,7 @@ br .2C
! 90 print(dir_table->entries[i].filename);
dec sp
dec sp
! Debug: ptradd int i = [S+$10-8] to [$10] struct Table_Entry dir_table = [S+$10-$E] (used reg = )
! Debug: ptradd int i = [S+$10-8] to [8] struct Table_Entry dir_table = [S+$10-$E] (used reg = )
mov ax,-6[bp]
mov cx,#$200
imul cx
@ -1769,7 +1769,7 @@ call _print_newline
call _print_newline
!BCC_EOS
! 98 if(strcmp( filename->chars, dir_table->entries[i].filename ) == 0) {
! Debug: ptradd int i = [S+$10-8] to [$10] struct Table_Entry dir_table = [S+$10-$E] (used reg = )
! Debug: ptradd int i = [S+$10-8] to [8] struct Table_Entry dir_table = [S+$10-$E] (used reg = )
mov ax,-6[bp]
mov cx,#$200
imul cx
@ -1789,7 +1789,7 @@ test ax,ax
bne .2F
.30:
! 99 find_file->file_id[0] = dir_table->entries[i].file_id[0];
! Debug: ptradd int i = [S+$10-8] to [$10] struct Table_Entry dir_table = [S+$10-$E] (used reg = )
! Debug: ptradd int i = [S+$10-8] to [8] struct Table_Entry dir_table = [S+$10-$E] (used reg = )
mov ax,-6[bp]
mov cx,#$200
imul cx
@ -1805,7 +1805,7 @@ mov [si],ax
mov 2[si],bx
!BCC_EOS
! 100 find_file->entry_kind = dir_table->entries[i].entry_kind;
! Debug: ptradd int i = [S+$10-8] to [$10] struct Table_Entry dir_table = [S+$10-$E] (used reg = )
! Debug: ptradd int i = [S+$10-8] to [8] struct Table_Entry dir_table = [S+$10-$E] (used reg = )
mov ax,-6[bp]
mov cx,#$200
imul cx
@ -1827,7 +1827,7 @@ mov 8[bx],ax
mov $A[bx],si
!BCC_EOS
! 102 find_file->filename = dir_table->entries[i].filename;
! Debug: ptradd int i = [S+$10-8] to [$10] struct Table_Entry dir_table = [S+$10-$E] (used reg = )
! Debug: ptradd int i = [S+$10-8] to [8] struct Table_Entry dir_table = [S+$10-$E] (used reg = )
mov ax,-6[bp]
mov cx,#$200
imul cx
@ -1838,7 +1838,7 @@ mov si,4[bp]
mov $12[si],bx
!BCC_EOS
! 103 find_file->table_entry_sector_index[0] = dir_table->entries[i].table_entry_sector_index;
! Debug: ptradd int i = [S+$10-8] to [$10] struct Table_Entry dir_table = [S+$10-$E] (used reg = )
! Debug: ptradd int i = [S+$10-8] to [8] struct Table_Entry dir_table = [S+$10-$E] (used reg = )
mov ax,-6[bp]
mov cx,#$200
imul cx
@ -1862,7 +1862,7 @@ mov $14[bx],ax
mov $16[bx],si
!BCC_EOS
! 105 find_file->size[0] = dir_table->entries[i].file_size[0];
! Debug: ptradd int i = [S+$10-8] to [$10] struct Table_Entry dir_table = [S+$10-$E] (used reg = )
! Debug: ptradd int i = [S+$10-8] to [8] struct Table_Entry dir_table = [S+$10-$E] (used reg = )
mov ax,-6[bp]
mov cx,#$200
imul cx
@ -1905,7 +1905,7 @@ mov $30[bx],ax
mov $32[bx],si
!BCC_EOS
! 109 dump_ax(dir_table->entries[i].data_pointer[0]);
! Debug: ptradd int i = [S+$10-8] to [$10] struct Table_Entry dir_table = [S+$10-$E] (used reg = )
! Debug: ptradd int i = [S+$10-8] to [8] struct Table_Entry dir_table = [S+$10-$E] (used reg = )
mov ax,-6[bp]
mov cx,#$200
imul cx
@ -1930,7 +1930,7 @@ mov -$E[bp],ax
jmp .34
.35:
! 113 find_file->data_pointer[j] = dir_table->entries[i].data_pointer[j];
! Debug: ptradd int i = [S+$10-8] to [$10] struct Table_Entry dir_table = [S+$10-$E] (used reg = )
! Debug: ptradd int i = [S+$10-8] to [8] struct Table_Entry dir_table = [S+$10-$E] (used reg = )
mov ax,-6[bp]
mov cx,#$200
imul cx
@ -2012,9 +2012,9 @@ mov ax,-6[bp]
inc ax
mov -6[bp],ax
.2C:
! Debug: lt int = const $10 to int i = [S+$E-8] (used reg = )
! Debug: lt int = const 8 to int i = [S+$E-8] (used reg = )
mov ax,-6[bp]
cmp ax,*$10
cmp ax,*8
blt .2D
.37:
.2A:
@ -2050,8 +2050,8 @@ mov bp,sp
push di
push si
add sp,*-$A
! Debug: list int = const $2000 (used reg = )
mov ax,#$2000
! Debug: list int = const $1000 (used reg = )
mov ax,#$1000
push ax
! Debug: list int = const 1 (used reg = )
mov ax,*1
@ -2073,14 +2073,14 @@ push $100[bx]
call _dump_ax
add sp,*4
!BCC_EOS
! 136 disk_service_read_data_from_disk(fsci->master_table_index[0], (long) 16 , dir_table, 0x7e0);
! 136 disk_service_read_data_from_disk(fsci->master_table_index[0], (long) 8 , dir_table, 0x7e0);
! Debug: list int = const $7E0 (used reg = )
mov ax,#$7E0
push ax
! Debug: list * struct Directory_Table dir_table = [S+$12-$10] (used reg = )
push -$E[bp]
! Debug: list long = const $10 (used reg = )
mov ax,*$10
! Debug: list long = const 8 (used reg = )
mov ax,*8
xor bx,bx
push bx
push ax
@ -2094,7 +2094,7 @@ call _disk_service_read_data_from_disk
add sp,*$C
!BCC_EOS
! 137 print(dir_table->entries[0].filename);
! Debug: ptradd int = const 0 to [$10] struct Table_Entry dir_table = [S+$10-$10] (used reg = )
! Debug: ptradd int = const 0 to [8] struct Table_Entry dir_table = [S+$10-$10] (used reg = )
! Debug: cast * char = const 0 to [$100] char dir_table = [S+$10-$10] (used reg = )
! Debug: list * char dir_table = [S+$10-$10] (used reg = )
push -$E[bp]
@ -2153,7 +2153,7 @@ mov -8[bp],ax
! 150 {
br .3C
.3D:
! 151 for (j = 0; j < 16 ; ++j)
! 151 for (j = 0; j < 8 ; ++j)
! Debug: eq int = const 0 to int j = [S+$10-$C] (used reg = )
xor ax,ax
mov -$A[bp],ax
@ -2176,7 +2176,7 @@ inc sp
inc sp
!BCC_EOS
! 155 print(dir_table->entries[j].filename);
! Debug: ptradd int j = [S+$10-$C] to [$10] struct Table_Entry dir_table = [S+$10-$10] (used reg = )
! Debug: ptradd int j = [S+$10-$C] to [8] struct Table_Entry dir_table = [S+$10-$10] (used reg = )
mov ax,-$A[bp]
mov cx,#$200
imul cx
@ -2228,7 +2228,7 @@ mov bx,ax
mov bx,[bx]
! Debug: list * char = [bx+4] (used reg = )
push 4[bx]
! Debug: ptradd int j = [S+$12-$C] to [$10] struct Table_Entry dir_table = [S+$12-$10] (used reg = )
! Debug: ptradd int j = [S+$12-$C] to [8] struct Table_Entry dir_table = [S+$12-$10] (used reg = )
mov ax,-$A[bp]
mov cx,#$200
imul cx
@ -2247,7 +2247,7 @@ jne .44
! 160 {
! 161 long index_sector = dir_table->entries[j].data_pointer[0];
add sp,*-4
! Debug: ptradd int j = [S+$14-$C] to [$10] struct Table_Entry dir_table = [S+$14-$10] (used reg = )
! Debug: ptradd int j = [S+$14-$C] to [8] struct Table_Entry dir_table = [S+$14-$10] (used reg = )
mov ax,-$A[bp]
mov cx,#$200
imul cx
@ -2270,14 +2270,14 @@ push -$12[bp]
call _dump_ax
add sp,*4
!BCC_EOS
! 165 disk_service_read_data_from_disk(index_sector, (long) 16 , dir_table, 0x7e0);
! 165 disk_service_read_data_from_disk(index_sector, (long) 8 , dir_table, 0x7e0);
! Debug: list int = const $7E0 (used reg = )
mov ax,#$7E0
push ax
! Debug: list * struct Directory_Table dir_table = [S+$16-$10] (used reg = )
push -$E[bp]
! Debug: list long = const $10 (used reg = )
mov ax,*$10
! Debug: list long = const 8 (used reg = )
mov ax,*8
xor bx,bx
push bx
push ax
@ -2303,9 +2303,9 @@ mov ax,-$A[bp]
inc ax
mov -$A[bp],ax
.40:
! Debug: lt int = const $10 to int j = [S+$10-$C] (used reg = )
! Debug: lt int = const 8 to int j = [S+$10-$C] (used reg = )
mov ax,-$A[bp]
cmp ax,*$10
cmp ax,*8
blt .41
.46:
.3E:
@ -2805,59 +2805,59 @@ push bp
mov bp,sp
push di
push si
add sp,#-$2014
! Debug: eq int = const $50 to int local_segment = [S+$201A-$201A] (used reg = )
add sp,#-$1014
! Debug: eq int = const $50 to int local_segment = [S+$101A-$101A] (used reg = )
mov ax,*$50
mov -$2018[bp],ax
mov -$1018[bp],ax
!BCC_EOS
! 17 unsigned int heap_start = 0x2200;
dec sp
dec sp
! Debug: eq int = const $2200 to unsigned int heap_start = [S+$201C-$201C] (used reg = )
! Debug: eq int = const $2200 to unsigned int heap_start = [S+$101C-$101C] (used reg = )
mov ax,#$2200
mov -$201A[bp],ax
mov -$101A[bp],ax
!BCC_EOS
! 18 unsigned int heap_end = 0xffff;
dec sp
dec sp
! Debug: eq unsigned int = const $FFFF to unsigned int heap_end = [S+$201E-$201E] (used reg = )
! Debug: eq unsigned int = const $FFFF to unsigned int heap_end = [S+$101E-$101E] (used reg = )
mov ax,#$FFFF
mov -$201C[bp],ax
mov -$101C[bp],ax
!BCC_EOS
! 19 int stack_segment = 0x8fc0;
dec sp
dec sp
! Debug: eq unsigned int = const $8FC0 to int stack_segment = [S+$2020-$2020] (used reg = )
! Debug: eq unsigned int = const $8FC0 to int stack_segment = [S+$1020-$1020] (used reg = )
mov ax,#$8FC0
mov -$201E[bp],ax
mov -$101E[bp],ax
!BCC_EOS
! 20 int path_length;
!BCC_EOS
! 21 long index_as_long = 0;
add sp,*-6
! Debug: eq int = const 0 to long index_as_long = [S+$2026-$2026] (used reg = )
! Debug: eq int = const 0 to long index_as_long = [S+$1026-$1026] (used reg = )
xor ax,ax
xor bx,bx
mov -$2024[bp],ax
mov -$2022[bp],bx
mov -$1024[bp],ax
mov -$1022[bp],bx
!BCC_EOS
! 22
! 23 char *local_path = 0;
dec sp
dec sp
! Debug: eq int = const 0 to * char local_path = [S+$2028-$2028] (used reg = )
! Debug: eq int = const 0 to * char local_path = [S+$1028-$1028] (used reg = )
xor ax,ax
mov -$2026[bp],ax
mov -$1026[bp],ax
!BCC_EOS
! 24 FSCI *fsci = 0x2000;
dec sp
dec sp
! Debug: eq int = const $2000 to * struct File_System_Control_Information fsci = [S+$202A-$202A] (used reg = )
! Debug: eq int = const $2000 to * struct File_System_Control_Information fsci = [S+$102A-$102A] (used reg = )
mov ax,#$2000
mov -$2028[bp],ax
mov -$1028[bp],ax
!BCC_EOS
! 25 service_action = selector;
! Debug: eq int selector = [S+$202A+2] to int service_action = [S+$202A-8] (used reg = )
! Debug: eq int selector = [S+$102A+2] to int service_action = [S+$102A-8] (used reg = )
mov ax,4[bp]
mov -6[bp],ax
!BCC_EOS
@ -2875,34 +2875,34 @@ br .5E
! 33
! 34
! 35 set_heap_settings(heap_start, heap_end);
! Debug: list unsigned int heap_end = [S+$202A-$201E] (used reg = )
push -$201C[bp]
! Debug: list unsigned int heap_start = [S+$202C-$201C] (used reg = )
push -$201A[bp]
! Debug: list unsigned int heap_end = [S+$102A-$101E] (used reg = )
push -$101C[bp]
! Debug: list unsigned int heap_start = [S+$102C-$101C] (used reg = )
push -$101A[bp]
! Debug: func () int = set_heap_settings+0 (used reg = )
call _set_heap_settings
add sp,*4
!BCC_EOS
! 36 index_as_long = pointer_parameter_struct;
! Debug: eq * void pointer_parameter_struct = [S+$202A+6] to long index_as_long = [S+$202A-$2026] (used reg = )
! Debug: eq * void pointer_parameter_struct = [S+$102A+6] to long index_as_long = [S+$102A-$1026] (used reg = )
mov ax,8[bp]
xor bx,bx
mov -$2024[bp],ax
mov -$2022[bp],bx
mov -$1024[bp],ax
mov -$1022[bp],bx
!BCC_EOS
! 37 disk_service_read_data_from_disk(index_as_long, (long) 1, fsci, local_segment);
! Debug: list int local_segment = [S+$202A-$201A] (used reg = )
push -$2018[bp]
! Debug: list * struct File_System_Control_Information fsci = [S+$202C-$202A] (used reg = )
push -$2028[bp]
! Debug: list int local_segment = [S+$102A-$101A] (used reg = )
push -$1018[bp]
! Debug: list * struct File_System_Control_Information fsci = [S+$102C-$102A] (used reg = )
push -$1028[bp]
! Debug: list long = const 1 (used reg = )
mov ax,*1
xor bx,bx
push bx
push ax
! Debug: list long index_as_long = [S+$2032-$2026] (used reg = )
push -$2022[bp]
push -$2024[bp]
! Debug: list long index_as_long = [S+$1032-$1026] (used reg = )
push -$1022[bp]
push -$1024[bp]
! Debug: func () int = disk_service_read_data_from_disk+0 (used reg = )
call _disk_service_read_data_from_disk
add sp,*$C
@ -2916,51 +2916,39 @@ call _print
inc sp
inc sp
!BCC_EOS
! 39 print_newline();
! Debug: func () void = print_newline+0 (used reg = )
call _print_newline
!BCC_EOS
! 40 print(fsci->filesystem_information);
! Debug: cast * char = const 0 to [$100] char fsci = [S+$202A-$202A] (used reg = )
! Debug: list * char fsci = [S+$202A-$202A] (used reg = )
push -$2028[bp]
! 39 print(fsci->filesystem_information);
! Debug: cast * char = const 0 to [$100] char fsci = [S+$102A-$102A] (used reg = )
! Debug: list * char fsci = [S+$102A-$102A] (used reg = )
push -$1028[bp]
! Debug: func () void = print+0 (used reg = )
call _print
inc sp
inc sp
!BCC_EOS
! 41 print_newline();
! Debug: func () void = print_newline+0 (used reg = )
call _print_newline
!BCC_EOS
! 42 print_newline();
! Debug: func () void = print_newline+0 (used reg = )
call _print_newline
!BCC_EOS
! 43 } break;
! 40 } break;
br .5C
!BCC_EOS
! 44 case SERVICE_FIND_ENTRY:
! 45 {
! 41 case SERVICE_FIND_ENTRY:
! 42 {
.61:
! 46 String_Array *path_array;
! 43 String_Array *path_array;
!BCC_EOS
! 47 lsfs_file* find_file;
! 44 lsfs_file* find_file;
!BCC_EOS
! 48 int i;
! 45 int i;
!BCC_EOS
! 49 disk_service_read_data_from_disk(fsci->master_table_index[0], (long) 16 , &current_table, stack_segment);
! Debug: list int stack_segment = [S+$2030-$2020] (used reg = )
push -$201E[bp]
! Debug: list * struct Directory_Table current_table = S+$2032-$2008 (used reg = )
lea bx,-$2006[bp]
! 46 disk_service_read_data_from_disk(fsci->master_table_index[0], (long) 8 , &current_table, stack_segment);
! Debug: list int stack_segment = [S+$1030-$1020] (used reg = )
push -$101E[bp]
! Debug: list * struct Directory_Table current_table = S+$1032-$1008 (used reg = )
lea bx,-$1006[bp]
push bx
! Debug: list long = const $10 (used reg = )
mov ax,*$10
! Debug: list long = const 8 (used reg = )
mov ax,*8
xor bx,bx
push bx
push ax
mov bx,-$2028[bp]
mov bx,-$1028[bp]
! Debug: ptradd int = const 0 to [2] long = bx+$100 (used reg = )
! Debug: list long = [bx+$100] (used reg = )
push $102[bx]
@ -2969,38 +2957,38 @@ push $100[bx]
call _disk_service_read_data_from_disk
add sp,*$C
!BCC_EOS
! 50 # 59
! 59
! 60
! 61 memcpy(&parameter_struct, stack_segment, pointer_parameter_struct, pointer_parameter_segment, sizeof(Parameter_Struct));
! 47 # 56
! 56
! 57
! 58 memcpy(&parameter_struct, stack_segment, pointer_parameter_struct, pointer_parameter_segment, sizeof(Parameter_Struct));
! Debug: list int = const $10 (used reg = )
mov ax,*$10
push ax
! Debug: list * void pointer_parameter_segment = [S+$2032+4] (used reg = )
! Debug: list * void pointer_parameter_segment = [S+$1032+4] (used reg = )
push 6[bp]
! Debug: list * void pointer_parameter_struct = [S+$2034+6] (used reg = )
! Debug: list * void pointer_parameter_struct = [S+$1034+6] (used reg = )
push 8[bp]
! Debug: list int stack_segment = [S+$2036-$2020] (used reg = )
push -$201E[bp]
! Debug: list * struct Parameter_Struct parameter_struct = S+$2038-$2018 (used reg = )
lea bx,-$2016[bp]
! Debug: list int stack_segment = [S+$1036-$1020] (used reg = )
push -$101E[bp]
! Debug: list * struct Parameter_Struct parameter_struct = S+$1038-$1018 (used reg = )
lea bx,-$1016[bp]
push bx
! Debug: func () void = memcpy+0 (used reg = )
call _memcpy
add sp,*$A
!BCC_EOS
! 62 path_length = strlen(parameter_struct.path, pointer_parameter_segment);
! Debug: list * void pointer_parameter_segment = [S+$2030+4] (used reg = )
! 59 path_length = strlen(parameter_struct.path, pointer_parameter_segment);
! Debug: list * void pointer_parameter_segment = [S+$1030+4] (used reg = )
push 6[bp]
! Debug: list * char parameter_struct = [S+$2032-$2018] (used reg = )
push -$2016[bp]
! Debug: list * char parameter_struct = [S+$1032-$1018] (used reg = )
push -$1016[bp]
! Debug: func () int = strlen+0 (used reg = )
call _strlen
add sp,*4
! Debug: eq int = ax+0 to int path_length = [S+$2030-$2022] (used reg = )
mov -$2020[bp],ax
! Debug: eq int = ax+0 to int path_length = [S+$1030-$1022] (used reg = )
mov -$1020[bp],ax
!BCC_EOS
! 63 local_path = malloc(256);
! 60 local_path = malloc(256);
! Debug: list int = const $100 (used reg = )
mov ax,#$100
push ax
@ -3008,79 +2996,73 @@ push ax
call _malloc
inc sp
inc sp
! Debug: eq * void = ax+0 to * char local_path = [S+$2030-$2028] (used reg = )
mov -$2026[bp],ax
! Debug: eq * void = ax+0 to * char local_path = [S+$1030-$1028] (used reg = )
mov -$1026[bp],ax
!BCC_EOS
! 64 memcpy(local_path, local_segment, parameter_struct.path, pointer_parameter_segment, path_length);
! Debug: list int path_length = [S+$2030-$2022] (used reg = )
push -$2020[bp]
! Debug: list * void pointer_parameter_segment = [S+$2032+4] (used reg = )
! 61 memcpy(local_path, local_segment, parameter_struct.path, pointer_parameter_segment, path_length);
! Debug: list int path_length = [S+$1030-$1022] (used reg = )
push -$1020[bp]
! Debug: list * void pointer_parameter_segment = [S+$1032+4] (used reg = )
push 6[bp]
! Debug: list * char parameter_struct = [S+$2034-$2018] (used reg = )
push -$2016[bp]
! Debug: list int local_segment = [S+$2036-$201A] (used reg = )
push -$2018[bp]
! Debug: list * char local_path = [S+$2038-$2028] (used reg = )
push -$2026[bp]
! Debug: list * char parameter_struct = [S+$1034-$1018] (used reg = )
push -$1016[bp]
! Debug: list int local_segment = [S+$1036-$101A] (used reg = )
push -$1018[bp]
! Debug: list * char local_path = [S+$1038-$1028] (used reg = )
push -$1026[bp]
! Debug: func () void = memcpy+0 (used reg = )
call _memcpy
add sp,*$A
!BCC_EOS
! 65 local_path[path_length] = 0;
! Debug: ptradd int path_length = [S+$2030-$2022] to * char local_path = [S+$2030-$2028] (used reg = )
mov ax,-$2020[bp]
add ax,-$2026[bp]
! 62 local_path[path_length] = 0;
! Debug: ptradd int path_length = [S+$1030-$1022] to * char local_path = [S+$1030-$1028] (used reg = )
mov ax,-$1020[bp]
add ax,-$1026[bp]
mov bx,ax
! Debug: eq int = const 0 to char = [bx+0] (used reg = )
xor al,al
mov [bx],al
!BCC_EOS
! 66 print(local_path);
! Debug: list * char local_path = [S+$2030-$2028] (used reg = )
push -$2026[bp]
! 63 print(local_path);
! Debug: list * char local_path = [S+$1030-$1028] (used reg = )
push -$1026[bp]
! Debug: func () void = print+0 (used reg = )
call _print
inc sp
inc sp
!BCC_EOS
! 67
! 68 path_array = string_split_c(local_path, '/', 0);
! 64
! 65 path_array = string_split_c(local_path, '/', 0);
! Debug: list int = const 0 (used reg = )
xor ax,ax
push ax
! Debug: list int = const $2F (used reg = )
mov ax,*$2F
push ax
! Debug: list * char local_path = [S+$2034-$2028] (used reg = )
push -$2026[bp]
! Debug: list * char local_path = [S+$1034-$1028] (used reg = )
push -$1026[bp]
! Debug: func () * struct String_Array = string_split_c+0 (used reg = )
call _string_split_c
add sp,*6
! Debug: eq * struct String_Array = ax+0 to * struct String_Array path_array = [S+$2030-$202C] (used reg = )
mov -$202A[bp],ax
!BCC_EOS
! 69
! 70 print_newline();
! Debug: func () void = print_newline+0 (used reg = )
call _print_newline
! Debug: eq * struct String_Array = ax+0 to * struct String_Array path_array = [S+$1030-$102C] (used reg = )
mov -$102A[bp],ax
!BCC_EOS
! 71 print_newline();
! Debug: func () void = print_newline+0 (used reg = )
call _print_newline
!BCC_EOS
! 72 for (i = 0; i < path_array->length; ++i)
! Debug: eq int = const 0 to int i = [S+$2030-$2030] (used reg = )
! 66
! 67
! 68
! 69 for (i = 0; i < path_array->length; ++i)
! Debug: eq int = const 0 to int i = [S+$1030-$1030] (used reg = )
xor ax,ax
mov -$202E[bp],ax
mov -$102E[bp],ax
!BCC_EOS
!BCC_EOS
! 73 {
! 70 {
jmp .64
.65:
! 74 print(path_array->strings[i]->chars);
mov bx,-$202A[bp]
! Debug: ptradd int i = [S+$2030-$2030] to * * struct Length_String = [bx+2] (used reg = )
mov ax,-$202E[bp]
! 71 print(path_array->strings[i]->chars);
mov bx,-$102A[bp]
! Debug: ptradd int i = [S+$1030-$1030] to * * struct Length_String = [bx+2] (used reg = )
mov ax,-$102E[bp]
shl ax,*1
add ax,2[bx]
mov bx,ax
@ -3092,34 +3074,25 @@ call _print
inc sp
inc sp
!BCC_EOS
! 75 print_newline();
! Debug: func () void = print_newline+0 (used reg = )
call _print_newline
!BCC_EOS
! 76 }
! 77 print_newline();
! 72
! 73 }
! 74
! 75
! 76
! 77 find_file = calloc(sizeof(lsfs_file), 1);
.63:
! Debug: preinc int i = [S+$2030-$2030] (used reg = )
mov ax,-$202E[bp]
! Debug: preinc int i = [S+$1030-$1030] (used reg = )
mov ax,-$102E[bp]
inc ax
mov -$202E[bp],ax
mov -$102E[bp],ax
.64:
mov bx,-$202A[bp]
! Debug: lt unsigned int = [bx+0] to int i = [S+$2030-$2030] (used reg = )
mov ax,-$202E[bp]
mov bx,-$102A[bp]
! Debug: lt unsigned int = [bx+0] to int i = [S+$1030-$1030] (used reg = )
mov ax,-$102E[bp]
cmp ax,[bx]
jb .65
.66:
.62:
! Debug: func () void = print_newline+0 (used reg = )
call _print_newline
!BCC_EOS
! 78 print_newline();
! Debug: func () void = print_newline+0 (used reg = )
call _print_newline
!BCC_EOS
! 79
! 80 find_file = calloc(sizeof(lsfs_file), 1);
! Debug: list int = const 1 (used reg = )
mov ax,*1
push ax
@ -3129,27 +3102,38 @@ push ax
! Debug: func () * void = calloc+0 (used reg = )
call _calloc
add sp,*4
! Debug: eq * void = ax+0 to * struct lsfs_file find_file = [S+$2030-$202E] (used reg = )
mov -$202C[bp],ax
!BCC_EOS
! 81 lsfs_disk_getattr(find_file, local_path, fsci);
! Debug: list * struct File_System_Control_Information fsci = [S+$2030-$202A] (used reg = )
push -$2028[bp]
! Debug: list * char local_path = [S+$2032-$2028] (used reg = )
push -$2026[bp]
! Debug: list * struct lsfs_file find_file = [S+$2034-$202E] (used reg = )
push -$202C[bp]
! Debug: eq * void = ax+0 to * struct lsfs_file find_file = [S+$1030-$102E] (used reg = )
mov -$102C[bp],ax
!BCC_EOS
! 78 if ( !lsfs_disk_getattr(find_file, local_path, fsci) )
! Debug: list * struct File_System_Control_Information fsci = [S+$1030-$102A] (used reg = )
push -$1028[bp]
! Debug: list * char local_path = [S+$1032-$1028] (used reg = )
push -$1026[bp]
! Debug: list * struct lsfs_file find_file = [S+$1034-$102E] (used reg = )
push -$102C[bp]
! Debug: func () int = lsfs_disk_getattr+0 (used reg = )
call _lsfs_disk_getattr
add sp,*6
test ax,ax
jne .67
.68:
! 79 {
! 80 print("File not found");
! Debug: list * char = .69+0 (used reg = )
mov bx,#.69
push bx
! Debug: func () void = print+0 (used reg = )
call _print
inc sp
inc sp
!BCC_EOS
! 82 print_newline();
! Debug: func () void = print_newline+0 (used reg = )
call _print_newline
!BCC_EOS
! 81 }
! 82
! 83 print("Buffer_address: ");
! Debug: list * char = .67+0 (used reg = )
mov bx,#.67
.67:
! Debug: list * char = .6A+0 (used reg = )
mov bx,#.6A
push bx
! Debug: func () void = print+0 (used reg = )
call _print
@ -3157,20 +3141,17 @@ inc sp
inc sp
!BCC_EOS
! 84 dump_ax(parameter_struct.buffer_address);
! Debug: list unsigned int parameter_struct = [S+$2030-$2012] (used reg = )
push -$2010[bp]
! Debug: list unsigned int parameter_struct = [S+$1030-$1012] (used reg = )
push -$1010[bp]
! Debug: func () void = dump_ax+0 (used reg = )
call _dump_ax
inc sp
inc sp
!BCC_EOS
! 85 print_newline();
! Debug: func () void = print_newline+0 (used reg = )
call _print_newline
!BCC_EOS
! 85
! 86 print("Buffer_segmnent: ");
! Debug: list * char = .68+0 (used reg = )
mov bx,#.68
! Debug: list * char = .6B+0 (used reg = )
mov bx,#.6B
push bx
! Debug: func () void = print+0 (used reg = )
call _print
@ -3178,29 +3159,28 @@ inc sp
inc sp
!BCC_EOS
! 87 dump_ax(parameter_struct.buffer_segment);
! Debug: list unsigned int parameter_struct = [S+$2030-$2014] (used reg = )
push -$2012[bp]
! Debug: list unsigned int parameter_struct = [S+$1030-$1014] (used reg = )
push -$1012[bp]
! Debug: func () void = dump_ax+0 (used reg = )
call _dump_ax
inc sp
inc sp
!BCC_EOS
! 88
! 89 lsfs_disk_read_data_from_file(find_file, parameter_struct.buffer_size, parameter_struct.buffer_a
! 89 ddress, (long) 0x0, parameter_struct.buffer_segment);
! Debug: list unsigned int parameter_struct = [S+$2030-$2014] (used reg = )
push -$2012[bp]
! 89 lsfs_disk_read_data_from_file(find_file, parameter_struct.buffer_size, parameter_struct.buffer_address, (long) 0x0, parameter_struct.buffer_segment);
! Debug: list unsigned int parameter_struct = [S+$1030-$1014] (used reg = )
push -$1012[bp]
! Debug: list long = const 0 (used reg = )
xor ax,ax
xor bx,bx
push bx
push ax
! Debug: list unsigned int parameter_struct = [S+$2036-$2012] (used reg = )
push -$2010[bp]
! Debug: list unsigned int parameter_struct = [S+$2038-$2010] (used reg = )
push -$200E[bp]
! Debug: list * struct lsfs_file find_file = [S+$203A-$202E] (used reg = )
push -$202C[bp]
! Debug: list unsigned int parameter_struct = [S+$1036-$1012] (used reg = )
push -$1010[bp]
! Debug: list unsigned int parameter_struct = [S+$1038-$1010] (used reg = )
push -$100E[bp]
! Debug: list * struct lsfs_file find_file = [S+$103A-$102E] (used reg = )
push -$102C[bp]
! Debug: func () int = lsfs_disk_read_data_from_file+0 (used reg = )
call _lsfs_disk_read_data_from_file
add sp,*$C
@ -3211,13 +3191,14 @@ add sp,*$C
jmp .5C
!BCC_EOS
! 93 case SERIVCE_READ_DATA:
! 94 {
.69:
! 94
! 94 {
.6C:
! 95 # 103
! 103
! 104 print("Hit READ case");
! Debug: list * char = .6A+0 (used reg = )
mov bx,#.6A
! Debug: list * char = .6D+0 (used reg = )
mov bx,#.6D
push bx
! Debug: func () void = print+0 (used reg = )
call _print
@ -3229,10 +3210,10 @@ jmp .5C
!BCC_EOS
! 106 case SERIVCE_WRITE_DATA:
! 107 {
.6B:
.6E:
! 108 print("Hit WRITE case");
! Debug: list * char = .6C+0 (used reg = )
mov bx,#.6C
! Debug: list * char = .6F+0 (used reg = )
mov bx,#.6F
push bx
! Debug: func () void = print+0 (used reg = )
call _print
@ -3244,34 +3225,28 @@ jmp .5C
!BCC_EOS
! 110 case SERIVCE_WRITE_FS_INFO:
! 111 {
.6D:
! 112 print_newline();
! Debug: func () void = print_newline+0 (used reg = )
call _print_newline
!BCC_EOS
.70:
! 112
! 113 print(fsci->filesystem_information);
! Debug: cast * char = const 0 to [$100] char fsci = [S+$202A-$202A] (used reg = )
! Debug: list * char fsci = [S+$202A-$202A] (used reg = )
push -$2028[bp]
! Debug: cast * char = const 0 to [$100] char fsci = [S+$102A-$102A] (used reg = )
! Debug: list * char fsci = [S+$102A-$102A] (used reg = )
push -$1028[bp]
! Debug: func () void = print+0 (used reg = )
call _print
inc sp
inc sp
!BCC_EOS
! 114 print_newline();
! Debug: func () void = print_newline+0 (used reg = )
call _print_newline
!BCC_EOS
! 114
! 115 } break;
jmp .5C
br .5C
!BCC_EOS
! 116
! 117 default:
! 118 {
.6E:
.71:
! 119 print("Default case: ");
! Debug: list * char = .6F+0 (used reg = )
mov bx,#.6F
! Debug: list * char = .72+0 (used reg = )
mov bx,#.72
push bx
! Debug: func () void = print+0 (used reg = )
call _print
@ -3279,7 +3254,7 @@ inc sp
inc sp
!BCC_EOS
! 120 dump_ax(service_action);
! Debug: list int service_action = [S+$202A-8] (used reg = )
! Debug: list int service_action = [S+$102A-8] (used reg = )
push -6[bp]
! Debug: func () void = dump_ax+0 (used reg = )
call _dump_ax
@ -3298,14 +3273,14 @@ beq .5F
sub ax,*1
beq .61
sub ax,*1
je .69
je .6C
sub ax,*1
je .6B
je .6E
sub ax,*6
je .6D
jmp .6E
je .70
jmp .71
.5C:
..FFFF = -$2030
..FFFF = -$1030
add sp,*6
xor ax,ax
lea sp,-4[bp]
@ -3318,40 +3293,44 @@ ret
! 126 }
! 127
! Register BX used in function main
.6F:
.70:
.72:
.73:
.ascii "Default case: "
.byte 0
.6C:
.71:
.6F:
.74:
.ascii "Hit WRITE case"
.byte 0
.6A:
.72:
.6D:
.75:
.ascii "Hit READ case"
.byte 0
.68:
.73:
.6B:
.76:
.ascii "Buffer_segmnent: "
.byte 0
.67:
.74:
.6A:
.77:
.ascii "Buffer_address: "
.byte 0
.69:
.78:
.ascii "File not found"
.byte 0
.60:
.75:
.79:
.ascii "File System has been loaded: "
.byte 0
.43:
.76:
.7A:
.ascii "vs "
.byte 0
.42:
.77:
.7B:
.ascii "New: "
.byte 0
.2E:
.78:
.7C:
.ascii "Size of table_entry: "
.byte 0
.bss

Loading…
Cancel
Save