포큐에서 202305학기 어셈블리 프로그래밍을 수강했다.
C에 이어 C++을 들을 생각이었으나, 새로 열리는 과목은 얼리버드 혜택이 있길래 어셈블리로 신청했다. (오픈 첫 학기는 무려 30% 할인!)
강의의 전체적인 구성은 초창기 컴퓨터가 생겨나던 시절부터 세 개 파트로 나누어 진다.
- 6502 어셈블리 (8비트)
- x86-16 (16비트)
- x86-32 (32비트)
컴퓨터가 어떻게 발전해왔는지와 그 구조에서 어셈블리가 어떻게 동작하는지에 대해 강의로 설명해주고,
풀코스를 듣는다면 실습과 과제를 통해 직접 어셈블리어로 프로그래밍을 해야한다.
6502 수업은 빵판에 CPU를 끼우고 램을 끼우고 롬을 끼우고 선을 연결하는 것 부터 시작한다.
사실 나는 이 부분이 많이 지루했는데 과거에는 컴퓨터공학과 커리큘럼에도 이런 것들이 있었으나 요즘에는 빠졌다고 한다.
여튼 풀코스 수업에서는 POBS라고 하여 빵판과 CPU, 램, 롬, 선, 클럭, 스파이더 등등 을 모아놓은 시뮬레이터를 제공한다.
덕분에 직접 손으로 핀을 하나씩 꽂지 않고 편하게 수업을 들을 수 있었다.
그럼에도 불구하고 공구팟 만들어서 직접 조립하시는 분들도 많았는데 정말 존경스러웠다..👏👏👏
6502는 어셈블한 실행 파일을 POBS의 롬에 플래시하여 실행했고,
x86-16은 dosbox-x라는 MS-DOS 에뮬레이터 안에서 어셈블 후 실행했고,
x86-32는 visual studio 에서 인라인 어셈블리로 작성하여 컴파일 후 실행한다.
그래서 x86-32에서는 m1 맥을 사용하면 매우매우 힘들어진다!!
아예 불가능한건 아닌데 인라인 어셈블리 문법이 달라져서 강의에서 알려주는 내용 외에 본인이 찾아서 해야한다.
그래서 m1, m2 맥만 갖고있다면 서브 컴퓨터나 다른 방법을 마련해두길 바란다. 나는 집에 있던 게임용 데탑으로....
(인라인 어셈블리는 강의 시작 첫 주에 실습1 에서 미리 테스트 할 수 있음)
6502와 x86-16까지는 m1 맥만 사용해도 문제 없음!
x86-16에서 dosbox-x 세팅할 때 경로가 조금 다르긴 한데, 위키에 수강생 분들이 잘 작성해 뒀기 때문에 쉽게 따라할 수 있다.
사실 포큐에서 들은 강의가 C프로그래밍(COMP2200) 밖에 없어서 비교대상이 하나밖에 없지만,
나의 체감 강의 난이도는 C보다 훠어어어어어얼씬 어려웠다.
C는 통과를 못했음에도 배운 내용이 머릿속에 남아있고, 과제를 하면서도 어떻게 구현해야겠다, 이렇게 해서 해결 된거고, 이렇게 해서 오류가 났고가 명확했다.
그런데 어셈블리는 강의에서 배운 부분적인 개념들(주소지정모드, SIMD 용어 같은)은 머리에 남아있지만, 과제를 하면서도 이게 왜 되지 싶은게 꽤 있었고, 그래서 이걸 배워서 어디다 쓰는건지 모르겠다는 생각도 많이 들었다.
과목 자체가 그렇다기 보다는 내가 이해를 제대로 못해서 그런거 같은데..
비슷한 시간을 썼을 때 C보다는 어셈블리가 더 내 것으로 만들기 어려운 느낌 ㅠㅠ 나중에 강의를 다시 봐야겠다.
그런데 슬랙방에 올라오는 다른 분들 얘기를 보면 또 그렇지도 않은거 같기도?
사람마다 다르긴 한데 C보다 쉽다는 의견이 많은 것 같다. 첫수업이라 고수들이 몰려온걸지도..
그럼에도 불구하고 얻은 것은..
사실 이 과목은 어셈블리어로 하는 프로그래밍만을 가르쳐주는 과목은 아니다. 물론 니모닉들에 대한 설명이 있고 그걸 사용해 구현도 하지만, 컴퓨터와 운영체제가 돌아가는 원리에 대해 곁들여 설명해 준다. 어릴 때 컴퓨터 전원을 켜면 삑 소리가 났는데 그 이유도 이제서야 알게 되었다.
사실 내가 정통 개발자(?)도 아니고 앞으로 IT를 계속 할지에 대한 확신이 없어서 포큐 수업은 이번까지만 들을 생각이었는데
슬랙방에 올라오는 글들을 보니 C++은 시간이 많이 안든다고 해서 C++까지만 들을까 싶기도 하고... 고민중..
'일상로그' 카테고리의 다른 글
[수원 카페] 올드페리도넛 수원 오목천점 / 주말 방문 후기(2024.2.24) (2) | 2024.02.24 |
---|---|
제 39회 CPPG 개인정보관리사 합격 후기 (2023.8.) (2) | 2023.10.06 |
귀여운 만석공원 길냥이들 나만 볼 수 없지 (1) | 2023.04.23 |
다마고치 분해하기 (0) | 2023.04.23 |
경기혈액원 헌혈의집 광교센터 - 전혈 헌혈 후기 (0) | 2023.04.22 |