Borja Ferrer
f95dd901ca
added this to encode strings
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40138
2006-11-04 18:00:27 +00:00
David Anderson
bc16901bd6
Expanded weak function pointers with type checking
...
Added function typing enumeration
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40137
2006-11-03 06:14:43 +00:00
David Anderson
fca7456f4d
removed the old heap setting code for arrays
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40136
2006-11-02 20:48:15 +00:00
Borja Ferrer
5b9ba35f0f
added new tracker opcodes
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40135
2006-11-02 20:23:14 +00:00
David Anderson
a10aabaeda
swapped usage to new tracker opcodes
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40134
2006-11-02 18:36:38 +00:00
David Anderson
4d44a1df4f
Fixed a bug where dynamic arrays might not be freed in loops
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40133
2006-10-31 08:31:14 +00:00
David Anderson
4f5f8dced9
arrays can now be public variables
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40132
2006-10-31 07:17:23 +00:00
Borja Ferrer
0196df3cc9
oh didn't notice these shift instructions
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40131
2006-10-26 17:06:30 +00:00
Borja Ferrer
2f9a5a224e
Pairing and other asm optimizations
...
made ungen_opcodes.h Compile
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40130
2006-10-20 23:03:16 +00:00
David Anderson
0c67ad1e7d
added support for op.genarray.z opcode
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40129
2006-10-17 05:50:59 +00:00
David Anderson
53be062c6b
added new op.genarray.z for zeroing arrays
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40128
2006-10-17 03:44:37 +00:00
David Anderson
e3dccb8ae4
new error code
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40127
2006-10-16 22:25:45 +00:00
David Anderson
eb341f9a1d
finished dynamic array generation
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40126
2006-10-16 22:25:18 +00:00
David Anderson
209dd31751
Added new op.genarray for dynamic arrays
...
Fixed up opcode table for new opcodes
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40125
2006-10-16 04:10:01 +00:00
David Anderson
a19823e4c6
fixed dynamic arrays not generating stack correctly
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40124
2006-10-16 04:08:18 +00:00
David Anderson
b7180795ec
initial import of.... DYNAMIC ARRAYS
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40123
2006-10-16 02:05:26 +00:00
David Anderson
ea6e82d79a
committed new stack modification method
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40122
2006-10-15 23:31:09 +00:00
David Anderson
2c65e42379
reorganized the tracker to be a bit more modular
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40121
2006-10-15 20:57:14 +00:00
David Anderson
6f2ebd8da7
separated this from the rest
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40120
2006-10-15 20:26:51 +00:00
David Anderson
785173578b
committed new header
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40119
2006-10-12 00:27:47 +00:00
David Anderson
6adba4b731
changed error defines to have "ERROR" instead of "ERR"
...
added and verified sysreq.c which is generated on -O0
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40118
2006-10-12 00:27:18 +00:00
David Anderson
fb7942ee4d
and you thought you'd never see the day.. sysreq.n verified!
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40117
2006-10-11 23:47:04 +00:00
Borja Ferrer
c06a526165
not needed
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40116
2006-10-10 17:53:42 +00:00
David Anderson
d328933cc5
marked switch and casetbl as verified
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40115
2006-10-10 17:33:05 +00:00
David Anderson
8fe4440b10
fixed non-sequential not having a correct default case
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40114
2006-10-10 17:32:09 +00:00
David Anderson
9bc1279af1
fixed casetbl not being aligned correctly
...
fixed bitshifting the wrong way (oops!)
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40113
2006-10-10 17:22:28 +00:00
David Anderson
f62af67279
small touch-ups
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40112
2006-10-10 16:39:55 +00:00
David Anderson
d2cb27e20c
added simple test procedure to VM and updated some context stuff for stack checking
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40111
2006-10-10 02:06:50 +00:00
David Anderson
4b6c4f11af
added DLL exports (it builds now!)
...
rewrote error checking mechanism
fixed some opcode cases not being right
fixed various opcode and codegen bugs
fixed stack alignment problems
made proc aligned to a dword
fixed up helpers naming scheme
started marking opcodes as either working or not working
probably more -- too much to list
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40110
2006-10-10 01:55:08 +00:00
David Anderson
bc22a3bc84
finalized structures I think
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40109
2006-10-10 00:39:45 +00:00
David Anderson
5eec9f6dff
moved # of params error message back to an actual error
...
fixed a bug in the peephole optimizer
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40108
2006-10-10 00:39:19 +00:00
David Anderson
fb9234eb86
oh
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40107
2006-10-06 17:05:07 +00:00
David Anderson
cfcb4d288b
- param count pushed is now cell based, not byte based
...
- removed .. for cases
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40106
2006-10-06 17:03:33 +00:00
David Anderson
c6f60dbd6c
added op.call
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40105
2006-10-05 01:03:54 +00:00
David Anderson
ea6c73dcb3
added jump for zero cases
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40104
2006-10-01 21:06:50 +00:00
David Anderson
47dadb6cd6
added experimental implementation of switch
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40103
2006-10-01 21:05:07 +00:00
Borja Ferrer
39abe7776d
helper functions turn
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40102
2006-09-28 19:33:58 +00:00
Borja Ferrer
84a75be487
fixed the EBP bug in ungen opcodes and fixed other code generation bugs
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40101
2006-09-28 15:11:41 +00:00
Borja Ferrer
0b9cdfeddd
switched DAT and STK registers
...
fixed the EBP encoding mess
(more to come for ungen opcodes and helpers)
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40100
2006-09-28 11:21:45 +00:00
Borja Ferrer
8669bbd4a8
compilation errors
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4099
2006-09-24 18:04:18 +00:00
David Anderson
55b590cb8e
reorganized ungen opcode stuff
...
fixed mislabeled ungen ops, then added appropriate notes
added executable memory functions to API
compilation results in an sp_context_t, not a BaseContext now
renamed FreeContextVars() to FreeContext()
other minor changes
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4098
2006-09-24 06:17:10 +00:00
Borja Ferrer
b1c6a06d15
added UNSUPPORTED defines and context setup code
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4097
2006-09-23 23:37:40 +00:00
David Anderson
968692755b
merged in the easy relocation requiring opcodes
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4096
2006-09-23 04:11:01 +00:00
Borja Ferrer
845ae65797
fixes here and there
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4095
2006-09-22 21:38:58 +00:00
Borja Ferrer
96505c8e60
fixed a LEA macro
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4094
2006-09-22 12:41:08 +00:00
Borja Ferrer
f454b114cb
organising stuff a bit
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4093
2006-09-22 11:52:48 +00:00
Borja Ferrer
80688365a2
organising stuff s bit
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4092
2006-09-22 11:52:19 +00:00
David Anderson
1bf17b05bb
sketched out break opcode
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4091
2006-09-21 05:04:51 +00:00
David Anderson
9ba07e4b28
added cmps, bounds, halt, and other fixes/additions
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4090
2006-09-21 02:58:59 +00:00
David Anderson
2ada767528
committed ret/retn
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4089
2006-09-21 01:48:19 +00:00
David Anderson
894ac3c513
added heap opcode and check function
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4088
2006-09-20 23:33:40 +00:00
Borja Ferrer
fa75903642
more div stuff
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4087
2006-09-20 22:17:52 +00:00
Borja Ferrer
82cb24e40b
div opcodes
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4086
2006-09-20 22:12:55 +00:00
David Anderson
fb39f34d4b
committed op.stack
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4085
2006-09-20 21:23:48 +00:00
David Anderson
ae9c2187cb
implemented op.sctrl
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4084
2006-09-20 20:29:28 +00:00
David Anderson
240d29846c
committed OP_LCTRL for some reason
...
added setpos() to JIT helpers
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4083
2006-09-20 20:11:02 +00:00
Borja Ferrer
6e15ece954
bye to the slow xchg
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4082
2006-09-20 18:19:31 +00:00
David Anderson
0503ac73b7
implemented some more opcode
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4081
2006-09-20 15:51:05 +00:00
David Anderson
1577897925
I'm proud to present the first non-backpatched error checking routine!
...
all of this is untested
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4080
2006-09-20 08:44:21 +00:00
David Anderson
824beee935
Wrote the JIT execution function
...
Solidified some more code
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4079
2006-09-20 07:07:49 +00:00
David Anderson
3cdf54e7e9
fixed AMX_INFO_FRM being used instead of AMX_REG_INFO
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4078
2006-09-20 04:52:13 +00:00
David Anderson
7d0bb14848
added some more macro opcodes
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4077
2006-09-20 04:14:53 +00:00
David Anderson
7b3530de67
imported all finished opcodes that do not require jumping/relocation
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4076
2006-09-20 03:56:24 +00:00
David Anderson
f7df595ca5
note! we're still not at the point of a build
...
committed here to fill in more structural integrity
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4075
2006-09-20 02:56:20 +00:00
David Anderson
45aa735928
initial recleaning of this mess, preparing for merge of JIT proper
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4074
2006-09-20 01:59:56 +00:00
David Anderson
302636d5e0
test dummy import of JIT structure
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4073
2006-09-20 00:41:24 +00:00
David Anderson
70a960dd84
initial import of magical new API... FINALLY!
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4072
2006-09-19 22:26:13 +00:00
David Anderson
103f958bae
fixed whitespace
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4071
2006-09-14 17:08:33 +00:00
David Anderson
f53fe346ae
changed this a bit to be nicer
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4070
2006-09-14 07:02:02 +00:00
David Anderson
c0f7e0b579
initial changes - fixed a code generation bug
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4069
2006-09-14 05:34:02 +00:00
Borja Ferrer
c4d0088573
identAaAaaAtion
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4068
2006-08-28 16:33:01 +00:00
Borja Ferrer
d792a19e4a
updated compiler to 3.2.3636
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4067
2006-08-28 15:22:02 +00:00
Borja Ferrer
b8d6dddea5
fixed bsearch in debug API as its a lower bound one
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4066
2006-08-19 20:52:42 +00:00
Borja Ferrer
063baa9e71
implemented teh bridge function
...
little type fix in bsearch
fixed debug flag checking
added SP_NoExecNative()
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4065
2006-08-07 22:48:07 +00:00
Borja Ferrer
4c18f46860
changed flags
...
added 2 more error types
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4064
2006-08-07 22:40:43 +00:00
David Anderson
9743c00e2f
the bridge function
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4063
2006-08-06 23:31:08 +00:00
Borja Ferrer
1f51cdbbb3
debug API implementation
...
added SetString
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4062
2006-08-06 23:08:02 +00:00
David Anderson
03587a329e
added debug api fo' real
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4061
2006-08-06 18:38:00 +00:00
David Anderson
28736ae60c
added core debug api
...
added missing setstring function
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4060
2006-08-06 18:37:14 +00:00
Borja Ferrer
2665d13475
string functions
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4059
2006-08-06 02:16:03 +00:00
Borja Ferrer
84ec7c8713
push functions and some little fixes
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4058
2006-08-04 19:09:41 +00:00
Scott Ehlert
4a324feac0
Corrected the most annoying spelling mistake ever: depricated -> deprecated
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4057
2006-08-04 03:41:50 +00:00
Borja Ferrer
b051f32ab6
moÖöre stuff
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4056
2006-08-03 23:42:50 +00:00
Borja Ferrer
ec8dec1049
bind native stuff
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4055
2006-08-03 20:58:38 +00:00
Borja Ferrer
fc5b0f37a0
updated reader for latest structs
...
more API functs, with bin search whoa :O
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4054
2006-08-02 20:00:44 +00:00
David Anderson
e0abed88d5
flattened this structure out
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4053
2006-08-02 17:30:12 +00:00
Borja Ferrer
3696dade01
new error code
...
updated reader for new section
added 2 new functs to VM API
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4052
2006-08-01 23:40:32 +00:00
David Anderson
c23a23fb34
Added new .dbg.info section to the compiler for helping counting
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4051
2006-08-01 23:17:13 +00:00
David Anderson
a9b3da5904
fixed a bug with stub offsets being calculated wrong
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4050
2006-08-01 19:49:33 +00:00
Borja Ferrer
119939590d
little fix
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4049
2006-08-01 12:00:49 +00:00
Borja Ferrer
1ac897a9b1
changed comment
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4048
2006-08-01 10:15:01 +00:00
Borja Ferrer
ba55eab9f5
find native by name
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4047
2006-08-01 01:14:54 +00:00
Borja Ferrer
a97a3cddb9
reader implementation
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4046
2006-08-01 00:21:00 +00:00
Borja Ferrer
0ac9fcea2d
new error type
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4045
2006-07-31 21:42:02 +00:00
David Anderson
8bdd9c20d3
upped version #
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4044
2006-07-31 19:18:09 +00:00
David Anderson
dec86a9b2b
to preserve cips, pre-compression of code is removed
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4043
2006-07-31 19:12:23 +00:00
David Anderson
83ae061c6e
begin implementing some helpers
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4042
2006-07-31 18:59:17 +00:00
David Anderson
e03ab1e6d4
something changed here
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4041
2006-07-30 04:53:53 +00:00
David Anderson
166a2b8a43
fixed bug where disk size was written without the header included
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4040
2006-07-30 04:53:06 +00:00
David Anderson
2f47baee55
fixed headers
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4039
2006-07-29 23:29:52 +00:00