본문 바로가기

Computer/0x08 하드웨어

[마이크로프로세서 4화] 프로그래밍 언어

[마이크로프로세서 4화] 프로그래밍 언어





프로그램(Program) - CPU가 순서적으로 처리해야 할일을 만듬

명령어(Instruction) - CPU가 처리해야 할 일


기계어(Machine Language) - CPU가 이해할 수 있는 언어

니모닉코드(Mnemonic COde) - 기호 또는 문자를 압축하여 만든 코드





[ 프로그래밍 언어의 종류 ]


고급언어: FORTRAN , COBOL, C언어등

저급언어: 어셈블리어 

기계어: 기계 고유의 언어 




- 소스프로그램은 어셈블리어나 고급언어로

- 작성한 원본 프로그램이며, 원시 프로그램이라고도 함

- 목적 프로그램(Object Program) 은 변환괸 기계어 프로그램 






어셈블리어



기계어의 비트 형식 => 니모닉 코드


- 기계어처럼 사용할 CPU에 따라 명령어 대부분 다름

- 프로그램을 작성할 떄 어셈블리어 명령어와 문법 체계 외에도

데이터 표현 방식과 사용하려는 CPUY에 관한 기초 지식이 필요


단점: 동일한 프로그램을 CPU에 따라 다르게 프로그래밍해야 함




[ 니모닉 코드 ]

: 기계어의 비트형식이 나타내는 의미를 심벌(symbol)로 표현한 것으로 프로그램을

이해하거나 작성하기가 쉬움



예) MOV A, #03H




[ 어셈블리어로 프로그래밍을 하는 경우 ]


- 컴퓨터 하드웨어의 구성 요소를 직접 액세스할 떄

- 컴파일러를 설계하거나 시스템 프로그램을 작성할 떄

- 빠른 수행이 필요한 프로그램을 작성할 떄

- 기억장소를 적게 차지하거나 입출력 장치를 효율적으로 사용할 떄






8051 C언어와 컴파일러



8051 -> 어셈블리어 , C언어


편견: 마이크로 컨트롤러 시스템 구현은 C언가 보다 쉬움, 앞으로는 어셈블리어는 없어지고

C언어만 존재




[ 어셈블리어 ] 

장점: 수행속도와 메모리 측면에서 유리

단점: 마이크로 컨트롤러 마다 다름



[ C언어 ]

장점: 보다 쉽고 간편하게 프로그램을 작성 가능

단점: 정확한 시간산출이 어렵고 메모리 측면에서 불리함




정리하기


1. 어셈블리어도 기계어처럼 사용할 CPU에 따라 대부분 명령어가 다르다.
2. 상수표현은 정수상수, 실수상수, 문자상수, 문자열 상수 등이 있다.
3. 연산자는 산술연산, 대입연산, 관계연산, 논리연산, 비트연산이 있다.
4. 데이터형은 bit, sbit ,sfr16은 8051 C 컴파일러에서만 유효하다.