Define wordΒΆ
The dw
keyword compiles to a single field element of data directly in the code. For example:
dw 0x123;
will be translated to the field element 0x123
in the bytecode.
This is not really an instruction, and therefore should not be in any execution path.
A common use for this is constant arrays:
from starkware.cairo.common.registers import get_label_location
// Returns a pointer to the values: [1, 22, 333, 4444].
func get_data() -> (data: felt*) {
let (data_address) = get_label_location(data_start);
return (data=cast(data_address, felt*));
data_start:
dw 1;
dw 22;
dw 333;
dw 4444;
}
func main() {
let (data) = get_data();
tempvar value = data[2];
assert value = 333;
return ();
}