Upload
allting-kim
View
233
Download
2
Embed Size (px)
Citation preview
고수준 언어와 저수준 언어
Chapter 24
프로그램 작성
•제어판을 이용하여 입력.
•종이에 어셈블리어 작성후 수동으로 어셈블 과정을 거쳐 입력.
•컴퓨터를 이용하여 변환을 해보자.
CP/M 운영체제에서 ASM
• ED.COM 편집기로 ASM 작성 저장.
어셈블(assemble)
• CP/M에 포함된 ASM.COM 으로 어셈블.
• ASM PROGRAM1.ASM
• PROGRAM1.COM
• Hello!
PROGRAM1.COM
• 11 09 01 0E 09 CD 05 00 C9 48 65 6C 6C 6F 21 24
0109h0100h
교차 어셈블러(cross-...)
1. 0109h 값을 수동으로 계산하여 어셈블.
2.자동 계산하는 어셈블러를 제작.
3.새로운 마이크로 프로세서의 어셈블러를 제작.
어셈블러의 단점
•작성하기 힘듦.
•이식성 부족
- 8080 용 앱은 6800용으로 포팅 필요.
고수준 프로그래밍 언어
• A * Sin (2 * PI + B) / C
•텍스트 파일을 읽고, 대수학적 표현을 기계어로 변환.
•저수준 언어는 하드웨어와 밀접고수준 언어는 높은 추상화 수준.
컴파일러(compiler)
•어셈블리어와 기계어간에 1:1 대응 관계.
•고수준 언어 한줄이 여러 줄의 기계어 명령어로 변환.
고수준 언어의 장단점
장점 단점
어셈블리에 비해 쉽다. 컴파일러가 변환하는 것보다 더 좋은 코드를 작성.
좀 더 명확하고, 소스 크기도 작다.
크기와 실행 속도의 이점.
이식 가능성이 높다.
최초의 컴파일러
•그레이스 머레이 호퍼
• UNIVAC 용 A-0
• COBOL
• Bug
FORTRAN
•지금까지 사용되는 가장 오래된 고수준 언어.
• FORmula + TRANslation
• IBM 704 용으로 개발.
•과학자와 엔지니어가 사용하기 적절.
•최초의 옵티마이즈 된 컴파일러
•부동소수점, 복소수 지원
천공카드
ALGOL
•범용 프로그래밍 언어들의 기원.
•고수준 언어들이 추구하는 다양한 속성.
• ALGOrithmic Language
ALGOL-like
•변수 선언(타입), 대입, 루프, 조건등이특정 규칙에 적용.
에라토스테네스의 체
COBOL
•비지니스를 하는 사람들과 비즈니스의 문제를 해결할 수 있도록 설계된 언어중 가장 성공한 언어.
•실제 프로그래밍을 하지 않는 관리자들도 쉽게 프로그램 코드 읽고 검토할 수 있도록...
PL/I
• PL/I는 System/360 컴퓨터를 연결하는 프로젝트에서 제작.
• Programming Language Number One
• ALGOL 블록 구조, FORTRAN 수학 함수,COBOL 레코드 처리 및 리포트 생성 지원.
•그러나 유명해지지 못했다.
BASIC
•존 케메니, 토마스 커츠
•인터프리터
•개인용 컴퓨터에서 FORTRAN, ALGO, COBOL, PL/I
•소형 컴퓨터에서 BASIC 의 영향력이 컸음.
•빌 게이츠와 폴 앤런 MS 설립, 알테어(Altair) 용 BASIC 제공.
파스칼(Pascal)
• ALGOL에서 많은 부분 계승.
•볼랜드 사의 Turbo Pascal.
•개인용 컴퓨터에서 IDE 제공.
• Ada 언어에 영향을 끼침.
C•데니스 니치.
• BCPL 의 간략한 버전 B에서 파생.(Basic Combined Programming Language)
• C 언어로 UNIX 제작.
• 간결함. (begin, end -> {})
• 시프트, 비트 단위 논리 연산.
• 포인터.
• 고수준 어셈블리어.
LISP
•대부분의 언어들이 ALGOL 형식과폰노이만 아키텍처에 기반.
•존 매카시가 개발한 LISP. (LISt Processing)
•폰노이만 아키텍처를 따르지 않는 언어.
•두번째로 오래된 고수준 언어.
• IBM 704에서 Steve Russell 이 LISP 구현