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