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
end
func main():
let (data) = get_data()
tempvar value = data[2]
assert value = 333
return ()
end