wasm: instructions - grizlupo/_ GitHub Wiki

Instructions

Memory

๋ชจ๋“ˆ์—๋Š” ํ•˜๋‚˜์˜ ๋ฉ”๋ชจ๋ฆฌ๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค. ์—ฌ๋Ÿฌ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ •์˜ํ•  ์ˆ˜๋Š” ์žˆ์ง€๋งŒ, Instanceํ•  ๋•Œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด๋‹ค. ๋”ฐ๋ผ์„œ load์™€ store์—๋Š” ๋ฉ”๋ชจ๋ฆฌ์— ๋Œ€ํ•œ ์ง€์ •์ด ์—†๋‹ค.

(i32.const 0) (i32.const 1) (i32.store)

๋ฉ”๋ชจ๋ฆฌ์˜ 0 ๋ฒˆ์ง€์— 1์„ ๊ธฐ๋กํ•œ๋‹ค.

(i32.store offset=4)

๋ช…๋ น์— ์ง์ ‘์ ์œผ๋กœ ๋ฒˆ์ง€๋ฅผ ์ง€์ •ํ•  ์ˆ˜๋„ ์žˆ๋Š”๋ฐ, ์ด๋Ÿฌ๋ฉด ์—ฌ๊ธฐ์— ์Šคํƒ์— ์ฃผ์–ด์ง„ ๋ฒˆ์ง€๋ฅผ ๋”ํ•œ ๊ฒƒ์ด ๋Œ€์ƒ์ด ๋  ์‹ค์ œ ๋ฒˆ์ง€๋‹ค. ๊ตณ์ด ์ด๋ ‡๊ฒŒ ์ด์ค‘์œผ๋กœ ํ•˜๋Š” ์ด์œ ๊ฐ€ ์žˆ๋‚˜ ์‹ถ์„ ์ˆ˜ ์žˆ์ง€๋งŒ, ๊ตฌ์กฐ์ฒด๋ฅผ ์ƒ๊ฐํ•ด ๋ณด๋ฉด ์œ ์šฉํ•˜๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ „์ฒด ๊ตฌ์กฐ์ฒด์˜ ์‹œ์ž‘ ๋ฒˆ์ง€๋Š” ์Šคํƒ์œผ๋กœ ์ „๋‹ฌํ•˜๊ณ , ์ปดํŒŒ์ผ ์‹œ์ ์—์„œ ์ด๋ฏธ ์•Œ๊ณ  ์žˆ๋Š” ํ•„๋“œ์— ์‚ฌ์šฉํ•˜๊ธฐ ์ข‹์•„ ๋ณด์ธ๋‹ค. ์•„๋งˆ๋„ ๊ทธ๋Ÿฐ ์šฉ๋„๋กœ ์„ค๊ณ„๋œ ๊ฒƒ์ผ ๊ฒƒ์ด๋‹ค.