본문 바로가기

Computer Science/컴퓨터구조

[컴퓨터 구조] 기본 컴퓨터 프로그래밍

이 글은 www.youtube.com/watch?v=DKDcauv2bUI&list=PLc8fQ-m7b1hD4jqccMlfQpWgDVdalXFbH&index=27&t=3s 보고 공부한 글입니다.

 

 

배울 목차

-기계어

-어셈블리 언어 – 0101 이진수로 바꿔야 하는 과정이다.

-어셈블러

-프로그램 루프

-산술 및 논리 연산의 프로그래밍

-서브루틴

-입출력 프로그래밍

 

 

명령어 Symbol <- -> Hexa code 관계

 

우리가 기계어를 다룰 때 Hexadeciaml진수 코드 에 익숙해지는 것이 좋다.

 

2진 코드(Binary code)


기계어 프로그램(코드)
메모리상에 실제 나타나는 형태의 명령어 집합
이진 명령어와 피연산자의 시퀀스로 구성

 

8/16진 코드(Octal/ Hexa code)


이진 기계어 코드를 8진수, 16진수로 표현

 

기호 코드(Symblic code)


이진 기계어 코드에 재하여 문자로 된 심벌로 표현
어셈블리어(기계어와 같다)

 

고급 프로그램밍 언어


하드웨어 구조와 관계 없이 문제 해결 논리가 고려된 언어
문제 위추주의 기호와 형식 사용
인터프리터, 컴파일러 사용

아래가 어셈블리 언어이다.

기계어 -> 16진 코드 -> 기호코드 -> 어셈블리 코드

location은 메인메모리의 주소를 나타낸다.
일단 16비트이다. 만약에 이것이 명령어라고 가정하면 0이고 opcode010이면 LDA 이다. -> MRI 명령이다. -> 몇번지이냐몇 번지이냐? 0100번지

 

TABLE 6-22진수를 16진수로 바꾸면 TABLE 6-3이 된다.

000이 명령어라면 ->004를 LDA하라 -> 004번지 가서 데이터를 load하라
001
이 명령어라면 ->005를 ADD하라 -> FFE9인 데이터 -> 음수인걸 알 수 있다.
002
이 명령어라면 -> 006STA하라 -> 006 번지에 저장하라
003
이 명령어라면 -> HLT -> 컴퓨터종료

 

4번지를 A 나타내면 어셈블리 언어라고 한다.

728x90