Great 프로그래머의 필수템, 어셈블리어를 마스터하세요. 이 강좌는 다양한 환경에서 어셈블리어를 자유롭게 구사할 수 있는 능력을 길러줍니다. 심지어 컴퓨터를 직접 제작하는 경험까지 포함되어 있죠! POCU 아카데미의 독창적이고 철저한 커리큘럼을 통해 하드웨어의 본질을 깊이 이해하고, 기초 컴퓨터 구조와운영체제의 세계를 완벽하게 습득하세요!
시작 날짜 | 종료 날짜 | |
---|---|---|
수강기간 |
2023-05-01 00:00:00 GMT
|
2023-08-13 23:59:59 GMT
|
수강신청기간 |
2023-04-17 00:00:00 GMT
|
2023-04-30 23:59:59 GMT
|
수강신청 시 해당 내용을 숙지 및 동의한 것으로 간주합니다.
Great 프로그래머가 되려면 프로그램을 구성하는 가장 낮은 수준부터 가장 높은 수준까지 완벽하게 이해해야 합니다. 이를 통해 저수준과 고수준 사이의 어딘가에서 올바른 결정을 내려 미래에나 가능해 보이는 일을 지금 당장 이뤄낼 수 있으며, 그런 능력을 갖춘 사람이 바로 Great 프로그래머거든요. 하지만 시중에는 고수준 프로그래밍에 관한 강의가 넘쳐나는 반면, 저수준 프로그래밍에 대한 강의는 매우 부족한 상황입니다. 이를 해결하기 위해 POCU 아카데미가 차별화된 저수준 프로그래밍 강좌, 'COMP2300: 어셈블리 프로그래밍'을 선보입니다.
컴퓨터는 딱 한 가지 언어만 이해할 수 있습니다. 기계어, 즉 0과 1로 이루어진 이진수입니다. 마법처럼 보이는 어떤 언어와 도구를 사용하든 간에 그 도구가 하는 일은 결국 기계어를 만들어내는 것이며, 컴퓨터는 그 기계어를 해석해서 실행할 뿐입니다. 따라서 컴퓨터의 동작원리를 이해하기에 기계어를 공부하는 것만큼 좋은 방법이 없죠. 하지만 기계어는 사람이 쉽게 읽을 수 없습니다. 따라서 각 기계어 명령어마다 별칭을 단 언어인 어셈블리어를 그 대신 배우곤 합니다.
본 강좌는 간단히 CPU 구조를 살펴본 뒤, 크게 다음과 같은 순서에 따라 진행됩니다.
'Part 1: 8 비트 어셈블리 프로그래밍'에서는 MOS 6502 CPU를 사용해 기초적인 8 비트 컴퓨터를 제작하고, 그 컴퓨터에서 동작하는 기계어 및 어셈블리어 코드를 작성합니다. 이 부분에서는 CPU의 구조와 동작원리를 이해하고, 어셈블리어를 활용해 하드웨어를 직접 제어하는 제어기기 프로그래밍 패턴을 배울 수 있습니다.
'Part 2: 16 비트 어셈블리 프로그래밍'에서는 현재 데스크톱 CPU 점유율 1위인 x86 계열 CPU의 시초인 Intel 8086/8088 CPU에서 x86-16 어셈블리어 코드를 작성합니다. 이 부분에서는 많은 프로그램에 공통적인 연산(예: 콘솔 출력)을 운영체제의 도움을 받아 처리하는 법을 배우며, 이는 시스템 프로그래밍 패턴을 익히는 좋은 계기가 될 것입니다.
'Part 3: 32/64비트 인라인 어셈블리 프로그래밍'에서는 고수준 언어인 C에서 성능에 중요한 일부 코드만 어셈블리어로 작성하는 인라인 어셈블리 프로그래밍 패턴에 대해 배워봅니다. 또한 한 번의 명령으로 다수의 데이터를 한 번에 처리하는 SIMD(Single Instruction Multiple Data)에 대한 지식도 함께 습득하게 됩니다.
이 과목의 목표는 어셈블리어를 화려하게 구사하는 것이 아닙니다. 이 과목을 성공적으로 끝마친 학생이 기대할 수 있는 효과는 다음과 같습니다.
POCU 아카데미의 독창적이고 철저한 커리큘럼을 통해 하드웨어의 본질을 깊이 이해하고, 기초 컴퓨터 구조 및 운영체제의 세계를 완벽하게 습득하세요. 지금 바로 POCU 아카데미의 어셈블리어 강좌를 통해 프로그래머로서 한 단계 더 도약할 수 있습니다. 저수준 프로그래밍의 흥미로운 세계로 함께 떠나 볼 준비가 되셨나요? 지금 바로 참여하세요!
동영상 강의 범위(총 4시간 26분): 훌륭한 프로그래머와 어셈블리어 ~ 클럭 속도 늦추기
동영상 강의 범위(총 2시간 14분): 스파이더 연결하기 ~ 정리
동영상 강의 범위(총 2시간 43분): 어셈블리어의 언어적 분류 ~ 정리
동영상 강의 범위(총 3시간 44분): 정수의 덧셈 ~ 정리
동영상 강의 범위(총 2시간 15분): 반복문 ~ zp를 이용한 인자 전달
동영상 강의 범위(총 2시간 13분): 스택을 통한 인자 전달 ~ 정리
동영상 강의 범위(총 1시간 2분): 코드 중복의 문제 ~ 정리
제목 | 공지일 | 제출 마감일 |
---|---|---|
101
실습 1
|
1
2023-05-01 00:00:00 GMT
(1주 차)
|
638190936000000000
2023-05-07 22:00:00 GMT
|
102
실습 2
|
2
2023-05-08 00:00:00 GMT
(2주 차)
|
638196984000000000
2023-05-14 22:00:00 GMT
|
103
실습 3
|
3
2023-05-15 00:00:00 GMT
(3주 차)
|
638203032000000000
2023-05-21 22:00:00 GMT
|
104
실습 4
|
4
2023-05-22 00:00:00 GMT
(4주 차)
|
638209080000000000
2023-05-28 22:00:00 GMT
|
105
실습 5
|
5
2023-05-29 00:00:00 GMT
(5주 차)
|
638215128000000000
2023-06-04 22:00:00 GMT
|
106
실습 6
|
6
2023-06-05 00:00:00 GMT
(6주 차)
|
638221176000000000
2023-06-11 22:00:00 GMT
|
107
실습 7
|
9
2023-06-26 00:00:00 GMT
(9주 차)
|
638239320000000000
2023-07-02 22:00:00 GMT
|
108
실습 8
|
10
2023-07-03 00:00:00 GMT
(10주 차)
|
638245368000000000
2023-07-09 22:00:00 GMT
|
109
실습 9
|
11
2023-07-10 00:00:00 GMT
(11주 차)
|
638251416000000000
2023-07-16 22:00:00 GMT
|
1010
실습 10
|
12
2023-07-17 00:00:00 GMT
(12주 차)
|
638257464000000000
2023-07-23 22:00:00 GMT
|
1011
실습 11
|
13
2023-07-24 00:00:00 GMT
(13주 차)
|
638263512000000000
2023-07-30 22:00:00 GMT
|
001
과제 1
|
1
2023-05-01 00:00:00 GMT
(1주 차)
|
638203032000000000
2023-05-21 22:00:00 GMT
|
002
과제 2
|
4
2023-05-22 00:00:00 GMT
(4주 차)
|
638221176000000000
2023-06-11 22:00:00 GMT
|
003
과제 3
|
7
2023-06-12 00:00:00 GMT
(7주 차)
|
638245368000000000
2023-07-09 22:00:00 GMT
|
004
과제 4
|
11
2023-07-10 00:00:00 GMT
(11주 차)
|
638263512000000000
2023-07-30 22:00:00 GMT
|
2023-05-14 23:59:59 GMT | 환불 신청 마감 |
|
---|---|---|
2023-07-02 23:59:59 GMT | 수강 철회 신청 마감 |
|
윈도우 | 맥 | 리눅스 | 크롬 운영체제 | |
---|---|---|---|---|
운영 체제 | 윈도우 7+ | 맥 OSX 10.9+ | 우분투 18.04+ | 크롬 58+ |
프로세서 | 인텔 펜티엄 이상 | 인텔 또는 ARM | 인텔 펜티엄 이상 | 인텔 또는 ARM |
사용 가능한 디스크 공간 | 250 MB | 250 MB | 250 MB | 250 MB |
램(메모리) | 4 GB1 | 4 GB1 | 4 GB1 | 4 GB1 |
업로드 속도 | 0.092 Mbps - 0.244 Mbps | |||
마이크 | 내장형 또는 독립형 | |||
웹캠 | VGA 해상도 320x240 이상, 내장형 또는 독립형 |
시작 날짜 | 종료 날짜 | |
---|---|---|
수강기간 |
2023-09-04 00:00:00 GMT
|
2023-12-17 23:59:59 GMT
|
수강신청기간 |
2023-08-21 00:00:00 GMT
|
2023-09-03 23:59:59 GMT
|
수강신청 시 해당 내용을 숙지 및 동의한 것으로 간주합니다.
Great 프로그래머가 되려면 프로그램을 구성하는 가장 낮은 수준부터 가장 높은 수준까지 완벽하게 이해해야 합니다. 이를 통해 저수준과 고수준 사이의 어딘가에서 올바른 결정을 내려 미래에나 가능해 보이는 일을 지금 당장 이뤄낼 수 있으며, 그런 능력을 갖춘 사람이 바로 Great 프로그래머거든요. 하지만 시중에는 고수준 프로그래밍에 관한 강의가 넘쳐나는 반면, 저수준 프로그래밍에 대한 강의는 매우 부족한 상황입니다. 이를 해결하기 위해 POCU 아카데미가 차별화된 저수준 프로그래밍 강좌, 'COMP2300: 어셈블리 프로그래밍'을 선보입니다.
컴퓨터는 딱 한 가지 언어만 이해할 수 있습니다. 기계어, 즉 0과 1로 이루어진 이진수입니다. 마법처럼 보이는 어떤 언어와 도구를 사용하든 간에 그 도구가 하는 일은 결국 기계어를 만들어내는 것이며, 컴퓨터는 그 기계어를 해석해서 실행할 뿐입니다. 따라서 컴퓨터의 동작원리를 이해하기에 기계어를 공부하는 것만큼 좋은 방법이 없죠. 하지만 기계어는 사람이 쉽게 읽을 수 없습니다. 따라서 각 기계어 명령어마다 별칭을 단 언어인 어셈블리어를 그 대신 배우곤 합니다.
본 강좌는 간단히 CPU 구조를 살펴본 뒤, 크게 다음과 같은 순서에 따라 진행됩니다.
'Part 1: 8 비트 어셈블리 프로그래밍'에서는 MOS 6502 CPU를 사용해 기초적인 8 비트 컴퓨터를 제작하고, 그 컴퓨터에서 동작하는 기계어 및 어셈블리어 코드를 작성합니다. 이 부분에서는 CPU의 구조와 동작원리를 이해하고, 어셈블리어를 활용해 하드웨어를 직접 제어하는 제어기기 프로그래밍 패턴을 배울 수 있습니다.
'Part 2: 16 비트 어셈블리 프로그래밍'에서는 현재 데스크톱 CPU 점유율 1위인 x86 계열 CPU의 시초인 Intel 8086/8088 CPU에서 x86-16 어셈블리어 코드를 작성합니다. 이 부분에서는 많은 프로그램에 공통적인 연산(예: 콘솔 출력)을 운영체제의 도움을 받아 처리하는 법을 배우며, 이는 시스템 프로그래밍 패턴을 익히는 좋은 계기가 될 것입니다.
'Part 3: 32/64비트 인라인 어셈블리 프로그래밍'에서는 고수준 언어인 C에서 성능에 중요한 일부 코드만 어셈블리어로 작성하는 인라인 어셈블리 프로그래밍 패턴에 대해 배워봅니다. 또한 한 번의 명령으로 다수의 데이터를 한 번에 처리하는 SIMD(Single Instruction Multiple Data)에 대한 지식도 함께 습득하게 됩니다.
이 과목의 목표는 어셈블리어를 화려하게 구사하는 것이 아닙니다. 이 과목을 성공적으로 끝마친 학생이 기대할 수 있는 효과는 다음과 같습니다.
POCU 아카데미의 독창적이고 철저한 커리큘럼을 통해 하드웨어의 본질을 깊이 이해하고, 기초 컴퓨터 구조 및 운영체제의 세계를 완벽하게 습득하세요. 지금 바로 POCU 아카데미의 어셈블리어 강좌를 통해 프로그래머로서 한 단계 더 도약할 수 있습니다. 저수준 프로그래밍의 흥미로운 세계로 함께 떠나 볼 준비가 되셨나요? 지금 바로 참여하세요!
동영상 강의 범위(총 4시간 26분): 훌륭한 프로그래머와 어셈블리어 ~ 클럭 속도 늦추기
동영상 강의 범위(총 2시간 14분): 스파이더 연결하기 ~ 정리
동영상 강의 범위(총 2시간 43분): 어셈블리어의 언어적 분류 ~ 정리
동영상 강의 범위(총 3시간 44분): 정수의 덧셈 ~ 정리
동영상 강의 범위(총 2시간 15분): 반복문 ~ zp를 이용한 인자 전달
동영상 강의 범위(총 2시간 13분): 스택을 통한 인자 전달 ~ 정리
동영상 강의 범위(총 1시간 2분): 코드 중복의 문제 ~ 정리
제목 | 공지일 | 제출 마감일 |
---|---|---|
101
실습 1
|
1
2023-09-04 00:00:00 GMT
(1주 차)
|
638299800000000000
2023-09-10 22:00:00 GMT
|
102
실습 2
|
2
2023-09-11 00:00:00 GMT
(2주 차)
|
638305848000000000
2023-09-17 22:00:00 GMT
|
103
실습 3
|
3
2023-09-18 00:00:00 GMT
(3주 차)
|
638311896000000000
2023-09-24 22:00:00 GMT
|
104
실습 4
|
4
2023-09-25 00:00:00 GMT
(4주 차)
|
638317944000000000
2023-10-01 22:00:00 GMT
|
105
실습 5
|
5
2023-10-02 00:00:00 GMT
(5주 차)
|
638323992000000000
2023-10-08 22:00:00 GMT
|
106
실습 6
|
6
2023-10-09 00:00:00 GMT
(6주 차)
|
638330040000000000
2023-10-15 22:00:00 GMT
|
107
실습 7
|
9
2023-10-30 00:00:00 GMT
(9주 차)
|
638348184000000000
2023-11-05 22:00:00 GMT
|
108
실습 8
|
10
2023-11-06 00:00:00 GMT
(10주 차)
|
638354232000000000
2023-11-12 22:00:00 GMT
|
109
실습 9
|
11
2023-11-13 00:00:00 GMT
(11주 차)
|
638360280000000000
2023-11-19 22:00:00 GMT
|
1010
실습 10
|
12
2023-11-20 00:00:00 GMT
(12주 차)
|
638366328000000000
2023-11-26 22:00:00 GMT
|
1011
실습 11
|
13
2023-11-27 00:00:00 GMT
(13주 차)
|
638372376000000000
2023-12-03 22:00:00 GMT
|
001
과제 1
|
1
2023-09-04 00:00:00 GMT
(1주 차)
|
638311896000000000
2023-09-24 22:00:00 GMT
|
002
과제 2
|
4
2023-09-25 00:00:00 GMT
(4주 차)
|
638330040000000000
2023-10-15 22:00:00 GMT
|
003
과제 3
|
7
2023-10-16 00:00:00 GMT
(7주 차)
|
638354232000000000
2023-11-12 22:00:00 GMT
|
004
과제 4
|
11
2023-11-13 00:00:00 GMT
(11주 차)
|
638372376000000000
2023-12-03 22:00:00 GMT
|
2023-09-17 23:59:59 GMT | 환불 신청 마감 |
|
---|---|---|
2023-11-05 23:59:59 GMT | 수강 철회 신청 마감 |
|
윈도우 | 맥 | 리눅스 | 크롬 운영체제 | |
---|---|---|---|---|
운영 체제 | 윈도우 7+ | 맥 OSX 10.9+ | 우분투 18.04+ | 크롬 58+ |
프로세서 | 인텔 펜티엄 이상 | 인텔 또는 ARM | 인텔 펜티엄 이상 | 인텔 또는 ARM |
사용 가능한 디스크 공간 | 250 MB | 250 MB | 250 MB | 250 MB |
램(메모리) | 4 GB1 | 4 GB1 | 4 GB1 | 4 GB1 |
업로드 속도 | 0.092 Mbps - 0.244 Mbps | |||
마이크 | 내장형 또는 독립형 | |||
웹캠 | VGA 해상도 320x240 이상, 내장형 또는 독립형 |
시작 날짜 | 종료 날짜 | |
---|---|---|
수강기간 |
2024-01-01 00:00:00 GMT
|
2024-04-14 23:59:59 GMT
|
수강신청기간 |
2023-12-18 00:00:00 GMT
|
2023-12-31 23:59:59 GMT
|
수강신청 시 해당 내용을 숙지 및 동의한 것으로 간주합니다.
Great 프로그래머가 되려면 프로그램을 구성하는 가장 낮은 수준부터 가장 높은 수준까지 완벽하게 이해해야 합니다. 이를 통해 저수준과 고수준 사이의 어딘가에서 올바른 결정을 내려 미래에나 가능해 보이는 일을 지금 당장 이뤄낼 수 있으며, 그런 능력을 갖춘 사람이 바로 Great 프로그래머거든요. 하지만 시중에는 고수준 프로그래밍에 관한 강의가 넘쳐나는 반면, 저수준 프로그래밍에 대한 강의는 매우 부족한 상황입니다. 이를 해결하기 위해 POCU 아카데미가 차별화된 저수준 프로그래밍 강좌, 'COMP2300: 어셈블리 프로그래밍'을 선보입니다.
컴퓨터는 딱 한 가지 언어만 이해할 수 있습니다. 기계어, 즉 0과 1로 이루어진 이진수입니다. 마법처럼 보이는 어떤 언어와 도구를 사용하든 간에 그 도구가 하는 일은 결국 기계어를 만들어내는 것이며, 컴퓨터는 그 기계어를 해석해서 실행할 뿐입니다. 따라서 컴퓨터의 동작원리를 이해하기에 기계어를 공부하는 것만큼 좋은 방법이 없죠. 하지만 기계어는 사람이 쉽게 읽을 수 없습니다. 따라서 각 기계어 명령어마다 별칭을 단 언어인 어셈블리어를 그 대신 배우곤 합니다.
본 강좌는 간단히 CPU 구조를 살펴본 뒤, 크게 다음과 같은 순서에 따라 진행됩니다.
'Part 1: 8 비트 어셈블리 프로그래밍'에서는 MOS 6502 CPU를 사용해 기초적인 8 비트 컴퓨터를 제작하고, 그 컴퓨터에서 동작하는 기계어 및 어셈블리어 코드를 작성합니다. 이 부분에서는 CPU의 구조와 동작원리를 이해하고, 어셈블리어를 활용해 하드웨어를 직접 제어하는 제어기기 프로그래밍 패턴을 배울 수 있습니다.
'Part 2: 16 비트 어셈블리 프로그래밍'에서는 현재 데스크톱 CPU 점유율 1위인 x86 계열 CPU의 시초인 Intel 8086/8088 CPU에서 x86-16 어셈블리어 코드를 작성합니다. 이 부분에서는 많은 프로그램에 공통적인 연산(예: 콘솔 출력)을 운영체제의 도움을 받아 처리하는 법을 배우며, 이는 시스템 프로그래밍 패턴을 익히는 좋은 계기가 될 것입니다.
'Part 3: 32/64비트 인라인 어셈블리 프로그래밍'에서는 고수준 언어인 C에서 성능에 중요한 일부 코드만 어셈블리어로 작성하는 인라인 어셈블리 프로그래밍 패턴에 대해 배워봅니다. 또한 한 번의 명령으로 다수의 데이터를 한 번에 처리하는 SIMD(Single Instruction Multiple Data)에 대한 지식도 함께 습득하게 됩니다.
이 과목의 목표는 어셈블리어를 화려하게 구사하는 것이 아닙니다. 이 과목을 성공적으로 끝마친 학생이 기대할 수 있는 효과는 다음과 같습니다.
POCU 아카데미의 독창적이고 철저한 커리큘럼을 통해 하드웨어의 본질을 깊이 이해하고, 기초 컴퓨터 구조 및 운영체제의 세계를 완벽하게 습득하세요. 지금 바로 POCU 아카데미의 어셈블리어 강좌를 통해 프로그래머로서 한 단계 더 도약할 수 있습니다. 저수준 프로그래밍의 흥미로운 세계로 함께 떠나 볼 준비가 되셨나요? 지금 바로 참여하세요!
동영상 강의 범위(총 4시간 26분): 훌륭한 프로그래머와 어셈블리어 ~ 클럭 속도 늦추기
동영상 강의 범위(총 2시간 14분): 스파이더 연결하기 ~ 정리
동영상 강의 범위(총 2시간 43분): 어셈블리어의 언어적 분류 ~ 정리
동영상 강의 범위(총 3시간 44분): 정수의 덧셈 ~ 정리
동영상 강의 범위(총 2시간 15분): 반복문 ~ zp를 이용한 인자 전달
동영상 강의 범위(총 2시간 13분): 스택을 통한 인자 전달 ~ 정리
동영상 강의 범위(총 1시간 2분): 코드 중복의 문제 ~ 정리
제목 | 공지일 | 제출 마감일 |
---|---|---|
101
실습 1
|
1
2024-01-01 00:00:00 GMT
(1주 차)
|
638402616000000000
2024-01-07 22:00:00 GMT
|
102
실습 2
|
2
2024-01-08 00:00:00 GMT
(2주 차)
|
638408664000000000
2024-01-14 22:00:00 GMT
|
103
실습 3
|
3
2024-01-15 00:00:00 GMT
(3주 차)
|
638414712000000000
2024-01-21 22:00:00 GMT
|
104
실습 4
|
4
2024-01-22 00:00:00 GMT
(4주 차)
|
638420760000000000
2024-01-28 22:00:00 GMT
|
105
실습 5
|
5
2024-01-29 00:00:00 GMT
(5주 차)
|
638426808000000000
2024-02-04 22:00:00 GMT
|
106
실습 6
|
6
2024-02-05 00:00:00 GMT
(6주 차)
|
638432856000000000
2024-02-11 22:00:00 GMT
|
107
실습 7
|
9
2024-02-26 00:00:00 GMT
(9주 차)
|
638451000000000000
2024-03-03 22:00:00 GMT
|
108
실습 8
|
10
2024-03-04 00:00:00 GMT
(10주 차)
|
638457048000000000
2024-03-10 22:00:00 GMT
|
109
실습 9
|
11
2024-03-11 00:00:00 GMT
(11주 차)
|
638463096000000000
2024-03-17 22:00:00 GMT
|
1010
실습 10
|
12
2024-03-18 00:00:00 GMT
(12주 차)
|
638469144000000000
2024-03-24 22:00:00 GMT
|
1011
실습 11
|
13
2024-03-25 00:00:00 GMT
(13주 차)
|
638475192000000000
2024-03-31 22:00:00 GMT
|
001
과제 1
|
1
2024-01-01 00:00:00 GMT
(1주 차)
|
638414712000000000
2024-01-21 22:00:00 GMT
|
002
과제 2
|
4
2024-01-22 00:00:00 GMT
(4주 차)
|
638432856000000000
2024-02-11 22:00:00 GMT
|
003
과제 3
|
7
2024-02-12 00:00:00 GMT
(7주 차)
|
638457048000000000
2024-03-10 22:00:00 GMT
|
004
과제 4
|
11
2024-03-11 00:00:00 GMT
(11주 차)
|
638475192000000000
2024-03-31 22:00:00 GMT
|
2024-01-14 23:59:59 GMT | 환불 신청 마감 |
|
---|---|---|
2024-03-03 23:59:59 GMT | 수강 철회 신청 마감 |
|
윈도우 | 맥 | 리눅스 | 크롬 운영체제 | |
---|---|---|---|---|
운영 체제 | 윈도우 7+ | 맥 OSX 10.9+ | 우분투 18.04+ | 크롬 58+ |
프로세서 | 인텔 펜티엄 이상 | 인텔 또는 ARM | 인텔 펜티엄 이상 | 인텔 또는 ARM |
사용 가능한 디스크 공간 | 250 MB | 250 MB | 250 MB | 250 MB |
램(메모리) | 4 GB1 | 4 GB1 | 4 GB1 | 4 GB1 |
업로드 속도 | 0.092 Mbps - 0.244 Mbps | |||
마이크 | 내장형 또는 독립형 | |||
웹캠 | VGA 해상도 320x240 이상, 내장형 또는 독립형 |