Languages/Assembly
Improve your skills through various languages
-
๋ก๋ ์์ฑ๊ธฐ ์ ์ฒด ์๊ณ ๋ฆฌ์ฆ ์ค๊ณ C์์ ๊ฐ์ ธ์์ผ ํ ๊ธฐ๋ฅ์ ๋จผ์ ์๊ฐํด๋ณธ๋ค. ์ด์ ๋ธ๋ฆฌ ์ธ์ด๋ก ๊ตฌํํ๊ธฐ ํ๋ ๋๋ค ๊ฐ์ ๊ฐ์ ธ์ค๋ ค ํ๋ค. ๊ทธ๋ฌ๋ ค๋ฉด ๋๋ค ์๋ ๊ฐ์ ์ด๊ธฐํ(ํ์ฌ์๊ฐ์ผ๋ก) ์ํค๋ ํจ์์ 1~45 ์ฌ์ด์ ์ ์๋ฅผ ๋ฆฌํดํด์ค ํจ์๊ฐ ํ์ํ ๊ฒ์ด๋ค. - inimylib() : ๋๋ค ์๋ ๊ฐ ์ด๊ธฐํ(ํ์ฌ์๊ฐ) - getnumber() : 1~45 ์ฌ์ด์ ์ ์ ๋ฆฌํด ๋ค์์ผ๋ก๋ ์ด์ ๋ธ๋ฆฌ ์ธ์ด์์ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ผ๋ก ์ค๊ณ๋ฅผ ํด๋ณธ๋ค. ๋จผ์ 6๊ฐ์ ์ซ์๋ฅผ ๋ด์ ๋ฐฐ์ด์ด ํ์ํ ๊ฒ์ด๋ค. ๋ํ ์ซ์๋ฅผ ๋น๊ตํ๋ ํจ์๋ ํ์ํ๋ค. -int data[6] : ์ ์ญ๋ณ์ - main : ๋ฉ์ธ ํจ์ - checksame() : ๋์ผํ ์ซ์๊ฐ ๋ค์ด๊ฐ์๋์ง ํ์ธํ๋ ํจ์ - showdata() : ์ซ์ 6๊ฐ๋ฅผ ์ถ๋ ฅํ์ฌ ๋ณด์ฌ์ฃผ๋ ํจ์ ๊ตฌ..
[์ด์ ๋ธ๋ฆฌ์ด] ๋ก๋ ์์ฑํ๊ธฐ๋ก๋ ์์ฑ๊ธฐ ์ ์ฒด ์๊ณ ๋ฆฌ์ฆ ์ค๊ณ C์์ ๊ฐ์ ธ์์ผ ํ ๊ธฐ๋ฅ์ ๋จผ์ ์๊ฐํด๋ณธ๋ค. ์ด์ ๋ธ๋ฆฌ ์ธ์ด๋ก ๊ตฌํํ๊ธฐ ํ๋ ๋๋ค ๊ฐ์ ๊ฐ์ ธ์ค๋ ค ํ๋ค. ๊ทธ๋ฌ๋ ค๋ฉด ๋๋ค ์๋ ๊ฐ์ ์ด๊ธฐํ(ํ์ฌ์๊ฐ์ผ๋ก) ์ํค๋ ํจ์์ 1~45 ์ฌ์ด์ ์ ์๋ฅผ ๋ฆฌํดํด์ค ํจ์๊ฐ ํ์ํ ๊ฒ์ด๋ค. - inimylib() : ๋๋ค ์๋ ๊ฐ ์ด๊ธฐํ(ํ์ฌ์๊ฐ) - getnumber() : 1~45 ์ฌ์ด์ ์ ์ ๋ฆฌํด ๋ค์์ผ๋ก๋ ์ด์ ๋ธ๋ฆฌ ์ธ์ด์์ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ผ๋ก ์ค๊ณ๋ฅผ ํด๋ณธ๋ค. ๋จผ์ 6๊ฐ์ ์ซ์๋ฅผ ๋ด์ ๋ฐฐ์ด์ด ํ์ํ ๊ฒ์ด๋ค. ๋ํ ์ซ์๋ฅผ ๋น๊ตํ๋ ํจ์๋ ํ์ํ๋ค. -int data[6] : ์ ์ญ๋ณ์ - main : ๋ฉ์ธ ํจ์ - checksame() : ๋์ผํ ์ซ์๊ฐ ๋ค์ด๊ฐ์๋์ง ํ์ธํ๋ ํจ์ - showdata() : ์ซ์ 6๊ฐ๋ฅผ ์ถ๋ ฅํ์ฌ ๋ณด์ฌ์ฃผ๋ ํจ์ ๊ตฌ..
2020.09.10 -
์ค๋์ c์ธ์ด์ ์ด์ ๋ธ๋ฆฌ๋ฅผ ํฉ์ณ์ ์ฌ์ฉํ์ฌ ๋ก๋ ํ๋ก๊ทธ๋จ์ ๋ง๋ค์ด ๋ณด๊ฒ ์ต๋๋ค. ์ด ํ๋ก๊ทธ๋จ์ ๋ง๋ค๊ธฐ ์ํด ํ์ํ ํ๊ฒฝ์ ๊ตฌ์ฑํด๋ณด๊ฒ ์ต๋๋ค. SASM์ GUIํ๊ฒฝ์์ด ์ด์ ๋ธ๋ฆฌ ์ธ์ด ํ๋ก๊ทธ๋๋ฐ์ ํ๊ธฐ ์ํด์๋ nasm.exe(์ด์ ๋ธ๋ฌ)์ gcc.exe(๋ง์ปค) ์คํํ๊ฒฝ์ด ํ์ํ๋ค. ์ด๋ฐ ํ๊ฒฝ์ ๋ช ๋ น ์ฐฝ ํ๊ฒฝ์ผ๋ก ๊ตฌ์ฑ๋์ด์๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ํ๊ฒฝ ์ค์ ์ ๋ฐ๋ก ํด์ค ํ์๊ฐ ์๋ค. ๋จผ์ gccํ๊ฒฝ ์ค์ ์ ํด์ค ํ, ๊ฒฝ๋ก๋ฅผ ๊ฐ์ ๊ณต๊ฐ์ ๋ฃ์ด nasm๊ณผ ํจ๊ป ๋์๋ค. sasm์์๋ io.inc/io64.inc ๋งคํฌ๋ก ํจ์๋ค์ ๋์์ผ๋ก ์ ์ถ๋ ฅ ๋ฑ์ ์ํํ๋ฏ๋ก, ๋ง์ฝ ์ด๋ฌํ ๋งคํฌ๋ก ํจ์์ ๋์์ ๋ฐ์ง ์๊ณ ์ฝ๋ฉํ๋ค๋ฉด ์ฝ๋ฉ ํ๋ ์์ํฌ๋ ์๋์ฒ๋ผ ์คํ ํด์ผํ๋ค. ๊ธฐ์กด์ sasm ์ผ๋ก์ ์ฝ๋ฉ ๋ณ๊ฒฝ๋ ์๋ก์ด ํ์์ ์ฝ๋ฉ ํ๋ ์์ํฌ..
์ด์ ๋ธ๋ฌ, gccํ๊ฒฝ ๊ตฌ์ฑํ๊ธฐ์ค๋์ c์ธ์ด์ ์ด์ ๋ธ๋ฆฌ๋ฅผ ํฉ์ณ์ ์ฌ์ฉํ์ฌ ๋ก๋ ํ๋ก๊ทธ๋จ์ ๋ง๋ค์ด ๋ณด๊ฒ ์ต๋๋ค. ์ด ํ๋ก๊ทธ๋จ์ ๋ง๋ค๊ธฐ ์ํด ํ์ํ ํ๊ฒฝ์ ๊ตฌ์ฑํด๋ณด๊ฒ ์ต๋๋ค. SASM์ GUIํ๊ฒฝ์์ด ์ด์ ๋ธ๋ฆฌ ์ธ์ด ํ๋ก๊ทธ๋๋ฐ์ ํ๊ธฐ ์ํด์๋ nasm.exe(์ด์ ๋ธ๋ฌ)์ gcc.exe(๋ง์ปค) ์คํํ๊ฒฝ์ด ํ์ํ๋ค. ์ด๋ฐ ํ๊ฒฝ์ ๋ช ๋ น ์ฐฝ ํ๊ฒฝ์ผ๋ก ๊ตฌ์ฑ๋์ด์๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ํ๊ฒฝ ์ค์ ์ ๋ฐ๋ก ํด์ค ํ์๊ฐ ์๋ค. ๋จผ์ gccํ๊ฒฝ ์ค์ ์ ํด์ค ํ, ๊ฒฝ๋ก๋ฅผ ๊ฐ์ ๊ณต๊ฐ์ ๋ฃ์ด nasm๊ณผ ํจ๊ป ๋์๋ค. sasm์์๋ io.inc/io64.inc ๋งคํฌ๋ก ํจ์๋ค์ ๋์์ผ๋ก ์ ์ถ๋ ฅ ๋ฑ์ ์ํํ๋ฏ๋ก, ๋ง์ฝ ์ด๋ฌํ ๋งคํฌ๋ก ํจ์์ ๋์์ ๋ฐ์ง ์๊ณ ์ฝ๋ฉํ๋ค๋ฉด ์ฝ๋ฉ ํ๋ ์์ํฌ๋ ์๋์ฒ๋ผ ์คํ ํด์ผํ๋ค. ๊ธฐ์กด์ sasm ์ผ๋ก์ ์ฝ๋ฉ ๋ณ๊ฒฝ๋ ์๋ก์ด ํ์์ ์ฝ๋ฉ ํ๋ ์์ํฌ..
2020.09.10 -
https://lucete1230-cyberpolice.tistory.com/45 ์ ๋ฒ ์๊ฐ์ ํตํด ๋ ์ง์คํฐ์ ๋ํด ๊ณต๋ถํ๊ณ ! ์ด๋ฒ์๋ ๊ทธ ๋ ์ง์คํฐ๋ค์ ์ด์ฉํ ์ฌ์น์ฐ์ฐ ๊ณ์ฐ๊ธฐ๋ฅผ ๋ง๋ค์ด ๋ณด๋๋ก ํ ๊ป์ ใ ใ ์ฝ๋ ์์ ๋ชจ๋ ์ค๋ช ์ ์ฃผ์์ผ๋ก ๋ฌ์๋์๊ธฐ ๋๋ฌธ์ ๋ณ๋ค๋ฅธ ์ค๋ช ์์ด ๋ฐ๋ก ๊ฐ๋๋ก ํ๊ฒ ์ต๋๋ค! ๋จผ์ ๊ฐ๋จํ ์ฌ์น ์ฐ์ฐ์ ๋ํ ์ค๋ช ํด๋๋ฆฐ ํ ์ฝ๋๋ฅผ ๋ณด์ฌ๋๋ฆด๊ป์! ๋ํ๊ธฐ/๋นผ๊ธฐ ์ฐ์ฐ a = ๋ ์ง์คํฐ ๋๋ ๋ฉ๋ชจ๋ฆฌ์ ์๋ ๊ฐ b = ๋ ์ง์คํฐ, ๋ฉ๋ชจ๋ฆฌ, ๊ฐ a,b ๋ชจ๋ ๋ฉ๋ชจ๋ฆฌ์ธ ๊ฒฝ์ฐ๋ ํ์ฉ X a = a+b // a=a-b ๊ณฑํ๊ธฐ/๋๋๊ธฐ ์ฐ์ฐ para๊ฐ 1byte ์ผ ๋ : AX = AL * para (bl์ ๊ณฑํ๋ ๊ฐ์ ๋ฃ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.) para๋ ๋ ์ง์คํฐ๋ง ํ์ฉ ๊ณฑํด์ง๋ ๊ฒฐ๊ณผ๋ ๋ฐ๋์ AL๋ ์ง์คํฐ์ ๋ฃ์ด์ผ ..
[์ด์ ๋ธ๋ฆฌ์ด] ์ฌ์น์ฐ์ฐ ๊ณ์ฐ๊ธฐhttps://lucete1230-cyberpolice.tistory.com/45 ์ ๋ฒ ์๊ฐ์ ํตํด ๋ ์ง์คํฐ์ ๋ํด ๊ณต๋ถํ๊ณ ! ์ด๋ฒ์๋ ๊ทธ ๋ ์ง์คํฐ๋ค์ ์ด์ฉํ ์ฌ์น์ฐ์ฐ ๊ณ์ฐ๊ธฐ๋ฅผ ๋ง๋ค์ด ๋ณด๋๋ก ํ ๊ป์ ใ ใ ์ฝ๋ ์์ ๋ชจ๋ ์ค๋ช ์ ์ฃผ์์ผ๋ก ๋ฌ์๋์๊ธฐ ๋๋ฌธ์ ๋ณ๋ค๋ฅธ ์ค๋ช ์์ด ๋ฐ๋ก ๊ฐ๋๋ก ํ๊ฒ ์ต๋๋ค! ๋จผ์ ๊ฐ๋จํ ์ฌ์น ์ฐ์ฐ์ ๋ํ ์ค๋ช ํด๋๋ฆฐ ํ ์ฝ๋๋ฅผ ๋ณด์ฌ๋๋ฆด๊ป์! ๋ํ๊ธฐ/๋นผ๊ธฐ ์ฐ์ฐ a = ๋ ์ง์คํฐ ๋๋ ๋ฉ๋ชจ๋ฆฌ์ ์๋ ๊ฐ b = ๋ ์ง์คํฐ, ๋ฉ๋ชจ๋ฆฌ, ๊ฐ a,b ๋ชจ๋ ๋ฉ๋ชจ๋ฆฌ์ธ ๊ฒฝ์ฐ๋ ํ์ฉ X a = a+b // a=a-b ๊ณฑํ๊ธฐ/๋๋๊ธฐ ์ฐ์ฐ para๊ฐ 1byte ์ผ ๋ : AX = AL * para (bl์ ๊ณฑํ๋ ๊ฐ์ ๋ฃ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.) para๋ ๋ ์ง์คํฐ๋ง ํ์ฉ ๊ณฑํด์ง๋ ๊ฒฐ๊ณผ๋ ๋ฐ๋์ AL๋ ์ง์คํฐ์ ๋ฃ์ด์ผ ..
2020.04.20 -
์ค๋์ ๋ ์ง์คํฐ์ ๋ํ ํฌ์คํ ์ ํด๋ณด๋ ค๊ณ ํด์. ์ด์ ๋ธ๋ฆฌ์ด๋ฅผ ๊ณต๋ถํ๋ค๋ณด๋ฉด ax,ah ๋ฑ ๋ง์ ๋ ์ง์คํฐ๋ค์ด ๋ฑ์ฅ์ ํ๋๋ฐ, ์ ๋ ์ด ๋ ์ง์คํฐ๊ฐ ๋ฌด์์ธ์ง ์ ๋๋ก ์ดํดํ์ง ๋ชปํ๊ณ ์์๊ธฐ๋๋ฌธ์ ์ ๊ฐ ์๋ฒฝํ ์๊ณ ์ ์ด๊ธ์ ํฌ์คํ ํ๊ฒ ๋์์ต๋๋ค. ๊ทธ๋ผ ๋ ์ง์คํฐ๊ฐ ๋ฌด์์ธ์ง ์ ์,์ข ๋ฅ๋ฑ์ ์ ๋๋ก ํ์ ํด๋ด ์๋ค!๐โ๏ธ๐โ๏ธ ๋ ์ง์คํฐ๋? ๋ ์ง์คํฐ(processor register) ๋ ์ปดํจํฐ์ ํ๋ก์ธ์ ๋ด์์ ์๋ฃ๋ฅผ ๋ณด๊ดํ๋ ์์ฃผ ๋น ๋ฅธ ๊ธฐ์ต ์ฅ์์ด๋ค. ์ผ๋ฐ์ ์ผ๋ก ํ์ฌ ๊ณ์ฐ์ ์ํ์ค์ธ ๊ฐ์ ์ ์ฅํ๋ ๋ฐ ์ฌ์ฉ๋๋ค. ๋ ์ง์คํฐ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณ์ธต์ ์ต์์์ ์์นํ๋ฉฐ, ๊ฐ์ฅ ๋น ๋ฅธ ์๋๋ก ์ ๊ทผ ๊ฐ๋ฅํ ๋ฉ๋ชจ๋ฆฌ์ด๋ค. ์ต์ ํ๋ก์ธ์์์ ๋ ์ง์คํฐ๋ ๋๊ฐ ๋ ์ง์คํฐ ํ์ผ๋ก ๊ตฌํ๋์ง๋ง, ๊ณผ๊ฑฐ์๋ ํ๋ฆฝํ๋กญ, ๋ง๊ทธ๋คํฑ ์ฝ์ด, ๋ฐ๋ง ํ๋ฆ ๋ฉ๋ชจ๋ฆฌ ๋ฑ์ผ๋ก..
[์ด์ ๋ธ๋ฆฌ์ด] ๋ ์ง์คํฐ์ค๋์ ๋ ์ง์คํฐ์ ๋ํ ํฌ์คํ ์ ํด๋ณด๋ ค๊ณ ํด์. ์ด์ ๋ธ๋ฆฌ์ด๋ฅผ ๊ณต๋ถํ๋ค๋ณด๋ฉด ax,ah ๋ฑ ๋ง์ ๋ ์ง์คํฐ๋ค์ด ๋ฑ์ฅ์ ํ๋๋ฐ, ์ ๋ ์ด ๋ ์ง์คํฐ๊ฐ ๋ฌด์์ธ์ง ์ ๋๋ก ์ดํดํ์ง ๋ชปํ๊ณ ์์๊ธฐ๋๋ฌธ์ ์ ๊ฐ ์๋ฒฝํ ์๊ณ ์ ์ด๊ธ์ ํฌ์คํ ํ๊ฒ ๋์์ต๋๋ค. ๊ทธ๋ผ ๋ ์ง์คํฐ๊ฐ ๋ฌด์์ธ์ง ์ ์,์ข ๋ฅ๋ฑ์ ์ ๋๋ก ํ์ ํด๋ด ์๋ค!๐โ๏ธ๐โ๏ธ ๋ ์ง์คํฐ๋? ๋ ์ง์คํฐ(processor register) ๋ ์ปดํจํฐ์ ํ๋ก์ธ์ ๋ด์์ ์๋ฃ๋ฅผ ๋ณด๊ดํ๋ ์์ฃผ ๋น ๋ฅธ ๊ธฐ์ต ์ฅ์์ด๋ค. ์ผ๋ฐ์ ์ผ๋ก ํ์ฌ ๊ณ์ฐ์ ์ํ์ค์ธ ๊ฐ์ ์ ์ฅํ๋ ๋ฐ ์ฌ์ฉ๋๋ค. ๋ ์ง์คํฐ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณ์ธต์ ์ต์์์ ์์นํ๋ฉฐ, ๊ฐ์ฅ ๋น ๋ฅธ ์๋๋ก ์ ๊ทผ ๊ฐ๋ฅํ ๋ฉ๋ชจ๋ฆฌ์ด๋ค. ์ต์ ํ๋ก์ธ์์์ ๋ ์ง์คํฐ๋ ๋๊ฐ ๋ ์ง์คํฐ ํ์ผ๋ก ๊ตฌํ๋์ง๋ง, ๊ณผ๊ฑฐ์๋ ํ๋ฆฝํ๋กญ, ๋ง๊ทธ๋คํฑ ์ฝ์ด, ๋ฐ๋ง ํ๋ฆ ๋ฉ๋ชจ๋ฆฌ ๋ฑ์ผ๋ก..
2020.04.20 -
์ ๋ฒ ๊ธ์ ์ด์ด์ https://lucete1230-cyberpolice.tistory.com/38?category=0 ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ ๋ฌผ๋ฆฌ์ ์ธ ๋ชจ์ต์ ๋ฐ๋ก ์ค๋ช ํด๋๋ฆฌ๋๋ก ํ๊ฒ ์ต๋๋ค. ๋จผ์ ์๋ฅผ ๋ค์ด ๋ณ์ a๋ฅผ dd(4byte) 0x12345678 ๋ก ์ ์ธํด์ฃผ์๋ค๊ณ ํ๋ฉด 4byte ํฌ๊ธฐ์ ๋ณ์ a๋ฅผ ์ ์ธ ํ์๊ณ , ๊ฐ์ 0x12345678 ๋ก ์ด๊ธฐํ ํด์ฃผ์๋ค๊ณ ํ ์ ์์ฃ . ์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ฐ๋ฆฌ๊ฐ ์๊ฐํ๋ ๊ฒ๊ณผ๋ ๋ฌ๋ฆฌ ์ค์ ๋ฐ์ดํฐ๋ ๊ฑฐ๊พธ๋ก ์ ์ฅ์ด ๋๋๋ฐ์, ์ด๊ฒ์ ๋ฐ๋ก '๋ฆฌํ์๋์ธ' ์ด๋ผ๊ณ ํฉ๋๋ค. ๋ฆฌํ ์๋์ธ์ ์ฐ๋ฆฌ๊ฐ ์ฐ๋ ์์์๋ ๋ค๋ฅด๊ฒ ๋ฐ๋๋ก ๋ค์ด๊ฐ๋๋ฐ, ๊ฐ์ฅ ์์ ์๋ฆฌ์ ๊ฐ์ด ์์ ์ฃผ์์ ๋ค์ด๊ฐ๋ ๊ฒ์ ๋งํฉ๋๋ค. ๋ฆฌํ์๋์ธ ์๋์ธ(Endianness)์ ์ปดํจํฐ์ ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ์ 1์ฐจ์์ ๊ณต..
[์ด์ ๋ธ๋ฆฌ์ด] ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ ๋ฌผ๋ฆฌ์ ๋ชจ์ต์ ๋ฒ ๊ธ์ ์ด์ด์ https://lucete1230-cyberpolice.tistory.com/38?category=0 ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ ๋ฌผ๋ฆฌ์ ์ธ ๋ชจ์ต์ ๋ฐ๋ก ์ค๋ช ํด๋๋ฆฌ๋๋ก ํ๊ฒ ์ต๋๋ค. ๋จผ์ ์๋ฅผ ๋ค์ด ๋ณ์ a๋ฅผ dd(4byte) 0x12345678 ๋ก ์ ์ธํด์ฃผ์๋ค๊ณ ํ๋ฉด 4byte ํฌ๊ธฐ์ ๋ณ์ a๋ฅผ ์ ์ธ ํ์๊ณ , ๊ฐ์ 0x12345678 ๋ก ์ด๊ธฐํ ํด์ฃผ์๋ค๊ณ ํ ์ ์์ฃ . ์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ฐ๋ฆฌ๊ฐ ์๊ฐํ๋ ๊ฒ๊ณผ๋ ๋ฌ๋ฆฌ ์ค์ ๋ฐ์ดํฐ๋ ๊ฑฐ๊พธ๋ก ์ ์ฅ์ด ๋๋๋ฐ์, ์ด๊ฒ์ ๋ฐ๋ก '๋ฆฌํ์๋์ธ' ์ด๋ผ๊ณ ํฉ๋๋ค. ๋ฆฌํ ์๋์ธ์ ์ฐ๋ฆฌ๊ฐ ์ฐ๋ ์์์๋ ๋ค๋ฅด๊ฒ ๋ฐ๋๋ก ๋ค์ด๊ฐ๋๋ฐ, ๊ฐ์ฅ ์์ ์๋ฆฌ์ ๊ฐ์ด ์์ ์ฃผ์์ ๋ค์ด๊ฐ๋ ๊ฒ์ ๋งํฉ๋๋ค. ๋ฆฌํ์๋์ธ ์๋์ธ(Endianness)์ ์ปดํจํฐ์ ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ์ 1์ฐจ์์ ๊ณต..
2020.04.11 -
์ค๋์ ์ด์ ๋ธ๋ฆฌ์ด ๊ธฐ์ด ์ด๋ก ๊ณผ ์ค์ต์ ํด๋ณผ๊บผ์์~ ์์ง ๊ฐ ๊ธธ์ด ๋ฉ๊ธฐ๋๋ฌธ์..! ์ง๊ธ ๋ฐ๋ก ์์ํ๊ฒ ์ต๋๋ค. ๐ฑ๐๐จ ์ด์ ๋ธ๋ฆฌ์ด ํ๋ก๊ทธ๋๋ฐ์ ๊ธฐ๋ณธ ์์ 3๊ฐ์ ์์๋ก ๊ตฌ์ฑ๋๋ค. ํ๋ก๊ทธ๋จ์ ๋ช ๋ น์ด๋ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ์ด ๋๋ค. CPU๋ ๋ช ๋ น์ด๋ฅผ 1๊ฐ์ฉ ๊ฐ์ง๊ณ ์์ ๋ช ๋ น์ ํด์ํ๊ณ ์ํํ ํ ๋ ์ง์คํฐ์ ์ ์ฅํ๋ค. ์ฆ ์ด์ ๋ธ๋ฆฌ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ค๋ ๊ฒ์ CPU๊ฐ ์ง์ํด ์ฃผ๋ ๊ฐ์ข ์ฐ์ฐ ๊ธฐ๋ฅ๋ค์ ์ด์ฉํ์ฌ ๋ ์ง์คํฐ๋ ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ , ํ๋ก๊ทธ๋จ์ ํ๋ฆ์ ๋ณ๊ฒฝํ๋ ๋จ์ํ ์์ ๊ณผ์ ์ ๋งํ๋ค. ๋ ์ง์คํฐ ๋ ์ง์คํฐ๋ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ ํฌ๊ธฐ์ ๋ฐ๋ผ ๊ฐ๊ฐ ๋ค๋ฅธ ์ด๋ฆ์ผ๋ก ๋ถ๋ฆฐ๋ค. ex: 'A' ๋ ์ง์คํฐ์ธ ๊ฒฝ์ฐ ๋ ์ง์คํฐ์ ๋จ์๋ ๋ฐ์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๋ช ์นญํ๋ค. 64bit ๋จ์ : RAX 32bit ๋จ์ : EAX 16bit ๋จ์ :..
[์ด์ ๋ธ๋ฆฌ์ด] ๊ธฐ์ด์ค์ต_๋ณ์, ๋ฐฐ์ด์ค๋์ ์ด์ ๋ธ๋ฆฌ์ด ๊ธฐ์ด ์ด๋ก ๊ณผ ์ค์ต์ ํด๋ณผ๊บผ์์~ ์์ง ๊ฐ ๊ธธ์ด ๋ฉ๊ธฐ๋๋ฌธ์..! ์ง๊ธ ๋ฐ๋ก ์์ํ๊ฒ ์ต๋๋ค. ๐ฑ๐๐จ ์ด์ ๋ธ๋ฆฌ์ด ํ๋ก๊ทธ๋๋ฐ์ ๊ธฐ๋ณธ ์์ 3๊ฐ์ ์์๋ก ๊ตฌ์ฑ๋๋ค. ํ๋ก๊ทธ๋จ์ ๋ช ๋ น์ด๋ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ์ด ๋๋ค. CPU๋ ๋ช ๋ น์ด๋ฅผ 1๊ฐ์ฉ ๊ฐ์ง๊ณ ์์ ๋ช ๋ น์ ํด์ํ๊ณ ์ํํ ํ ๋ ์ง์คํฐ์ ์ ์ฅํ๋ค. ์ฆ ์ด์ ๋ธ๋ฆฌ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ค๋ ๊ฒ์ CPU๊ฐ ์ง์ํด ์ฃผ๋ ๊ฐ์ข ์ฐ์ฐ ๊ธฐ๋ฅ๋ค์ ์ด์ฉํ์ฌ ๋ ์ง์คํฐ๋ ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ , ํ๋ก๊ทธ๋จ์ ํ๋ฆ์ ๋ณ๊ฒฝํ๋ ๋จ์ํ ์์ ๊ณผ์ ์ ๋งํ๋ค. ๋ ์ง์คํฐ ๋ ์ง์คํฐ๋ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ ํฌ๊ธฐ์ ๋ฐ๋ผ ๊ฐ๊ฐ ๋ค๋ฅธ ์ด๋ฆ์ผ๋ก ๋ถ๋ฆฐ๋ค. ex: 'A' ๋ ์ง์คํฐ์ธ ๊ฒฝ์ฐ ๋ ์ง์คํฐ์ ๋จ์๋ ๋ฐ์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๋ช ์นญํ๋ค. 64bit ๋จ์ : RAX 32bit ๋จ์ : EAX 16bit ๋จ์ :..
2020.04.11 -
์ด๋ฒ์ ๊ธฐ์ด ์ค์ต์ ํด๋ณด๊ณ ๊ทธ ์ฝ๋์ ๋ํด ๋ถ์์ ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๊ธฐ๋ณธ์ ์ธ ๋ช ๋ น์ด์ + , * ์ฌ์ฉ์ ์ฃผ๋ก ๋ค๋ค์ผ๋ ๊ฐ๋ณ๊ฒ ์ฝ์ด๋ด์ฃผ์ธ์!! โ๋จ : ๊ธ์ ์ํ๋ก ๋ฉ๋ชจํ์์ผ๋ ์ ์ํ์ฌ ์ฐธ๊ณ ํ์๊ธธ ๋ฐ๋๋๋ค. 1. [๊ฐ๋จํ ๊ธฐ์ด์ฐ์ฐ] "a+2*b" ์์ ๊ตฌํํ๊ธฐ. ์ฝ๋ ํ์ธ ํ ๋ฉ๋ชจ๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์. 2. [๊ฐ๋จํ ๊ธฐ์ด์ฐ์ฐ] "์๋ฃ ์ฒ๋ฆฌ ๋จ์์ SASM ์์์ ๋จ์" ์์ ์ด์ด์ ์ฝ๋ ํด์ค๋ ์์ผ๋ ์ฐธ๊ณ ํด์ฃผ์ธ์. 3. [๊ฐ๋จํ ๊ธฐ์ด์ฐ์ฐ] "a*b+c*d" ์์ ๊ตฌํํ๊ธฐ ๊ฐ๋จํ ์ฐ์ฐ ์ฝ๋๋ฅผ ์์ฑํด๋ดค์ด์! ์์ผ๋ก ์ ์ ๋ฐ์ ํ๋ฉด์ ๊ฐ์ด ๋ฐฐ์๋ด์ ใ ใ ๊ทธ๋ผ ์ค๋ ์ด์ ๋ธ๋ฆฌ์ด๋ ์๊ธฐ๊น์ง ํ๊ฒ ์ต๋๋ค! ๋ค๋ค ์๊ณ ํ์ จ์ด์~๐ฉ๐ฉ
[์ด์ ๋ธ๋ฆฌ์ด] ๊ธฐ์ด์ฝ๋๋ถ์์ด๋ฒ์ ๊ธฐ์ด ์ค์ต์ ํด๋ณด๊ณ ๊ทธ ์ฝ๋์ ๋ํด ๋ถ์์ ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๊ธฐ๋ณธ์ ์ธ ๋ช ๋ น์ด์ + , * ์ฌ์ฉ์ ์ฃผ๋ก ๋ค๋ค์ผ๋ ๊ฐ๋ณ๊ฒ ์ฝ์ด๋ด์ฃผ์ธ์!! โ๋จ : ๊ธ์ ์ํ๋ก ๋ฉ๋ชจํ์์ผ๋ ์ ์ํ์ฌ ์ฐธ๊ณ ํ์๊ธธ ๋ฐ๋๋๋ค. 1. [๊ฐ๋จํ ๊ธฐ์ด์ฐ์ฐ] "a+2*b" ์์ ๊ตฌํํ๊ธฐ. ์ฝ๋ ํ์ธ ํ ๋ฉ๋ชจ๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์. 2. [๊ฐ๋จํ ๊ธฐ์ด์ฐ์ฐ] "์๋ฃ ์ฒ๋ฆฌ ๋จ์์ SASM ์์์ ๋จ์" ์์ ์ด์ด์ ์ฝ๋ ํด์ค๋ ์์ผ๋ ์ฐธ๊ณ ํด์ฃผ์ธ์. 3. [๊ฐ๋จํ ๊ธฐ์ด์ฐ์ฐ] "a*b+c*d" ์์ ๊ตฌํํ๊ธฐ ๊ฐ๋จํ ์ฐ์ฐ ์ฝ๋๋ฅผ ์์ฑํด๋ดค์ด์! ์์ผ๋ก ์ ์ ๋ฐ์ ํ๋ฉด์ ๊ฐ์ด ๋ฐฐ์๋ด์ ใ ใ ๊ทธ๋ผ ์ค๋ ์ด์ ๋ธ๋ฆฌ์ด๋ ์๊ธฐ๊น์ง ํ๊ฒ ์ต๋๋ค! ๋ค๋ค ์๊ณ ํ์ จ์ด์~๐ฉ๐ฉ
2020.03.31 -
์ด์ ๋ธ๋ฆฌ์ด๊ฐ ๋ฌด์์ธ์ง๋ ์ ๋ฒ ๊ฒ์๊ธ์ ํตํด ์ค๋ช ๋๋ ธ๋๋ฐ์, ๊ทธ๋ ๋ค๋ฉด ์ด๋ฒ์ ์ง์ ์ค์ต์ ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๋จผ์ ์ค์ต์ ์ํ SASM๋ฅผ ๋ค์ด๋ก๋ ํด๋ณผ๊ป์~ ๊ทธ๋ผ Start ๐๐๐ https://dman95.github.io/SASM/english.html ์ฌ์ดํธ ์ ์ ํ -> ์์ ์ OS์ ๋ง๋ ๊ฒ์ ๋ค์ด๋ก๋. โ ์ ๋ window๋ฅผ ์ฌ์ฉํ๊ณ ์์ด์ window์ฉ์ ๋ค์ด๋ฐ์์ด์. โ ๋ค์ด๋ก๋ ํ ์คํ -> ์ธ์ด๋English ์ ํ โ ์์๊บผ ์ฒดํฌํด์ฃผ์ธ์~ โ ๊ฒฝ๋ก ์ง์ ํด์ฃผ๊ธฐ. โ ๋ค์ด๋ก๋ ์๋ฃ. ์ผ๋จ ๋ค์ด๋ก๋๋ ๋งค์ฐ ๊ฐํธํฉ๋๋ค. ๊ทธ๋ ๋ค๋ฉด ๋ฐ๋ก new project๋ฅผ ์์ฑํด๋ณด๋๋ก ํ ๊ป์. ์ํ์ผ์ ๋ง๋ค๋ฉด ์ด๋ฆฌ๋ ์ฒซ ํ๋ฉด์ ๋๋ค. ์ฝ๋๋ฅผ ๋ณด์๋ฉด ๊ธฐ๋ณธ์ ์ธ ์ค์ ์ธ ๊ฒ ๊ฐ์๋ฐ, io.inc๋ 32bit๋ฅผ ์๋ฏธํ..
[์ด์ ๋ธ๋ฆฌ์ด] SASM ์ค์ตํด๋ณด๊ธฐ์ด์ ๋ธ๋ฆฌ์ด๊ฐ ๋ฌด์์ธ์ง๋ ์ ๋ฒ ๊ฒ์๊ธ์ ํตํด ์ค๋ช ๋๋ ธ๋๋ฐ์, ๊ทธ๋ ๋ค๋ฉด ์ด๋ฒ์ ์ง์ ์ค์ต์ ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๋จผ์ ์ค์ต์ ์ํ SASM๋ฅผ ๋ค์ด๋ก๋ ํด๋ณผ๊ป์~ ๊ทธ๋ผ Start ๐๐๐ https://dman95.github.io/SASM/english.html ์ฌ์ดํธ ์ ์ ํ -> ์์ ์ OS์ ๋ง๋ ๊ฒ์ ๋ค์ด๋ก๋. โ ์ ๋ window๋ฅผ ์ฌ์ฉํ๊ณ ์์ด์ window์ฉ์ ๋ค์ด๋ฐ์์ด์. โ ๋ค์ด๋ก๋ ํ ์คํ -> ์ธ์ด๋English ์ ํ โ ์์๊บผ ์ฒดํฌํด์ฃผ์ธ์~ โ ๊ฒฝ๋ก ์ง์ ํด์ฃผ๊ธฐ. โ ๋ค์ด๋ก๋ ์๋ฃ. ์ผ๋จ ๋ค์ด๋ก๋๋ ๋งค์ฐ ๊ฐํธํฉ๋๋ค. ๊ทธ๋ ๋ค๋ฉด ๋ฐ๋ก new project๋ฅผ ์์ฑํด๋ณด๋๋ก ํ ๊ป์. ์ํ์ผ์ ๋ง๋ค๋ฉด ์ด๋ฆฌ๋ ์ฒซ ํ๋ฉด์ ๋๋ค. ์ฝ๋๋ฅผ ๋ณด์๋ฉด ๊ธฐ๋ณธ์ ์ธ ์ค์ ์ธ ๊ฒ ๊ฐ์๋ฐ, io.inc๋ 32bit๋ฅผ ์๋ฏธํ..
2020.03.31