TVM ver. 2.03 최종보고서 www.deu.ac.kr.

Slides:



Advertisements
Similar presentations
Ⅰ. 연산자 Ⅱ. 제어 구조. 연산자 : 할당 연산자 - 사용자가 정의한 변수에 임의의 값을 저장하는 기능 strvar = strVar1+ “ Hello ”
Advertisements

Python Ch.06 RaspberryPi Sejin Oh. Raspberry Pi Python  IDLE(Integrated Development Environment)  라즈베리 파이 배포본들은 일반적으로 파이썬과 파이썬 3 의 IDLE 파 이썬 개발 도구를.
Chapter 12. 배열. 배열  동일한 항목들이 동일한 크기로 연속적으로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는 자료 구조.
6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
수유부의 약물복용 시 주의점 발표자 조기성. 모유 수유의 장점 모유 수유의 장점은 ? 위장관 질환 발생감소 영아 돌연사 발생감소 아토피 질환 발생감소 정서적 안정.
L o g o TVM ver. Beta 설계 제안서 L o g o Contents 프로젝트 개요 1 프로젝트 진행일정 2 프로젝트 목표 3 프로젝트 구성 4.
컴퓨터와 인터넷.
CRC 세미나 <제 61 차> IRB 업무 관련 문서의 이해 3 · 연자 : 김지예
Part 03 상수, 변수, 자료형 ©우균, 창병모 © 우균, 창병모.
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
2015년 하반기 소방교육 자 유 전 공 학 부 (금) 안녕하십니까 자유전공학부 행정실 입니다.
Report #2 - Solution 문제 #1: 다음과 같이 프로그램을 작성하라.
제7강 학습 내용 주소지정 방식의 예 값 즉시 지정 방식과 실행 예 레지스터 직접지정 방식 메모리 직접지정 방식과 실행 예
데이터 파일 C 데이터 파일과 스트림(Stream) 텍스트 파일 처리
어셈블리 문법 보강 4월 10일.
테이블 : 데이터베이스를 구성하는 요소로 같은 성격에 정보의 집합체. 레코드 : 하나의 정보를 가지고 있는 컬럼의 집합체
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
6 반복문의 기본 for 문 여러 번 반복하는 작업은 for 문으로!.
8장 함수 함수의 필요성 라이브러리 함수와 사용자 정의 함수 함수의 정의, 원형, 호출 배열을 함수 인자로 전달 재귀호출.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
C 언어 연습문제 (formatted I/O)
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
DK-128 ADC 실습 아이티즌 기술연구소
DK-128 실습 EEPROM 제어 아이티즌 기술연구소
타이머카운터 사용법 휴먼네트웍스 기술연구소
11 표준 입출력과 파일 입출력 데이터를 읽고 쓰는 다양한 방법 익히기!.
6장. printf와 scanf 함수에 대한 고찰
Tail-recursive Function, High-order Function
ATmega128 FND 실습 휴먼네트웍스 기술연구소
DK-128 FND 실습 아이티즌 기술연구소 김태성 연구원
Microprocessor I/O Port & CLCD Noh Jin-Seok.
C 프로그래밍 C언어 (CSE2035) (Chap11. Derived types-enumerated, structure, and union) (1-1) Sungwook Kim Sogang University Seoul, Korea Tel:
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
어서와 C언어는 처음이지 제14장.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
쉽게 풀어쓴 C언어 Express 제14장 포인터 활용 C Express Slide 1 (of 22)
DK-128 FND 실습 아이티즌 기술연구소
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
연산자 (Operator).
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
DK-128 실습 타이머카운터 사용법 아이티즌 기술연구소
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
2장. 변수와 타입.
보고서 (due 5/8) 다음과 같은 방식으로 문제를 해결하시오. 문제 분석 알고리즘 작성 프로그램 작성 테스트 및 검증
자바 5.0 프로그래밍.
ARM Development Suite v1.2
8주차: Strings, Arrays and Pointers
ATmega128의 특징 아이티즌 기술연구소
치료 레크레이션 프로그램 (지적 장애 대상) 과 목: 학 과: 학 번: 이 름: 제 출 일 자 담 당 교 수:
Canary value 스택 가드(Stack Guard).
2nd day Indexing and Slicing
데이터 동적 할당 Collection class.
에어 PHP 입문.
Excel 일차 강사 : 박영민.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
AT MEGA 128 기초와 응용 I 기본적인 구조.
Homework #12 (1/2) 프로그램을 작성하고, 프로그램과 실행 결과를 프린트하여 제출한다.
Flow Diagram IV While.
ARM Development Suite v1.2
논리회로 설계 및 실험 4주차.
Chapter 10 데이터 검색1.
3.2 분기 명령어.
Chapter 12 파일 입출력.
ARM Development Suite v1.2
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
어서와 C언어는 처음이지 제21장.
Assembly 05 방호남 07 반지훈 09 박상욱.
네이버 쇼핑 입점 신청 시 유의사항 (Ver 1.0).
Presentation transcript:

TVM ver. 2.03 최종보고서 www.deu.ac.kr

Contents 프로그램 개요 1 프로그램 사양 2 프로그램 구성요소 3 프로젝트 구동 4 www.deu.ac.kr

What is TVM? Hot Tip TVM이란 하드웨어를 구성하는 레지스터, 데이터메모리, 코드메모리를 기반으로 가상컴퓨터(Vitual Machine)의 기계어(Machine Language) 인터프리터(Interpreter)를 말한다. www.deu.ac.kr

프로젝트 개요 Hardware 레지스터 코드메모리 하드웨어 레지스터 레지스터는 데이터메모리에 있는 자료들을 입출력하고 연산하는 기능을 함. 코드메모리 코드메모리는 사용자가 정한 명령들이 집합되어있는 장소로 순차적으로 실행되면서 프로그램을 작동시킨다. 데이터메모리 데이터메모리는 데이터가 저장되는 장소로 레지스터와 상호교환 한다. www.deu.ac.kr

프로그램 사양 메모리 정수 문자 코드메모리 100개까지 사용 가능 함 확장하지 않은 이유는 100개 이상 사용할 일이 없다고 판단되었기 때문 정수 정수의 출력범위를 -32768 부터 +32768까지 사용 가능하게 코딩 했음. 문자 Getchar()를 이용하여 문자를 입력받는데, 대소문자 변형 기능을 내장하고 있음. www.deu.ac.kr

프로젝트 구성요소 명령어 Mnemonic 의미 0000 End 프로그램 종료 01DS Load reg[D] = reg[S]   1DM 단, R=0,1,2,3 reg[R] = data[M]; 1DN 단, R=4,5,6,7 reg[R-4] = N + 32768 2SM Store data[M] = reg[S]; 2SN reg[S-4] = M; www.deu.ac.kr

프로젝트 구성요소 명령어 Mnemonic 의미 3R0S ADD reg[D] += reg[S]; 3RN 단, R=4,5,6,7 reg[R-4] += N; 38DS reg[D] += reg[S] (32768을 더하지않음)   4R0S SUB reg[R] -= reg[S]; 4RN 단, R=4,5,6,7 reg[R-4] -= N; 5R0S MUL reg[R] *= reg[S]; 5RN 단, R=4,5,6,7 reg[R-4] *= N; www.deu.ac.kr

프로젝트 구성요소 명령어 Mnemonic 의미 6R0S DIV reg[R] /= reg[S]; 61RS 단, R=4,5,6,7 reg[R-4] /= N; 68XX MOD reg[0] = reg[2] % reg[1];   7RM JUMP reg[R]의 값이 0이면, 명령어의 실행을 code[M]으로 이동; 7RN 단, R=4,5,6,7 reg[R-4] == 32768이면 code[M]으로 이동; 78N if reg[0] != 32768 -> pc = code[pc]; 79N if reg[0] != 0 -> pc = code[pc]; www.deu.ac.kr

프로젝트 구성요소 명령어 Mnemonic 의미 80M JUMP 명령어의 실행을 code[M]으로 이동; 81N PC = N if (reg[0]==reg[1]); 82N PC = N if (reg[0]!=reg[1]); 83N PC = N if (reg[0]<reg[1]); 84N PC = N if (reg[0]<=reg[1]); 85N PC = N if (reg[0]>reg[1]); 86N PC = N if (reg[0]>=reg[1]); www.deu.ac.kr

프로젝트 구성요소 명령어 Mnemonic 의미 910R IN 표준입력으로부터 하나의 정수 n을 읽어서 reg[R]에 저장; reg[R] = n; 911R 표준입력으로부터 하나의 정수를 받음(32768 더하지않음) 920R OUT reg[R]의 값을 출력하기 921R reg[R]의 값 출력하기(32768 빼지 않음) 930R char IN 문자 하나를 reg[R]에 저장; reg[R] = getchar(); 940R char OUT reg[R]에 있는 문자를 출력; cout << reg[R]; 950R PUSH reg[R]의 값을 STACK에 PUSH(저장하기) 970R change IN 문자하나를 대소문자 바꾸어 reg[R]에 저장; reg[R] = getchar(); 980R change OUT reg[R]에 있는 문자를 대소문자 바꾸어 출력; cout << reg[R]; www.deu.ac.kr

프로그램 구동 1 2 3 4 순서뒤집기 N + … + M 합 N의 약수를 출력 숫자들의 최대값 최대값 출력 문자열순서변환 약수 출력 최대값 출력 문자열순서변환 N부터 M까지 합 순서뒤집기 N의 약수를 출력 N + … + M 합 숫자들의 최대값 www.deu.ac.kr

프로그램 구동 문자열 거꾸로출력   00 02 04 06 08 10 12 14 16 18 20 22 24 13 2510 9300 8114 3601 9500 8004 7224 9600 9400 4601 8014 0000 입력 A B C D E F G 출력 G F E D C B A www.deu.ac.kr

프로그램 구동 입력 출력 문자열 거꾸로 대소 변환출력 00 02 04 06 08 10 12 14 16 18 20 22 24   00 02 04 06 08 10 12 14 16 18 20 22 24 13 2510 9300 8114 3601 9500 8004 7224 9600 9800 4601 8014 0000 입력 A B C D E F G 출력 g f e d c b a www.deu.ac.kr

프로그램 구동 최대값  출력   00 02 04 06 08 10 12 14 16 18 2400 9102 7616 4601 9101 8604 0101 8004 9200 0000 입력 5(갯수) 20 40 1000 5 98 출력 1000 www.deu.ac.kr

프로그램 구동 입력 출력 정수를 입력받아 정수의 약수 출력 00 02 04 06 08 10 12 14 16 9 9112   00 02 04 06 08 10 12 14 16 9 9112 0112 6800 7910 9211 4501 7116 8004 0000 입력 12 출력 12 6 4 3 2 1 www.deu.ac.kr

프로그램 구동 입력 출력 처음 입력 값부터 마지막 값까지 출력(내림차순) 00 02 04 06 08 10 2 1 6 1000   00 02 04 06 08 10 2 1 6 1000 1101 9200 4401 7804 0000 입력 10 1 출력 10 9 8 7 6 5 4 3 2 1 www.deu.ac.kr

프로그램 구동 입력 출력 N부터 M까지의 정수의 합 00 02 04 06 08 10 12 14 16 9 9112 9110   00 02 04 06 08 10 12 14 16 9 9112 9110 0112 8114 3501 3821 8006 9212 0000 입력 1 10 출력 55 www.deu.ac.kr

프로그램 구동 입력 출력 문자 대/소문자로 바꾸기 00 02 04 06 08 10 12 7 2510 9300 8112 9800   00 02 04 06 08 10 12 7 2510 9300 8112 9800 8004 0000 입력 i am a boy, I am A boy 출력 I AM A BOY, i AM a BOY www.deu.ac.kr

Click to edit company slogan . www.deu.ac.kr Thank You ! Click to edit company slogan .