์ด์
๋ธ๋ฆฌ์ด๊ฐ ๋ฌด์์ธ์ง๋ ์ ๋ฒ ๊ฒ์๊ธ์ ํตํด ์ค๋ช
๋๋ ธ๋๋ฐ์,
๊ทธ๋ ๋ค๋ฉด ์ด๋ฒ์ ์ง์ ์ค์ต์ ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
๋จผ์ ์ค์ต์ ์ํ SASM๋ฅผ ๋ค์ด๋ก๋ ํด๋ณผ๊ป์~
๊ทธ๋ผ Start ๐๐๐
https://dman95.github.io/SASM/english.html
์ฌ์ดํธ ์ ์ ํ -> ์์ ์ OS์ ๋ง๋ ๊ฒ์ ๋ค์ด๋ก๋.
โ ์ ๋ window๋ฅผ ์ฌ์ฉํ๊ณ ์์ด์ window์ฉ์ ๋ค์ด๋ฐ์์ด์.
โ ๋ค์ด๋ก๋ ํ ์คํ -> ์ธ์ด๋English ์ ํ
โ ์์๊บผ ์ฒดํฌํด์ฃผ์ธ์~
โ ๊ฒฝ๋ก ์ง์ ํด์ฃผ๊ธฐ.
โ ๋ค์ด๋ก๋ ์๋ฃ.
์ผ๋จ ๋ค์ด๋ก๋๋ ๋งค์ฐ ๊ฐํธํฉ๋๋ค.
๊ทธ๋ ๋ค๋ฉด ๋ฐ๋ก new project๋ฅผ ์์ฑํด๋ณด๋๋ก ํ ๊ป์.
์ํ์ผ์ ๋ง๋ค๋ฉด ์ด๋ฆฌ๋ ์ฒซ ํ๋ฉด์
๋๋ค.
์ฝ๋๋ฅผ ๋ณด์๋ฉด
๊ธฐ๋ณธ์ ์ธ ์ค์ ์ธ ๊ฒ ๊ฐ์๋ฐ, io.inc๋ 32bit๋ฅผ ์๋ฏธํ๋ ๊ฒ์
๋๋ค.
์์ ์ ์ปดํจํฐ ์ฑ๋ฅ์ ํ์ธํด๋ณด์๊ณ ์๋ง๊ฒ io.inc ๋๋ io64.inc ์ผ๋ก ๋ฐ๊ฟ์ฃผ์๋ฉด ๋ฉ๋๋ค.
์ PC์ ์์ฑ์ ํ๋ฒ ํ์ธํด ๋ณผ๊ป์
์์ฑ์ ๋ค์ด๊ฐ์ฃผ์ธ์~
64 ๋นํธ ์ด์ ์ฒด์ ์ด๋ฏ๋ก ์ ๋ io64๋ก ๋ณ๊ฒฝํด๋ณผ๊ป์.
(์ฐธ๊ณ ๋ก io64inc ..๊ฐ์ ์ฝ๋๋ ๋ค์ํ ๋งคํฌ๋ก๋ฅผ ์ ๊ณตํด์ฃผ๋ ๋ช
๋ น์ด ์
๋๋ค.)
๋ณ๊ฒฝ์ ํด์ฃผ๊ณ common ์ผ๋ก ๋ค์ด๊ฐ๋ณด๋ฉด - > ์ฃผ์์ฒ๋ฆฌ ์ง์ธ ์ ์์.
--> ๋ํ Section .data // Section .bss(์ถ๊ฐ ํด๋์ ์ ์์. data="๋ณ์ ์ ์ธ ๊ฐ๋ฅํ ์์ญ" )
๋ ๋ช
๋ น์ด๋ Section ๋ค์ ํ์นธ์ ๋์ด์ด ํ .data// .bss ๋ผ๊ณ ์จ์ค๋ค.
์ง์ ์ฃผ๊ณ ok๋ฅผ ๋๋ฌ์ฃผ๊ณ - > ์ํ์ผ์ ์์ฑํฉ๋๋ค.
์ ๊ฐ ํ๋ํ๋ ์ ๊ธฐ ํ๋ค์ด์.. ์ด์ ๋ถํฐ ์ฝ๋์ ์ฝ๋์ ๋ํ ์ค๋ช
์ ์ฃผ์๋์ ์ ์ํ๋ก
์จ๋์๊ป์!
์๋ฌด๋๋ ์ฃผ์ ์ฒ๋ฆฌ๋ฅผ ํ๋ฉด ์ฝ๋๊ฐ ๊ธธ์ด์ง๊ณ ํท๊ฐ๋ฆฌ๊ฒ ๋ ๊ฒ ๊ฐ์์
๊ธ๋ก ์จ๋จ์ต๋๋ค!
์ฌ๊ธฐ๊น์ง ์ผ๋จ ๊ธฐ์ด์ ์ธ SASM ์
ํ
์ ํด๋ดค์ต๋๋ค!
๋ํ๊ธฐ , ๊ณฑํ๊ธฐ ์ฐ์ฐ๋ ํจ๊ป ๋ฃ์ผ๋ ค๊ณ ํ๋๋ฐ
๋๋ฌด ๊ธธ์ด์ ธ์ ๋ฐ๋ก ๋ทํธ์ ์ฝ๋์ ๊ทธ์ ๊ด๋ จ๋ ์ค๋ช
๊ธ์ ๋ฐ๋ก
์ฌ๋ฆฌ๋๋ก ํ ๊ป์~
๊ทธ๋ผ ์๋ฝ๐ฉ