[컴퓨터학개론 16]- Assembly Language

2022. 7. 3. 23:02· 학교/컴퓨터학개론
목차
  1. Assembly Language
  2. Assembly Language 
  3. Assembler
  4. BR(branch)
  5. pseudo operation [의사 동작]
  6. Selection : 결정연산
  7. Iteration [반복]

Assembly Language

 

Assembly Language 

  • 기계어 명령어를 숫자가 아니라 , 영어 단어로 표현

Assembler

  • 사람이 이해하기 쉽게 만든 영어 단어-> 컴퓨터가 이해하기 쉬운 기계어 명령으로 변환해줌.
사람은 기계어가 어려움. -> 어셈블리 언어를 통해서 영어로 표현함.
하지만 영어는 컴퓨터가 불편함. -> 따라서 그 영어를 2진수로 바꿔주는 역할(Assembler)이 필요하다.

 

Pep/8 Assembly Language

 i : immediate addressing mode 

d :  direct addressing mode

 

 

A new Program 

  • 3개의 수를 일겅서 그 합을 출력하는 프로그램을 작성
    • X+Y+Z
    • load 0 -> sum 초기화
    • add X
    • add Y
    • add Z
    • store

BR(branch)

  • 해당 메모리 주소로 jump
  • pc값을 변경

pseudo operation [의사 동작]

  • 진짜 명령은 아니지만, 명령과 비슷
  • 주로 데이터 저장에 사용
  • Label : 해당 위치의 address를 의미

 

BLOCK 2라서 2byte를 차지함.

 

 

Selection : 결정연산

  • BR프로그램을 선택적으로 수행하는 방법?
    • PC의 값을 바꾸면 가능하다.
    • BRLT [Branch Less than] 누산기 A <0 -> set PC
    • BREQ [Branch Equal] 누산기 A ==0 -> set PC

 

  • PC : BRLT 명령의 위치
  • BRPL 명령을 가져온 후
  • PC <- 다음 명령 STA위치
    • A <0
      • PC <- NegMsg위치
      • 다음 명령 : CHARO를 수행
    • A <0이 아닌 경우
      • PC: 현재 상태를 유지
      • 다음 명령 STA를 수행

Iteration [반복]

정해진 개수만큼 수를 읽어 그 합을 구하는 프로그램을 작성한다.
  • 값은 몇 개인가?
  • 이 값은 어디에서 읽었는가?
  • 반복해서 읽고 합하는 과정이 필요할 것
  • 다 끝 낫는지는 어떻게 판별?

loop를 통해서 limit 설정, 숫자를 입력할 때마다 count를 늘려줘서 limt와 count를 CPA 때려줌. 

두 값의 차이가 누산기에 저장됨. 

BREQ 해서 0이면 quit --> 끝

 

어셈블러는 어셈블리어를 기계가 알아들을 수 있는 기계어로 바꿔주며 1대 1 매칭 되는 것이 특징이다.
저작자표시

'학교 > 컴퓨터학개론' 카테고리의 다른 글

[컴퓨터학개론 18장] - prov solving  (0) 2022.07.04
[컴퓨터 학개론 17장] - Expressing Alogorithms  (0) 2022.07.04
[컴퓨터학개론 15장]- Machine Language  (0) 2022.07.03
[컴퓨터학개론 14장] - stored program  (0) 2022.07.03
[컴퓨터학개론 13장] - 컴퓨터 구성요소  (0) 2022.07.03
  1. Assembly Language
  2. Assembly Language 
  3. Assembler
  4. BR(branch)
  5. pseudo operation [의사 동작]
  6. Selection : 결정연산
  7. Iteration [반복]
'학교/컴퓨터학개론' 카테고리의 다른 글
  • [컴퓨터학개론 18장] - prov solving
  • [컴퓨터 학개론 17장] - Expressing Alogorithms
  • [컴퓨터학개론 15장]- Machine Language
  • [컴퓨터학개론 14장] - stored program
재한
재한
안녕하세요 💻
재한
짜이한
전체
오늘
어제
  • 분류 전체보기 (501)
    • Skils (115)
      • Android (49)
      • C++ (5)
      • Kotlin (36)
      • Algorithm (24)
      • Server (1)
    • CodingTest (228)
      • Programmers (45)
      • Baekjoon (183)
    • Experience (8)
      • 후기(코딩테스트,프로그램,프로젝트) (8)
    • Computer Science (70)
      • Design Pattern (2)
      • OOP (2)
      • Computer Architecture (14)
      • OS (2)
      • Software Engineering (3)
      • DataBase (8)
      • Network (39)
    • 학교 (75)
      • R프로그래밍 (26)
      • 회계와 사회생활 (17)
      • 컴퓨터학개론 (20)
      • it기술경영개론 (12)

블로그 메뉴

  • 홈
  • 태그
  • 카테고리
  • 글쓰기
  • 설정

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
재한
[컴퓨터학개론 16]- Assembly Language
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.