์ด์ ๋ธ๋ฆฌ์ด
-
ํํ ์๋ฆฌ ๋ฐ๊พธ๊ธฐ ํจ์๋ผ๊ณ ํ์ฃ . Swapํจ์์ ์์ค๋ฅผ ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญํ์ฌ(์ด์ ๋ธ) ํด์ํด๋ณด๊ฒ ์ต๋๋ค. ์ด์ ๋ธ๋ฆฌ ์ฝ๋๋ก ์์ค ๊ณต๋ถ๋ฅผ ํ๋ฉด ์ข์ ์ ์, ๋ค์๊ณผ ๊ฐ๋ค. 1. ์ด์ ๋ธ๋ฆฌ ๊ณต๋ถ๊ฐ ๋๋ค. 2. C์ธ์ด ํฅ์์ ๋์์ด ๋๊ณ , ๊น๊ฒ ๊ณต๋ถํ ์ ์๋ค. 3. ๋ณต์กํ๊ฒ ๊ธฐ๊ณ์ด๋ก ๋ฐ๋๋ ๋ถ๋ถ์ ๋ ํจ์จ์ ์ธ ์ฝ๋๋ฅผ ๋ณ๊ฒฝ ํ ์ ์๊ฒ ๋๋ค. ๋จผ์ Swapํจ์ ์ฝ๋๋ฅผ ์ดํด๋ณด๋ฉด ์๋์ ๊ฐ๋ค. #include //temp๋ฅผ ์ด์ฉํ์ฌ a์ b์ ๊ฐ์ ์๋ก ๋ฐ๊พธ๊ธฐ void Swap(int* pa, int* pb) { int temp = *pa; // start(*pa) = 96, end(*pb)=5; *pa = *pb; //start(*pa) = 5, end(*pb)=5; *pb = temp; //start(*pa)= 5, e..
Swapํจ์ ๊ธฐ๊ณ์ด(์ด์ ๋ธ)๋ก ํด์ํ๊ธฐํํ ์๋ฆฌ ๋ฐ๊พธ๊ธฐ ํจ์๋ผ๊ณ ํ์ฃ . Swapํจ์์ ์์ค๋ฅผ ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญํ์ฌ(์ด์ ๋ธ) ํด์ํด๋ณด๊ฒ ์ต๋๋ค. ์ด์ ๋ธ๋ฆฌ ์ฝ๋๋ก ์์ค ๊ณต๋ถ๋ฅผ ํ๋ฉด ์ข์ ์ ์, ๋ค์๊ณผ ๊ฐ๋ค. 1. ์ด์ ๋ธ๋ฆฌ ๊ณต๋ถ๊ฐ ๋๋ค. 2. C์ธ์ด ํฅ์์ ๋์์ด ๋๊ณ , ๊น๊ฒ ๊ณต๋ถํ ์ ์๋ค. 3. ๋ณต์กํ๊ฒ ๊ธฐ๊ณ์ด๋ก ๋ฐ๋๋ ๋ถ๋ถ์ ๋ ํจ์จ์ ์ธ ์ฝ๋๋ฅผ ๋ณ๊ฒฝ ํ ์ ์๊ฒ ๋๋ค. ๋จผ์ Swapํจ์ ์ฝ๋๋ฅผ ์ดํด๋ณด๋ฉด ์๋์ ๊ฐ๋ค. #include //temp๋ฅผ ์ด์ฉํ์ฌ a์ b์ ๊ฐ์ ์๋ก ๋ฐ๊พธ๊ธฐ void Swap(int* pa, int* pb) { int temp = *pa; // start(*pa) = 96, end(*pb)=5; *pa = *pb; //start(*pa) = 5, end(*pb)=5; *pb = temp; //start(*pa)= 5, e..
2021.01.28 -
๋ณดํธ๋์ด ์๋ ๊ธ์ ๋๋ค.
๊ธฐ๊ณ์ด๋ก ํ๋ก๊ทธ๋๋ฐ์ ํ๋ ๊ฒฝ์ฐ๋ณดํธ๋์ด ์๋ ๊ธ์ ๋๋ค.
2021.01.12 -
๋ณดํธ๋์ด ์๋ ๊ธ์ ๋๋ค.
CPU์ ๋ํ์ฌ๋ณดํธ๋์ด ์๋ ๊ธ์ ๋๋ค.
2021.01.12 -
๋ณดํธ๋์ด ์๋ ๊ธ์ ๋๋ค.
๊ธฐ๊ณ์ด, ์ด์ ๋ธ๋ฆฌ์ด ๊ทธ๋ฆฌ๊ณ ๊ณ ๊ธ์ธ์ด๋ณดํธ๋์ด ์๋ ๊ธ์ ๋๋ค.
2021.01.11 -
๋ก๋ ์์ฑ๊ธฐ ์ ์ฒด ์๊ณ ๋ฆฌ์ฆ ์ค๊ณ 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 -
์ค๋์ ์ด์ ๋ธ๋ฆฌ์ด ๊ธฐ์ด ์ด๋ก ๊ณผ ์ค์ต์ ํด๋ณผ๊บผ์์~ ์์ง ๊ฐ ๊ธธ์ด ๋ฉ๊ธฐ๋๋ฌธ์..! ์ง๊ธ ๋ฐ๋ก ์์ํ๊ฒ ์ต๋๋ค. ๐ฑ๐๐จ ์ด์ ๋ธ๋ฆฌ์ด ํ๋ก๊ทธ๋๋ฐ์ ๊ธฐ๋ณธ ์์ 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 -
์ด์ ๋ธ๋ฆฌ์ด๊ฐ ๋ฌด์์ธ์ง๋ ์ ๋ฒ ๊ฒ์๊ธ์ ํตํด ์ค๋ช ๋๋ ธ๋๋ฐ์, ๊ทธ๋ ๋ค๋ฉด ์ด๋ฒ์ ์ง์ ์ค์ต์ ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๋จผ์ ์ค์ต์ ์ํ 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