{$CLEO .s} {$USE debug} {$USE memory} var 0@ : Integer var 1@ : Integer var 2@ : Integer var 3@ : Integer var 4@ : Integer var 5@ : Integer var 6@ : Integer var 7@ : Integer var 8@ : Integer var 9@ : Integer var 10@ : Integer script_name "2402" // write_struct debug_on trace "2402 (write_struct)" wait 0 // write 0 bytes get_var_pointer 1@ {store_to} 0@ 1@ = 0xcccccccc 2@ = 0xdddddddd 3@ = 0xeeeeeeee 2402: write_struct 0@ {offset} 4 {size} 0 {value} 0x12345678 // tested opcode if and 1@ == 0xcccccccc 2@ == 0xdddddddd 3@ == 0xeeeeeeee then trace "~g~~h~~h~2402 (write_struct), #0 PASSED" else breakpoint "~r~~h~~h~~h~2402 (write_struct), #0 FAILED!~n~cccccccc dddddddd eeeeeeee Expected~n~%08x %08x %08x Occured" 1@ 2@ 3@ end wait 0 // write 1 byte get_var_pointer 1@ {store_to} 0@ 1@ = 0xcccccccc 2@ = 0xdddddddd 3@ = 0xeeeeeeee 2402: write_struct 0@ {offset} 4 {size} 1 {value} 0x12345678 // tested opcode if and 1@ == 0xcccccccc 2@ == 0xdddddd78 3@ == 0xeeeeeeee then trace "~g~~h~~h~2402 (write_struct), #1 PASSED" else breakpoint "~r~~h~~h~~h~2402 (write_struct), #1 FAILED!~n~cccccccc dddddd78 eeeeeeee Expected~n~%08x %08x %08x Occured" 1@ 2@ 3@ end wait 0 // write 2 bytes get_var_pointer 1@ {store_to} 0@ 1@ = 0xcccccccc 2@ = 0xdddddddd 3@ = 0xeeeeeeee 2402: write_struct 0@ {offset} 4 {size} 2 {value} 0x12345678 // tested opcode if and 1@ == 0xcccccccc 2@ == 0xdddd5678 3@ == 0xeeeeeeee then trace "~g~~h~~h~2402 (write_struct), #2 PASSED" else breakpoint "~r~~h~~h~~h~2402 (write_struct), #2 FAILED!~n~cccccccc dddd5678 eeeeeeee Expected~n~%08x %08x %08x Occured" 1@ 2@ 3@ end wait 0 // write 3 bytes get_var_pointer 1@ {store_to} 0@ 1@ = 0xcccccccc 2@ = 0xdddddddd 3@ = 0xeeeeeeee 2402: write_struct 0@ {offset} 4 {size} 3 {value} 0x12345678 // tested opcode if and 1@ == 0xcccccccc 2@ == 0xdd345678 3@ == 0xeeeeeeee then trace "~g~~h~~h~2402 (write_struct), #3 PASSED" else breakpoint "~r~~h~~h~~h~2402 (write_struct), #3 FAILED!~n~cccccccc dd345678 eeeeeeee Expected~n~%08x %08x %08x Occured" 1@ 2@ 3@ end wait 0 // write 4 bytes get_var_pointer 1@ {store_to} 0@ 1@ = 0xcccccccc 2@ = 0xdddddddd 3@ = 0xeeeeeeee 2402: write_struct 0@ {offset} 4 {size} 4 {value} 0x12345678 // tested opcode if and 1@ == 0xcccccccc 2@ == 0x12345678 3@ == 0xeeeeeeee then trace "~g~~h~~h~2402 (write_struct), #4 PASSED" else breakpoint "~r~~h~~h~~h~2402 (write_struct), #4 FAILED!~n~cccccccc 12345678 eeeeeeee Expected~n~%08x %08x %08x Occured" 1@ 2@ 3@ end wait 0 // try write 5 bytes get_var_pointer 1@ {store_to} 0@ 1@ = 0xcccccccc 2@ = 0xdddddddd 3@ = 0xeeeeeeee 2402: write_struct 0@ {offset} 4 {size} 5 {value} 0x12345678 // tested opcode if and 1@ == 0xcccccccc 2@ == 0x12345678 3@ == 0xeeeeeeee then trace "~g~~h~~h~2402 (write_struct), #5 PASSED (expected warning)" else breakpoint "~r~~h~~h~~h~2402 (write_struct), #5 FAILED!~n~cccccccc 12345678 eeeeeeee Expected~n~%08x %08x %08x Occured" 1@ 2@ 3@ end wait 0 // write string get_var_pointer 1@ {store_to} 0@ 1@ = 0xcccccccc 2@s = 'CCCCCCCC' 4@ = 0xeeeeeeee 2402: write_struct 0@ {offset} 5 {size} 2 {value} "some longer text" // tested opcode if and 1@ == 0xcccccccc 2@s == 'CsoCCCCC' // trimmed by target value capacity 4@ == 0xeeeeeeee then trace "~g~~h~~h~2402 (write_struct), #6 PASSED" else breakpoint "~r~~h~~h~~h~2402 (write_struct), #6 FAILED!~n~cccccccc 'CsoCCCCC' eeeeeeee Expected~n~%08x %s %08x Occured" 1@ 2@s 4@ end terminate_this_custom_script