SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
고수준 언어와
 저수준 언어
 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

0100h                     0109h
교차 어셈블러(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 구현

Más contenido relacionado

Similar a Chaper24 languages high_and_low

(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍NDOORS
 
Introduction to Golang v2
Introduction to Golang v2Introduction to Golang v2
Introduction to Golang v2Hyejong
 
리눅스 데스크톱의 한국어 입력 개요
리눅스 데스크톱의 한국어 입력 개요리눅스 데스크톱의 한국어 입력 개요
리눅스 데스크톱의 한국어 입력 개요Changwoo Ryu
 
The Future of C# and .NET Framework
The Future of C# and .NET FrameworkThe Future of C# and .NET Framework
The Future of C# and .NET Framework명신 김
 
프로그래밍 언어의 F1머신 C++을 타고 Windows 10 UWP 앱 개발의 세계로~
프로그래밍 언어의 F1머신 C++을 타고 Windows 10 UWP 앱 개발의 세계로~프로그래밍 언어의 F1머신 C++을 타고 Windows 10 UWP 앱 개발의 세계로~
프로그래밍 언어의 F1머신 C++을 타고 Windows 10 UWP 앱 개발의 세계로~YEONG-CHEON YOU
 
임베디드시스템개발 Part2
임베디드시스템개발 Part2임베디드시스템개발 Part2
임베디드시스템개발 Part2Minsuk Lee
 
Korean input overview in the linux desktop
Korean input overview in the linux desktopKorean input overview in the linux desktop
Korean input overview in the linux desktopgnomekr
 
[Td 2015]프로그래밍 언어의 f1머신 c++을 타고 windows 10 uwp 앱 개발의 세계로~(유영천)
[Td 2015]프로그래밍 언어의 f1머신 c++을 타고 windows 10 uwp 앱 개발의 세계로~(유영천)[Td 2015]프로그래밍 언어의 f1머신 c++을 타고 windows 10 uwp 앱 개발의 세계로~(유영천)
[Td 2015]프로그래밍 언어의 f1머신 c++을 타고 windows 10 uwp 앱 개발의 세계로~(유영천)Sang Don Kim
 
글로벌소프트웨어개발 V1.0
글로벌소프트웨어개발 V1.0글로벌소프트웨어개발 V1.0
글로벌소프트웨어개발 V1.0KangJin Choi
 
Serverless Programmable Voice
Serverless Programmable VoiceServerless Programmable Voice
Serverless Programmable VoiceMooYeol Lee
 
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템Young Soo Kim
 
강좌 04 펌웨어 구조 설계
강좌 04 펌웨어 구조 설계강좌 04 펌웨어 구조 설계
강좌 04 펌웨어 구조 설계chcbaram
 
C언어강의 발표자료 1강.pptx
C언어강의 발표자료 1강.pptxC언어강의 발표자료 1강.pptx
C언어강의 발표자료 1강.pptxDaniel Shin
 
Assembly 스터디 1
Assembly 스터디 1Assembly 스터디 1
Assembly 스터디 1Jinkyoung Kim
 
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템강 민우
 
HTML5 for web app. development
HTML5 for web app. developmentHTML5 for web app. development
HTML5 for web app. developmentSangJin Kang
 
[170403 2주차]C언어 A반
[170403 2주차]C언어 A반[170403 2주차]C언어 A반
[170403 2주차]C언어 A반arundine
 
아이폰에 포팅해보기
아이폰에 포팅해보기아이폰에 포팅해보기
아이폰에 포팅해보기changehee lee
 

Similar a Chaper24 languages high_and_low (20)

(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍
 
Introduction to Golang v2
Introduction to Golang v2Introduction to Golang v2
Introduction to Golang v2
 
리눅스 데스크톱의 한국어 입력 개요
리눅스 데스크톱의 한국어 입력 개요리눅스 데스크톱의 한국어 입력 개요
리눅스 데스크톱의 한국어 입력 개요
 
The Future of C# and .NET Framework
The Future of C# and .NET FrameworkThe Future of C# and .NET Framework
The Future of C# and .NET Framework
 
System+os study 1
System+os study 1System+os study 1
System+os study 1
 
프로그래밍 언어의 F1머신 C++을 타고 Windows 10 UWP 앱 개발의 세계로~
프로그래밍 언어의 F1머신 C++을 타고 Windows 10 UWP 앱 개발의 세계로~프로그래밍 언어의 F1머신 C++을 타고 Windows 10 UWP 앱 개발의 세계로~
프로그래밍 언어의 F1머신 C++을 타고 Windows 10 UWP 앱 개발의 세계로~
 
임베디드시스템개발 Part2
임베디드시스템개발 Part2임베디드시스템개발 Part2
임베디드시스템개발 Part2
 
Korean input overview in the linux desktop
Korean input overview in the linux desktopKorean input overview in the linux desktop
Korean input overview in the linux desktop
 
[Td 2015]프로그래밍 언어의 f1머신 c++을 타고 windows 10 uwp 앱 개발의 세계로~(유영천)
[Td 2015]프로그래밍 언어의 f1머신 c++을 타고 windows 10 uwp 앱 개발의 세계로~(유영천)[Td 2015]프로그래밍 언어의 f1머신 c++을 타고 windows 10 uwp 앱 개발의 세계로~(유영천)
[Td 2015]프로그래밍 언어의 f1머신 c++을 타고 windows 10 uwp 앱 개발의 세계로~(유영천)
 
글로벌소프트웨어개발 V1.0
글로벌소프트웨어개발 V1.0글로벌소프트웨어개발 V1.0
글로벌소프트웨어개발 V1.0
 
Serverless Programmable Voice
Serverless Programmable VoiceServerless Programmable Voice
Serverless Programmable Voice
 
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
 
강좌 04 펌웨어 구조 설계
강좌 04 펌웨어 구조 설계강좌 04 펌웨어 구조 설계
강좌 04 펌웨어 구조 설계
 
C언어강의 발표자료 1강.pptx
C언어강의 발표자료 1강.pptxC언어강의 발표자료 1강.pptx
C언어강의 발표자료 1강.pptx
 
Assembly 스터디 1
Assembly 스터디 1Assembly 스터디 1
Assembly 스터디 1
 
1 swift 소개
1 swift 소개1 swift 소개
1 swift 소개
 
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
 
HTML5 for web app. development
HTML5 for web app. developmentHTML5 for web app. development
HTML5 for web app. development
 
[170403 2주차]C언어 A반
[170403 2주차]C언어 A반[170403 2주차]C언어 A반
[170403 2주차]C언어 A반
 
아이폰에 포팅해보기
아이폰에 포팅해보기아이폰에 포팅해보기
아이폰에 포팅해보기
 

Más de Kyungryul KIM

Más de Kyungryul KIM (20)

Ch4 pugixml
Ch4 pugixmlCh4 pugixml
Ch4 pugixml
 
Node ch12
Node ch12Node ch12
Node ch12
 
11.scripting
11.scripting11.scripting
11.scripting
 
32 osx app_release
32 osx app_release32 osx app_release
32 osx app_release
 
Meteor ddp
Meteor ddpMeteor ddp
Meteor ddp
 
Cocos2dx 7.1-7.2
Cocos2dx 7.1-7.2Cocos2dx 7.1-7.2
Cocos2dx 7.1-7.2
 
Cocos2 d x-7.3_4
Cocos2 d x-7.3_4Cocos2 d x-7.3_4
Cocos2 d x-7.3_4
 
Cocos2d x-ch5-1
Cocos2d x-ch5-1Cocos2d x-ch5-1
Cocos2d x-ch5-1
 
Coco2d x
Coco2d xCoco2d x
Coco2d x
 
23 drag drop
23 drag drop23 drag drop
23 drag drop
 
Hadoop ch5
Hadoop ch5Hadoop ch5
Hadoop ch5
 
전문검색기술도전
전문검색기술도전전문검색기술도전
전문검색기술도전
 
Nib_NSWindowController
Nib_NSWindowControllerNib_NSWindowController
Nib_NSWindowController
 
Dsas
DsasDsas
Dsas
 
서버인프라를지탱하는기술5 1 2
서버인프라를지탱하는기술5 1 2서버인프라를지탱하는기술5 1 2
서버인프라를지탱하는기술5 1 2
 
Ch22 운영체제
Ch22 운영체제Ch22 운영체제
Ch22 운영체제
 
Mibis ch20
Mibis ch20Mibis ch20
Mibis ch20
 
Mibis ch15
Mibis ch15Mibis ch15
Mibis ch15
 
Mibis ch8
Mibis ch8Mibis ch8
Mibis ch8
 
Mibis ch4
Mibis ch4Mibis ch4
Mibis ch4
 

Chaper24 languages high_and_low