์ด์ ๋ธ๋ฌ
-
ํํ ์๋ฆฌ ๋ฐ๊พธ๊ธฐ ํจ์๋ผ๊ณ ํ์ฃ . 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.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 -
์ด์ ๋ธ๋ฆฌ์ด๊ฐ ๋ฌด์์ธ์ง๋ ์ ๋ฒ ๊ฒ์๊ธ์ ํตํด ์ค๋ช ๋๋ ธ๋๋ฐ์, ๊ทธ๋ ๋ค๋ฉด ์ด๋ฒ์ ์ง์ ์ค์ต์ ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๋จผ์ ์ค์ต์ ์ํ 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 -
์ค๋์ ์ด์ ๋ธ๋ฆฌ์ด๋ฅผ ์ฒ์ ์ฌ์ฉํด๋ณผ๊ป๋ฐ์ ์ฌ์ฉ์ ์!!! ์ด์ ๋ธ๋ฆฌ์ด๊ฐ ๋ฌด์์ธ์ง! ์ ๊ธ์ธ์ด ๊ณ ๊ธ์ธ์ด๊ฐ ๋ฌด์์ธ์ง! ๊ทธ๋ฆฌ๊ณ ์ปดํ์ผ๋ฌ์ ์ด์ ๋ธ๋ฌ์ ํน์ง์ด ๋ฌด์์ธ์ง ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๊ทธ๋ผ Start๐ ์ด์ ๋ธ๋ฆฌ์ด๋? ์ด์ ๋ธ๋ฆฌ์ด(assembly language)๋๋ ์ด์ ๋ธ๋ฌ ์ธ์ด(assembler language)๋ ๊ธฐ๊ณ์ด์ ์ผ๋์ผ ๋์์ด ๋๋ ์ปดํจํฐ ํ๋ก๊ทธ๋๋ฐ์ ์ ๊ธ ์ธ์ด์ด๋ค.(H/w์ ๊ด๋ จ์ด ๋ง์, ๊ธฐ๊ณ์ด์ ๊ฐ๊น์) ์ปดํจํฐ ๊ตฌ์กฐ์ ๋ฐ๋ผ ์ฌ์ฉํ๋ ๊ธฐ๊ณ์ด๊ฐ ๋ฌ๋ผ์ง๋ฉฐ, ๋ฐ๋ผ์ ๊ธฐ๊ณ์ด์ ๋์๋์ด ๋ง๋ค์ด์ง๋ ์ด์ ๋ธ๋ฆฌ์ด๋ ๊ฐ๊ฐ ๋ค๋ฅด๊ฒ ๋๋ค. ์ปดํจํฐ CPU๋ง๋ค ์ง์ํ๋ ์คํผ๋ ์ด์ ์ ํ์ ๊ณผ ๊ฐ์๋ ์ ๊ฐ๊ฐ์ด๋ฉฐ, ๋ ์ง์คํฐ์ ํฌ๊ธฐ์ ๊ฐ์, ์ ์ฅ๋ ๋ฐ์ดํฐ ํ์ ํํ๋ ๊ฐ๊ธฐ ๋ค๋ฅด๋ค. ๋ชจ๋ ๋ฒ์ฉ ์ปดํจํฐ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋์ผํ ๊ธฐ๋ฅ์ ์ํํ..
์ด์ ๋ธ๋ฆฌ์ด ์ ๋ฌธํ๊ธฐ_(์ด์ ๋ธ๋ฆฌ์ด๋?)์ค๋์ ์ด์ ๋ธ๋ฆฌ์ด๋ฅผ ์ฒ์ ์ฌ์ฉํด๋ณผ๊ป๋ฐ์ ์ฌ์ฉ์ ์!!! ์ด์ ๋ธ๋ฆฌ์ด๊ฐ ๋ฌด์์ธ์ง! ์ ๊ธ์ธ์ด ๊ณ ๊ธ์ธ์ด๊ฐ ๋ฌด์์ธ์ง! ๊ทธ๋ฆฌ๊ณ ์ปดํ์ผ๋ฌ์ ์ด์ ๋ธ๋ฌ์ ํน์ง์ด ๋ฌด์์ธ์ง ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๊ทธ๋ผ Start๐ ์ด์ ๋ธ๋ฆฌ์ด๋? ์ด์ ๋ธ๋ฆฌ์ด(assembly language)๋๋ ์ด์ ๋ธ๋ฌ ์ธ์ด(assembler language)๋ ๊ธฐ๊ณ์ด์ ์ผ๋์ผ ๋์์ด ๋๋ ์ปดํจํฐ ํ๋ก๊ทธ๋๋ฐ์ ์ ๊ธ ์ธ์ด์ด๋ค.(H/w์ ๊ด๋ จ์ด ๋ง์, ๊ธฐ๊ณ์ด์ ๊ฐ๊น์) ์ปดํจํฐ ๊ตฌ์กฐ์ ๋ฐ๋ผ ์ฌ์ฉํ๋ ๊ธฐ๊ณ์ด๊ฐ ๋ฌ๋ผ์ง๋ฉฐ, ๋ฐ๋ผ์ ๊ธฐ๊ณ์ด์ ๋์๋์ด ๋ง๋ค์ด์ง๋ ์ด์ ๋ธ๋ฆฌ์ด๋ ๊ฐ๊ฐ ๋ค๋ฅด๊ฒ ๋๋ค. ์ปดํจํฐ CPU๋ง๋ค ์ง์ํ๋ ์คํผ๋ ์ด์ ์ ํ์ ๊ณผ ๊ฐ์๋ ์ ๊ฐ๊ฐ์ด๋ฉฐ, ๋ ์ง์คํฐ์ ํฌ๊ธฐ์ ๊ฐ์, ์ ์ฅ๋ ๋ฐ์ดํฐ ํ์ ํํ๋ ๊ฐ๊ธฐ ๋ค๋ฅด๋ค. ๋ชจ๋ ๋ฒ์ฉ ์ปดํจํฐ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋์ผํ ๊ธฐ๋ฅ์ ์ํํ..
2020.03.31