Browse Source

Simple malloc has been added, splitting the path now works

pull/2/head
Jørn Guldberg 6 years ago
parent
commit
d5bc5e8958
  1. 749
      debug.txt
  2. BIN
      disk.out
  3. 30
      main.c
  4. 1673
      main.s
  5. 4
      std_singos/stdio.h
  6. 35
      std_singos/stdlib.h
  7. 140
      std_singos/string.h

749
debug.txt

@ -0,0 +1,749 @@
std_singos/string.h:257.6: error: need '{'
std_singos/string.h:257.17: error: size_t undeclared
std_singos/string.h:257.17: error: need ';'
std_singos/string.h:263.16: error: NULL undeclared
std_singos/string.h:263.16: error: compiler bug? - botched implicit cast
std_singos/string.h:267.14: error: bad expression
std_singos/string.h:267.32: error: need ';'
std_singos/string.h:267.40: error: length undeclared
std_singos/string.h:267.47: error: chars undeclared
std_singos/string.h:268.8: error: need ';'
std_singos/string.h:268.8: error: bad expression
std_singos/string.h:268.12: error: need ';'
std_singos/string.h:268.12: error: bad expression
std_singos/string.h:268.19: error: need ';'
std_singos/string.h:269.4: error: bad expression
std_singos/string.h:281.16: error: compiler bug? - botched implicit cast
std_singos/stdio.h:1.4: error: bad expression
std_singos/stdio.h:1.10: error: need ';'
std_singos/stdio.h:1.18: error: string undeclared
std_singos/stdio.h:3.4: error: bad expression
std_singos/stdio.h:3.10: error: need ';'
std_singos/stdio.h:4.4: error: need ';'
std_singos/stdio.h:4.4: error: bad expression
std_singos/stdio.h:15.4: error: bad expression
std_singos/stdio.h:15.16: error: need ';'
std_singos/stdio.h:15.26: error: argument undeclared
std_singos/stdio.h:16.1: error: need ';'
std_singos/stdio.h:34.21: error: input undeclared
std_singos/stdio.h:35.4: error: need ';'
std_singos/stdio.h:35.4: error: bad expression
std_singos/stdio.h:37.17: error: compiler bug? - botched implicit cast
std_singos/stdio.h:40.4: error: bad expression
std_singos/stdio.h:40.12: error: need ';'
std_singos/stdio.h:41.4: error: need ';'
std_singos/stdio.h:41.4: error: bad expression
std_singos/stdio.h:53.4: error: bad expression
std_singos/stdio.h:53.18: error: need ';'
std_singos/stdio.h:54.1: error: need ';'
driver/disk.h:1.3: error: bad expression
driver/disk.h:1.18: error: need ';'
driver/disk.h:1.25: error: index undeclared
driver/disk.h:1.41: error: number_sectors undeclared
driver/disk.h:1.54: error: data_buffer undeclared
driver/disk.h:1.75: error: data_buffer_segment undeclared
driver/disk.h:2.3: error: bad expression
driver/disk.h:2.36: error: need ';'
driver/disk.h:4.3: error: bad expression
driver/disk.h:4.36: error: need ';'
driver/disk.h:5.4: error: need ';'
driver/disk.h:5.4: error: bad expression
driver/disk.h:6.4: error: bad expression
driver/disk.h:6.19: error: need ';'
driver/disk.h:7.4: error: bad expression
driver/disk.h:8.3: error: bad expression
driver/disk.h:8.23: error: need ';'
main.c:21.4: error: bad expression
main.c:21.12: error: need ';'
main.c:22.4: error: bad expression
main.c:22.16: error: need ';'
main.c:23.4: error: bad expression
main.c:23.18: error: need ';'
main.c:25.7: error: bad expression
main.c:25.14: error: need ';'
main.c:25.14: error: bad expression
main.c:25.30: error: need ';'
main.c:25.46: error: Directory_Table undeclared
main.c:25.46: error: need ';'
main.c:26.7: error: bad expression
main.c:26.14: error: need ';'
main.c:26.14: error: bad expression
main.c:26.33: error: need ';'
main.c:26.45: error: Struct_Table_Entry undeclared
main.c:26.45: error: need ';'
main.c:26.46: error: Table_Entry undeclared
main.c:27.7: error: bad expression
main.c:27.14: error: need ';'
main.c:27.14: error: bad expression
main.c:27.39: error: need ';'
main.c:27.57: error: struct_partition_control undeclared
main.c:27.57: error: need ';'
main.c:27.58: error: partition_control undeclared
main.c:28.7: error: bad expression
main.c:28.14: error: need ';'
main.c:28.14: error: bad expression
main.c:28.46: error: need ';'
main.c:28.51: error: File_System_Control_Information undeclared
main.c:28.51: error: need ';'
main.c:28.52: error: FSCI undeclared
main.c:29.7: error: bad expression
main.c:29.14: error: need ';'
main.c:29.14: error: bad expression
main.c:29.38: error: need ';'
main.c:29.42: error: meta_information_format undeclared
main.c:29.42: error: need ';'
main.c:29.43: error: mif undeclared
main.c:30.7: error: bad expression
main.c:30.14: error: need ';'
main.c:30.14: error: bad expression
main.c:30.25: error: need ';'
main.c:30.36: error: tag_record undeclared
main.c:30.36: error: need ';'
main.c:31.7: error: bad expression
main.c:31.14: error: need ';'
main.c:31.14: error: bad expression
main.c:31.24: error: need ';'
main.c:31.34: error: lsfs_file undeclared
main.c:31.34: error: need ';'
main.c:32.7: error: bad expression
main.c:32.14: error: need ';'
main.c:32.14: error: bad expression
main.c:32.31: error: need ';'
main.c:32.48: error: Parameter_Struct undeclared
main.c:32.48: error: need ';'
main.c:34.7: error: bad expression
main.c:34.12: error: need ';'
main.c:34.12: error: bad expression
main.c:34.29: error: need ';'
main.c:35.1: error: Table_Entry_Kind undeclared
main.c:35.1: error: need ';'
main.c:37.17: error: ENTRY_EMPTY undeclared
main.c:38.16: error: ENTRY_FILE undeclared
main.c:39.21: error: ENTRY_DIRECTORY undeclared
main.c:40.1: error: bad expression
main.c:40.18: error: need ';'
main.c:42.7: error: bad expression
main.c:42.12: error: need ';'
main.c:42.12: error: bad expression
main.c:42.27: error: need ';'
main.c:43.1: error: Service_Action undeclared
main.c:43.1: error: need ';'
main.c:44.24: error: SERIVCE_LOAD_DISK undeclared
main.c:45.24: error: SERVICE_FIND_ENTRY undeclared
main.c:46.24: error: SERIVCE_READ_DATA undeclared
main.c:47.24: error: SERIVCE_WRITE_DATA undeclared
main.c:49.1: error: bad expression
main.c:49.16: error: need ';'
main.c:51.6: error: bad expression
main.c:51.25: error: need ';'
main.c:52.1: error: need ';'
main.c:67.6: error: bad expression
main.c:67.38: error: need ';'
main.c:68.1: error: need ';'
main.c:82.7: error: bad expression
main.c:82.14: error: need ';'
main.c:82.14: error: bad expression
main.c:82.30: error: need ';'
main.c:83.1: error: need ';'
main.c:84.23: error: need ';'
main.c:84.24: error: entries undeclared
main.c:84.29: error: illegal indirection
main.c:88.6: error: bad expression
main.c:88.23: error: need ';'
main.c:89.1: error: need ';'
main.c:97.31: error: need ';'
main.c:97.32: error: entry_kind undeclared
main.c:100.3: error: bad expression
main.c:100.8: error: need ';'
main.c:100.18: error: selector undeclared
main.c:100.45: error: pointer_parameter_segment undeclared
main.c:100.71: error: pointer_parameter_struct undeclared
main.c:101.3: error: need ';'
main.c:101.3: error: bad expression
main.c:101.12: error: need ';'
main.c:102.4: error: bad expression
main.c:103.4: error: bad expression
main.c:108.13: error: need ';'
main.c:108.14: error: fsci undeclared
main.c:109.33: error: need ';'
main.c:109.34: error: service_action undeclared
main.c:110.33: error: need ';'
main.c:110.34: error: current_table undeclared
main.c:111.37: error: need ';'
main.c:111.38: error: parameter_struct undeclared
main.c:112.7: error: bad expression
main.c:112.21: error: need ';'
main.c:112.23: error: local_segment undeclared
main.c:113.7: error: bad expression
main.c:113.21: error: need ';'
main.c:113.23: error: stack_segment undeclared
main.c:114.7: error: bad expression
main.c:114.19: error: need ';'
main.c:114.20: error: path_length undeclared
main.c:115.8: error: bad expression
main.c:115.22: error: need ';'
main.c:115.23: error: index_as_long undeclared
main.c:117.8: error: bad expression
main.c:117.19: error: need ';'
main.c:117.20: error: local_path undeclared
main.c:117.24: error: illegal indirection
main.c:122.31: error: constant expression required
main.c:132.51: error: undefined structure element
main.c:135.32: error: constant expression required
main.c:140.35: error: illegal indirection
main.c:143.71: error: illegal indirection
main.c:146.48: error: illegal indirection
main.c:146.59: error: compiler bug? - taking address of non-lvalue
main.c:148.48: error: illegal indirection
main.c:148.59: error: compiler bug? - taking address of non-lvalue
main.c:150.48: error: illegal indirection
main.c:150.59: error: compiler bug? - taking address of non-lvalue
main.c:153.31: error: constant expression required
main.c:166.32: error: constant expression required
main.c:176.10: error: duplicate case in switch
main.c:176.10: error: duplicate case in switch
main.c:176.10: error: duplicate case in switch
main.c:176.13: error: compiler bug? - botched implicit cast
main.c:eof: error: need '}'
main.c:eof: error: need '}'
main.c:eof: error: need '}'
01923 .fail 209 errors detected
***** junk after operands...............................^
00006 000C E8 0000 call _main
***** unbound label..................................^
***** relocation impossible...............................^
00339 0119 E8 0000 call _malloc
***** unbound label.....................................^
***** relocation impossible....................................^
00610 0242 E8 0000 call _lsfs_create_string
***** unbound label.....................................^
***** relocation impossible................................................^
00688 02B1 E8 0000 call _lsfs_create_string
***** unbound label.....................................^
***** relocation impossible................................................^
00736 fail! std_singos/string.h:257.6: error: need '{'
***** user-generated error..........................^
00741 fail! std_singos/string.h:257.17: error: size_t undeclared
***** user-generated error..........................^
00743 fail! std_singos/string.h:257.17: error: need ';'
***** user-generated error..........................^
00751 fail! std_singos/string.h:263.16: error: NULL undeclared
***** user-generated error..........................^
00752 fail! std_singos/string.h:263.16: error: compiler bug? - botched implicit cast
***** user-generated error..........................^
00769 fail! std_singos/string.h:267.14: error: bad expression
***** user-generated error..........................^
00771 fail! std_singos/string.h:267.32: error: need ';'
***** user-generated error..........................^
00772 fail! std_singos/string.h:267.40: error: length undeclared
***** user-generated error..........................^
00773 fail! std_singos/string.h:267.47: error: chars undeclared
***** user-generated error..........................^
00783 031F E8 0000 call _lsfs_create_string
***** unbound label.....................................^
***** relocation impossible................................................^
00788 fail! std_singos/string.h:268.8: error: need ';'
***** user-generated error..........................^
00789 fail! std_singos/string.h:268.8: error: bad expression
***** user-generated error..........................^
00791 fail! std_singos/string.h:268.12: error: need ';'
***** user-generated error..........................^
00792 fail! std_singos/string.h:268.12: error: bad expression
***** user-generated error..........................^
00794 fail! std_singos/string.h:268.19: error: need ';'
***** user-generated error..........................^
00797 fail! std_singos/string.h:269.4: error: bad expression
***** user-generated error..........................^
00815 fail! std_singos/string.h:281.16: error: compiler bug? - botched implicit cast
***** user-generated error..........................^
00832 fail! std_singos/stdio.h:1.4: error: bad expression
***** user-generated error..........................^
00834 fail! std_singos/stdio.h:1.10: error: need ';'
***** user-generated error..........................^
00835 fail! std_singos/stdio.h:1.18: error: string undeclared
***** user-generated error..........................^
00839 0348 E8 0000 call _print
***** relocation impossible...................................^
***** unbound label.....................................^
00845 fail! std_singos/stdio.h:3.4: error: bad expression
***** user-generated error..........................^
00847 fail! std_singos/stdio.h:3.10: error: need ';'
***** user-generated error..........................^
00852 0351 E8 0000 call _print
***** unbound label.....................................^
***** relocation impossible...................................^
00856 fail! std_singos/stdio.h:4.4: error: need ';'
***** user-generated error..........................^
00857 fail! std_singos/stdio.h:4.4: error: bad expression
***** user-generated error..........................^
00880 fail! std_singos/stdio.h:15.4: error: bad expression
***** user-generated error..........................^
00882 fail! std_singos/stdio.h:15.16: error: need ';'
***** user-generated error..........................^
00883 fail! std_singos/stdio.h:15.26: error: argument undeclared
***** user-generated error..........................^
00888 036B E8 0000 call _print_stack
***** unbound label.....................................^
***** relocation impossible.........................................^
00892 fail! std_singos/stdio.h:16.1: error: need ';'
***** user-generated error..........................^
00917 fail! std_singos/stdio.h:34.21: error: input undeclared
***** user-generated error..........................^
00922 0388 E8 0000 call _dump_ax_return
***** unbound label.....................................^
***** relocation impossible............................................^
00926 fail! std_singos/stdio.h:35.4: error: need ';'
***** user-generated error..........................^
00927 fail! std_singos/stdio.h:35.4: error: bad expression
***** user-generated error..........................^
00935 fail! std_singos/stdio.h:37.17: error: compiler bug? - botched implicit cast
***** user-generated error..........................^
00951 fail! std_singos/stdio.h:40.4: error: bad expression
***** user-generated error..........................^
00953 fail! std_singos/stdio.h:40.12: error: need ';'
***** user-generated error..........................^
00958 03AB E8 0000 call _dump_ax
***** relocation impossible.....................................^
***** unbound label.....................................^
00962 fail! std_singos/stdio.h:41.4: error: need ';'
***** user-generated error..........................^
00963 fail! std_singos/stdio.h:41.4: error: bad expression
***** user-generated error..........................^
00976 03B9 E8 0000 call _dump_ax_return
***** unbound label.....................................^
***** relocation impossible............................................^
00993 fail! std_singos/stdio.h:53.4: error: bad expression
***** user-generated error..........................^
00995 fail! std_singos/stdio.h:53.18: error: need ';'
***** user-generated error..........................^
00998 03C7 E8 0000 call _print_newline
***** relocation impossible...........................................^
***** unbound label.....................................^
01000 fail! std_singos/stdio.h:54.1: error: need ';'
***** user-generated error..........................^
01019 fail! driver/disk.h:1.3: error: bad expression
***** user-generated error..........................^
01021 fail! driver/disk.h:1.18: error: need ';'
***** user-generated error..........................^
01022 fail! driver/disk.h:1.25: error: index undeclared
***** user-generated error..........................^
01023 fail! driver/disk.h:1.41: error: number_sectors undeclared
***** user-generated error..........................^
01024 fail! driver/disk.h:1.54: error: data_buffer undeclared
***** user-generated error..........................^
01025 fail! driver/disk.h:1.75: error: data_buffer_segment undeclared
***** user-generated error..........................^
01035 03E5 E8 0000 call _data_from_disk
***** unbound label.....................................^
***** relocation impossible............................................^
01039 fail! driver/disk.h:2.3: error: bad expression
***** user-generated error..........................^
01041 fail! driver/disk.h:2.36: error: need ';'
***** user-generated error..........................^
01051 03FB E8 0000 call _disk_service_read_data_from_disk
***** unbound label.....................................^
***** relocation impossible..............................................................^
01056 fail! driver/disk.h:4.3: error: bad expression
***** user-generated error..........................^
01059 fail! driver/disk.h:4.36: error: need ';'
***** user-generated error..........................^
01070 0411 E8 0000 call _disk_service_read_data_from_disk
***** unbound label.....................................^
***** relocation impossible..............................................................^
01073 fail! driver/disk.h:5.4: error: need ';'
***** user-generated error..........................^
01074 fail! driver/disk.h:5.4: error: bad expression
***** user-generated error..........................^
01081 fail! driver/disk.h:6.4: error: bad expression
***** user-generated error..........................^
01083 fail! driver/disk.h:6.19: error: need ';'
***** user-generated error..........................^
01086 fail! driver/disk.h:7.4: error: bad expression
***** user-generated error..........................^
01093 fail! driver/disk.h:8.3: error: bad expression
***** user-generated error..........................^
01095 fail! driver/disk.h:8.23: error: need ';'
***** user-generated error..........................^
01159 fail! main.c:21.4: error: bad expression
***** user-generated error..........................^
01161 fail! main.c:21.12: error: need ';'
***** user-generated error..........................^
01165 0463 E8 0000 call _dump_ax
***** relocation impossible.....................................^
***** unbound label.....................................^
01170 fail! main.c:22.4: error: bad expression
***** user-generated error..........................^
01172 fail! main.c:22.16: error: need ';'
***** user-generated error..........................^
01176 046C E8 0000 call _print_stack
***** unbound label.....................................^
***** relocation impossible.........................................^
01181 fail! main.c:23.4: error: bad expression
***** user-generated error..........................^
01183 fail! main.c:23.18: error: need ';'
***** user-generated error..........................^
01185 0471 E8 0000 call _print_newline
***** unbound label.....................................^
***** relocation impossible...........................................^
01189 fail! main.c:25.7: error: bad expression
***** user-generated error..........................^
01191 fail! main.c:25.14: error: need ';'
***** user-generated error..........................^
01192 fail! main.c:25.14: error: bad expression
***** user-generated error..........................^
01194 fail! main.c:25.30: error: need ';'
***** user-generated error..........................^
01195 fail! main.c:25.46: error: Directory_Table undeclared
***** user-generated error..........................^
01197 fail! main.c:25.46: error: need ';'
***** user-generated error..........................^
01200 fail! main.c:26.7: error: bad expression
***** user-generated error..........................^
01202 fail! main.c:26.14: error: need ';'
***** user-generated error..........................^
01203 fail! main.c:26.14: error: bad expression
***** user-generated error..........................^
01205 fail! main.c:26.33: error: need ';'
***** user-generated error..........................^
01206 fail! main.c:26.45: error: Struct_Table_Entry undeclared
***** user-generated error..........................^
01208 fail! main.c:26.45: error: need ';'
***** user-generated error..........................^
01209 fail! main.c:26.46: error: Table_Entry undeclared
***** user-generated error..........................^
01212 fail! main.c:27.7: error: bad expression
***** user-generated error..........................^
01214 fail! main.c:27.14: error: need ';'
***** user-generated error..........................^
01215 fail! main.c:27.14: error: bad expression
***** user-generated error..........................^
01217 fail! main.c:27.39: error: need ';'
***** user-generated error..........................^
01218 fail! main.c:27.57: error: struct_partition_control undeclared
***** user-generated error..........................^
01220 fail! main.c:27.57: error: need ';'
***** user-generated error..........................^
01221 fail! main.c:27.58: error: partition_control undeclared
***** user-generated error..........................^
01224 fail! main.c:28.7: error: bad expression
***** user-generated error..........................^
01226 fail! main.c:28.14: error: need ';'
***** user-generated error..........................^
01227 fail! main.c:28.14: error: bad expression
***** user-generated error..........................^
01229 fail! main.c:28.46: error: need ';'
***** user-generated error..........................^
01230 fail! main.c:28.51: error: File_System_Control_Information undeclared
***** user-generated error..........................^
01232 fail! main.c:28.51: error: need ';'
***** user-generated error..........................^
01233 fail! main.c:28.52: error: FSCI undeclared
***** user-generated error..........................^
01236 fail! main.c:29.7: error: bad expression
***** user-generated error..........................^
01238 fail! main.c:29.14: error: need ';'
***** user-generated error..........................^
01239 fail! main.c:29.14: error: bad expression
***** user-generated error..........................^
01241 fail! main.c:29.38: error: need ';'
***** user-generated error..........................^
01242 fail! main.c:29.42: error: meta_information_format undeclared
***** user-generated error..........................^
01244 fail! main.c:29.42: error: need ';'
***** user-generated error..........................^
01245 fail! main.c:29.43: error: mif undeclared
***** user-generated error..........................^
01248 fail! main.c:30.7: error: bad expression
***** user-generated error..........................^
01250 fail! main.c:30.14: error: need ';'
***** user-generated error..........................^
01251 fail! main.c:30.14: error: bad expression
***** user-generated error..........................^
01253 fail! main.c:30.25: error: need ';'
***** user-generated error..........................^
01254 fail! main.c:30.36: error: tag_record undeclared
***** user-generated error..........................^
01256 fail! main.c:30.36: error: need ';'
***** user-generated error..........................^
01259 fail! main.c:31.7: error: bad expression
***** user-generated error..........................^
01261 fail! main.c:31.14: error: need ';'
***** user-generated error..........................^
01262 fail! main.c:31.14: error: bad expression
***** user-generated error..........................^
01264 fail! main.c:31.24: error: need ';'
***** user-generated error..........................^
01265 fail! main.c:31.34: error: lsfs_file undeclared
***** user-generated error..........................^
01267 fail! main.c:31.34: error: need ';'
***** user-generated error..........................^
01270 fail! main.c:32.7: error: bad expression
***** user-generated error..........................^
01272 fail! main.c:32.14: error: need ';'
***** user-generated error..........................^
01273 fail! main.c:32.14: error: bad expression
***** user-generated error..........................^
01275 fail! main.c:32.31: error: need ';'
***** user-generated error..........................^
01276 fail! main.c:32.48: error: Parameter_Struct undeclared
***** user-generated error..........................^
01278 fail! main.c:32.48: error: need ';'
***** user-generated error..........................^
01282 fail! main.c:34.7: error: bad expression
***** user-generated error..........................^
01284 fail! main.c:34.12: error: need ';'
***** user-generated error..........................^
01285 fail! main.c:34.12: error: bad expression
***** user-generated error..........................^
01287 fail! main.c:34.29: error: need ';'
***** user-generated error..........................^
01289 fail! main.c:35.1: error: Table_Entry_Kind undeclared
***** user-generated error..........................^
01291 fail! main.c:35.1: error: need ';'
***** user-generated error..........................^
01294 fail! main.c:37.17: error: ENTRY_EMPTY undeclared
***** user-generated error..........................^
01296 fail! main.c:38.16: error: ENTRY_FILE undeclared
***** user-generated error..........................^
01298 fail! main.c:39.21: error: ENTRY_DIRECTORY undeclared
***** user-generated error..........................^
01300 fail! main.c:40.1: error: bad expression
***** user-generated error..........................^
01311 fail! main.c:40.18: error: need ';'
***** user-generated error..........................^
01315 fail! main.c:42.7: error: bad expression
***** user-generated error..........................^
01317 fail! main.c:42.12: error: need ';'
***** user-generated error..........................^
01318 fail! main.c:42.12: error: bad expression
***** user-generated error..........................^
01320 fail! main.c:42.27: error: need ';'
***** user-generated error..........................^
01322 fail! main.c:43.1: error: Service_Action undeclared
***** user-generated error..........................^
01324 fail! main.c:43.1: error: need ';'
***** user-generated error..........................^
01326 fail! main.c:44.24: error: SERIVCE_LOAD_DISK undeclared
***** user-generated error..........................^
01328 fail! main.c:45.24: error: SERVICE_FIND_ENTRY undeclared
***** user-generated error..........................^
01330 fail! main.c:46.24: error: SERIVCE_READ_DATA undeclared
***** user-generated error..........................^
01332 fail! main.c:47.24: error: SERIVCE_WRITE_DATA undeclared
***** user-generated error..........................^
01335 fail! main.c:49.1: error: bad expression
***** user-generated error..........................^
01349 fail! main.c:49.16: error: need ';'
***** user-generated error..........................^
01353 fail! main.c:51.6: error: bad expression
***** user-generated error..........................^
01355 fail! main.c:51.25: error: need ';'
***** user-generated error..........................^
01358 fail! main.c:52.1: error: need ';'
***** user-generated error..........................^
01388 fail! main.c:67.6: error: bad expression
***** user-generated error..........................^
01390 fail! main.c:67.38: error: need ';'
***** user-generated error..........................^
01393 fail! main.c:68.1: error: need ';'
***** user-generated error..........................^
01419 fail! main.c:82.7: error: bad expression
***** user-generated error..........................^
01421 fail! main.c:82.14: error: need ';'
***** user-generated error..........................^
01422 fail! main.c:82.14: error: bad expression
***** user-generated error..........................^
01424 fail! main.c:82.30: error: need ';'
***** user-generated error..........................^
01427 fail! main.c:83.1: error: need ';'
***** user-generated error..........................^
01430 fail! main.c:84.23: error: need ';'
***** user-generated error..........................^
01431 fail! main.c:84.24: error: entries undeclared
***** user-generated error..........................^
01432 fail! main.c:84.29: error: illegal indirection
***** user-generated error..........................^
01439 fail! main.c:88.6: error: bad expression
***** user-generated error..........................^
01441 fail! main.c:88.23: error: need ';'
***** user-generated error..........................^
01444 fail! main.c:89.1: error: need ';'
***** user-generated error..........................^
01462 fail! main.c:97.31: error: need ';'
***** user-generated error..........................^
01463 fail! main.c:97.32: error: entry_kind undeclared
***** user-generated error..........................^
01470 fail! main.c:100.3: error: bad expression
***** user-generated error..........................^
01472 fail! main.c:100.8: error: need ';'
***** user-generated error..........................^
01473 fail! main.c:100.18: error: selector undeclared
***** user-generated error..........................^
01474 fail! main.c:100.45: error: pointer_parameter_segment undeclared
***** user-generated error..........................^
01475 fail! main.c:100.71: error: pointer_parameter_struct undeclared
***** user-generated error..........................^
01484 04AF E8 0000 call _main
***** relocation impossible..................................^
***** unbound label.....................................^
01487 fail! main.c:101.3: error: need ';'
***** user-generated error..........................^
01488 fail! main.c:101.3: error: bad expression
***** user-generated error..........................^
01490 fail! main.c:101.12: error: need ';'
***** user-generated error..........................^
01493 fail! main.c:102.4: error: bad expression
***** user-generated error..........................^
01500 fail! main.c:103.4: error: bad expression
***** user-generated error..........................^
01512 fail! main.c:108.13: error: need ';'
***** user-generated error..........................^
01513 fail! main.c:108.14: error: fsci undeclared
***** user-generated error..........................^
01517 fail! main.c:109.33: error: need ';'
***** user-generated error..........................^
01518 fail! main.c:109.34: error: service_action undeclared
***** user-generated error..........................^
01522 fail! main.c:110.33: error: need ';'
***** user-generated error..........................^
01523 fail! main.c:110.34: error: current_table undeclared
***** user-generated error..........................^
01527 fail! main.c:111.37: error: need ';'
***** user-generated error..........................^
01528 fail! main.c:111.38: error: parameter_struct undeclared
***** user-generated error..........................^
01531 fail! main.c:112.7: error: bad expression
***** user-generated error..........................^
01533 fail! main.c:112.21: error: need ';'
***** user-generated error..........................^
01534 fail! main.c:112.23: error: local_segment undeclared
***** user-generated error..........................^
01540 fail! main.c:113.7: error: bad expression
***** user-generated error..........................^
01542 fail! main.c:113.21: error: need ';'
***** user-generated error..........................^
01543 fail! main.c:113.23: error: stack_segment undeclared
***** user-generated error..........................^
01549 fail! main.c:114.7: error: bad expression
***** user-generated error..........................^
01551 fail! main.c:114.19: error: need ';'
***** user-generated error..........................^
01552 fail! main.c:114.20: error: path_length undeclared
***** user-generated error..........................^
01555 fail! main.c:115.8: error: bad expression
***** user-generated error..........................^
01557 fail! main.c:115.22: error: need ';'
***** user-generated error..........................^
01558 fail! main.c:115.23: error: index_as_long undeclared
***** user-generated error..........................^
01562 fail! main.c:117.8: error: bad expression
***** user-generated error..........................^
01564 fail! main.c:117.19: error: need ';'
***** user-generated error..........................^
01565 fail! main.c:117.20: error: local_path undeclared
***** user-generated error..........................^
01566 fail! main.c:117.24: error: illegal indirection
***** user-generated error..........................^
01579 fail! main.c:122.31: error: constant expression required
***** user-generated error..........................^
01603 04ED E8 0000 call _disk_service_read_data_from_disk
***** unbound label.....................................^
***** relocation impossible..............................................................^
01611 04F7 E8 0000 call _print
***** relocation impossible...................................^
***** unbound label.....................................^
01617 04FC E8 0000 call _print_newline
***** unbound label.....................................^
***** relocation impossible...........................................^
01620 fail! main.c:132.51: error: undefined structure element
***** user-generated error..........................^
01624 0503 E8 0000 call _print_stack
***** relocation impossible.........................................^
***** unbound label.....................................^
01630 0508 E8 0000 call _print_newline
***** unbound label.....................................^
***** relocation impossible...........................................^
01636 fail! main.c:135.32: error: constant expression required
***** user-generated error..........................^
01684 fail! main.c:140.35: error: illegal indirection
***** user-generated error..........................^
01690 0557 E8 0000 call _print_stack
***** relocation impossible.........................................^
***** unbound label.....................................^
01696 055C E8 0000 call _print_newline
***** unbound label.....................................^
***** relocation impossible...........................................^
01699 fail! main.c:143.71: error: illegal indirection
***** user-generated error..........................^
01712 056E E8 0000 call _disk_service_read_data_from_disk
***** unbound label.....................................^
***** relocation impossible..............................................................^
01720 0578 E8 0000 call _print
***** relocation impossible...................................^
***** unbound label.....................................^
01726 057D E8 0000 call _print_newline
***** unbound label.....................................^
***** relocation impossible...........................................^
01729 fail! main.c:146.48: error: illegal indirection
***** user-generated error..........................^
01730 fail! main.c:146.59: error: compiler bug? - taking address of non-lvalue
***** user-generated error..........................^
01734 0584 E8 0000 call _print_stack
***** relocation impossible.........................................^
***** unbound label.....................................^
01740 0589 E8 0000 call _print_newline
***** unbound label.....................................^
***** relocation impossible...........................................^
01743 fail! main.c:148.48: error: illegal indirection
***** user-generated error..........................^
01744 fail! main.c:148.59: error: compiler bug? - taking address of non-lvalue
***** user-generated error..........................^
01748 0590 E8 0000 call _print_stack
***** relocation impossible.........................................^
***** unbound label.....................................^
01754 0595 E8 0000 call _print_newline
***** unbound label.....................................^
***** relocation impossible...........................................^
01757 fail! main.c:150.48: error: illegal indirection
***** user-generated error..........................^
01758 fail! main.c:150.59: error: compiler bug? - taking address of non-lvalue
***** user-generated error..........................^
01762 059C E8 0000 call _print_stack
***** relocation impossible.........................................^
***** unbound label.....................................^
01768 05A1 E8 0000 call _print_newline
***** unbound label.....................................^
***** relocation impossible...........................................^
01774 fail! main.c:153.31: error: constant expression required
***** user-generated error..........................^
01784 05AA E8 0000 call _print
***** relocation impossible...................................^
***** unbound label.....................................^
01792 fail! main.c:166.32: error: constant expression required
***** user-generated error..........................^
01800 05B5 E8 0000 call _print
***** unbound label.....................................^
***** relocation impossible...................................^
01815 05C0 E8 0000 call _print
***** unbound label.....................................^
***** relocation impossible...................................^
01825 fail! main.c:176.10: error: duplicate case in switch
***** user-generated error..........................^
01826 fail! main.c:176.10: error: duplicate case in switch
***** user-generated error..........................^
01827 fail! main.c:176.10: error: duplicate case in switch
***** user-generated error..........................^
01839 fail! main.c:176.13: error: compiler bug? - botched implicit cast
***** user-generated error..........................^
01852 fail! main.c:eof: error: need '}'
***** user-generated error..........................^
01853 fail! main.c:eof: error: need '}'
***** user-generated error..........................^
01854 fail! main.c:eof: error: need '}'
***** user-generated error..........................^
01923 .fail 209 errors detected
***** junk after operands...............................^
***** user-generated error..............................^
00287 errors
00000 warnings

BIN
disk.out

Binary file not shown.

30
main.c

@ -2,9 +2,10 @@
// Address to print 7C47 // Address to print 7C47
// //
// //
#include "std_singos/stdio.h"
#include "std_singos/stdlib.h"
#include "std_singos/string.h" #include "std_singos/string.h"
#include "std_singos/stdio.h"
#include "driver/disk.h" #include "driver/disk.h"
#define SPACE_MBR_RECORD 2048 // Sectors #define SPACE_MBR_RECORD 2048 // Sectors
@ -106,15 +107,18 @@ void* pointer_parameter_struct;
// one wnats to use. // one wnats to use.
// 0 should not be used, to try to ensure that a value has been set explicitly. // 0 should not be used, to try to ensure that a value has been set explicitly.
FSCI fsci; FSCI fsci;
Service_Action service_action; Service_Action service_action;
Directory_Table current_table; Directory_Table current_table;
Parameter_Struct parameter_struct; Parameter_Struct parameter_struct;
int local_segment = 0x7e0; int local_segment = 0x7e0;
unsigned int heap_start = 0x2000;
unsigned int heap_end = 0xffff;
int stack_segment = 0x8fc0; int stack_segment = 0x8fc0;
int path_length; int path_length;
long index_as_long; long index_as_long;
char local_path[256]; char *local_path = 0;
service_action = selector; service_action = selector;
switch (service_action) switch (service_action)
@ -129,16 +133,33 @@ void* pointer_parameter_struct;
disk_service_read_data_from_disk(index_as_long, 1, &fsci, stack_segment); disk_service_read_data_from_disk(index_as_long, 1, &fsci, stack_segment);
print("File System has been loaded: "); print("File System has been loaded: ");
print_newline(); print_newline();
set_heap_settings(heap_start, heap_end);
print_stack(fsci.filesystem_information); print_stack(fsci.filesystem_information);
print_newline(); print_newline();
} break; } break;
case SERVICE_FIND_ENTRY: case SERVICE_FIND_ENTRY:
{ {
String_Array *path_array;
int i;
memcpy(&parameter_struct, stack_segment, pointer_parameter_struct, pointer_parameter_segment, sizeof(Parameter_Struct)); memcpy(&parameter_struct, stack_segment, pointer_parameter_struct, pointer_parameter_segment, sizeof(Parameter_Struct));
path_length = strlen(parameter_struct.path, pointer_parameter_segment); path_length = strlen(parameter_struct.path, pointer_parameter_segment);
memcpy(local_path, stack_segment, parameter_struct.path, pointer_parameter_segment, path_length); local_path = malloc(256);
memcpy(local_path, local_segment, parameter_struct.path, pointer_parameter_segment, path_length);
local_path[path_length] = 0; local_path[path_length] = 0;
print_stack(local_path); print(local_path);
path_array = string_split_c(local_path, '/', 0);
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();
disk_service_read_data_from_disk(fsci.master_table_index[0], DEFAULT_TABLE_SIZE, &current_table, stack_segment); disk_service_read_data_from_disk(fsci.master_table_index[0], DEFAULT_TABLE_SIZE, &current_table, stack_segment);
print("Current table: "); print("Current table: ");
@ -149,6 +170,7 @@ void* pointer_parameter_struct;
print_newline(); print_newline();
print_stack(current_table.entries[2].filename); print_stack(current_table.entries[2].filename);
print_newline(); print_newline();
} break; } break;
case SERIVCE_READ_DATA: case SERIVCE_READ_DATA:
{ {

1673
main.s

File diff suppressed because it is too large

4
std_singos/stdio.h

@ -1,4 +1,5 @@
void print(string); void print(string);
void* dump_ax_return(input);
void print(string) void print(string)
char* string; char* string;
@ -31,7 +32,7 @@ void print_stack(argument)
#endasm #endasm
} }
dump_ax_return(input) void* dump_ax_return(input)
void* input; void* input;
{ {
return input; return input;
@ -40,7 +41,6 @@ void* input;
void dump_ax(input) void dump_ax(input)
void* input; void* input;
{ {
// Force the variable in ax
dump_ax_return(input) dump_ax_return(input)
#asm #asm
push bp push bp

35
std_singos/stdlib.h

@ -0,0 +1,35 @@
unsigned int global_heap_start = 0;
unsigned int global_heap_end = 0;
unsigned int global_heap_next = 0;
void* malloc(num_bytes);
int set_heap_settings(param_start, param_end);
unsigned int get_heap_next();
void* malloc(num_bytes)
int num_bytes;
{
unsigned int allocated_pointer = global_heap_next;
global_heap_next = global_heap_next + num_bytes;
if (global_heap_next > global_heap_end)
{
return 0; /* No more memory */
}
return allocated_pointer;
}
int set_heap_settings(param_start, param_end)
unsigned int param_start;
unsigned int param_end;
{
global_heap_start = param_start;
global_heap_next = param_start;
global_heap_end = param_end;
return 0;
}
unsigned int get_heap_next()
{
return global_heap_next;
}

140
std_singos/string.h

@ -1,7 +1,30 @@
typedef struct Length_String {
short dynamic;
unsigned int length;
char *chars;
} Length_String;
typedef struct String_Array {
unsigned int length;
Length_String **strings;
} String_Array;
void strcpy (destination, destination_segment, source, source_segment ); void strcpy (destination, destination_segment, source, source_segment );
int strlen (source, source_segment); int strlen (source, source_segment);
void memcpy (destination, destination_segment, source, source_segment, num_bytes ); void memcpy (destination, destination_segment, source, source_segment, num_bytes );
// Additionals to standard c lib.
String_Array *string_split_c(string, delim, keep_delim);
Length_String *make_length_string(length, chars);
Length_String *make_length_string_c(cstring);
String_Array *length_string_split(string, delim, keep_delim);
String_Array *create_length_string_array(array_size);
Length_String *create_length_string(length, chars);
int strlen (source, source_segment) int strlen (source, source_segment)
{ {
#asm #asm
@ -142,3 +165,120 @@ int num_bytes;
#endasm #endasm
} }
String_Array *string_split_c(string, delim, keep_delim)
char *string;
char delim;
short keep_delim;
{
return length_string_split(make_length_string_c(string), delim, keep_delim);
}
Length_String *make_length_string_c(cstring)
char *cstring;
{
return make_length_string(strlen(cstring, 0x7e0), cstring);
}
Length_String *make_length_string(length, chars)
unsigned int length;
char *chars;
{
Length_String *legth_string = malloc(sizeof(Length_String));
char *copy = malloc(length + 1); // Space for null terminator
memcpy(copy, 0x7e0, chars, 0x7e0, length);
copy[length] = '\0';
legth_string->dynamic = 0;
legth_string->length = length;
legth_string->chars = (char *)chars;
return legth_string;
}
String_Array *length_string_split(string, delim, keep_delim)
Length_String *string;
char delim;
short keep_delim;
{
unsigned int i;
unsigned int last;
unsigned int count = 0;
unsigned int insert_index = 0;
String_Array *result;
int k;
i = 0;
last = 0;
while(i < string->length) {
if (string->chars[i] == delim) {
if (i > last+1) {
++count;
}
last = i;
}
++i;
}
if (i > last+1) {
++count;
}
result = create_length_string_array(count);
if (keep_delim)
{
k = 0;
}
else
{
k = 1;
}
i = 0;
last = 0;
while(i < string->length) {
if (string->chars[i] == delim) {
if (i > last+1) {
result->strings[insert_index++] = create_length_string(i-(last+k), string->chars+(last+k));
}
last = i;
}
++i;
}
if (i > last+1) {
result->strings[insert_index++] = create_length_string(i-(last+k), ((string->chars)+(last+k)));
}
return result;
}
String_Array *create_length_string_array(array_size)
int array_size;
{
String_Array *result = malloc(sizeof(String_Array));
result->length = array_size;
result->strings = malloc(array_size * sizeof(Length_String));
return result;
}
Length_String *create_length_string(length, chars)
unsigned int length;
char *chars;
{
Length_String *legth_string = malloc(sizeof(Length_String));
char *copy = malloc(length + 1); // Space for null terminator
memcpy(copy, 0x7e0, chars, 0x7e0, length);
copy[length] = '\0';
legth_string->dynamic = 1;
legth_string->length = length;
legth_string->chars = copy;
return legth_string;
}
Loading…
Cancel
Save