본문 바로가기

분류 전체보기377

Introduction to Theory of Computation 2장_7,8 정리/설명 Introduction to Theory of Computation 2장_7,8 정리/설명 **정규식은 패턴을 의미하는 것. (0∪1) 01* : 첫 글자는 0 또는 1이 나와야 하며, 두 번째 글자는 0, 그 이후로는 1이 0번 이상 연속되는 string을 의미한다. - 피연산자 : 0, 1 - symbols - 연산자 : ∪(또는), *, 각각에 붙어 있는 글자들의 concatenation 연산 (ex) 00, 10, 001, 101, 001111 etc. Q. The language {w : w contains exactly two 0s} is described by the expression. A. 1*01*01* >> 0이 정확히 두 개만 존재해야 하기 때문에 두 개의 0의 맨 앞/중간/맨 뒤에.. 2019. 10. 10.
Introduction to Theory of Computation 2장_6 정리/설명 Introduction to Theory of Computation 2장_6 정리/설명 - Retular Operation의 폐쇄성 - Theorem 2.6.1 Union 연산에 대한 폐쇄성 같은 알파벳 ∑에 대한 A1과 A2가 regular language라면 A1∪A2도 regular language이다. (설명) 위쪽의 네모 박스를 M1, 아래쪽의 네모 박스를 M2라고 두고, 각각의 M1, M2가 합집합 연산을 하기 위해서는 q0라는 start state에서 ε을 입력받아서 M1, M2 양쪽으로 갈 수 있는 NFA M을 만든다. (※ ε 심벌을 통해서 입력값에 영향을 받지 않도록 한다.) Theorem 2.6.2 Concatenation 연산에 대한 폐쇄성 같은 알파벳 ∑에 대한 A1과 A2가 re.. 2019. 10. 10.
Introduction to Theory of Computation 2장_4,5 용어/개념정리 Introduction to Theory of Computation 2장_4,5 용어/개념 정리 : Nondeterministic Finite Automata. 여태 보았던 DFA Diagram과 다른 점 세 가지가 있을 것이다. 1. q₁으로 가는 옵션이 0과 1 두 가지가 있다. 2. q₂에서 q₃로 가는 symbol 중에서 λ(empty string)가 보인다. 3. q₃에서 symbol 0을 읽지 못한다. (※ λ란? empty string, 길이가 0인 문자열 // 공집합과는 다름. ) 위의 State Digram에서 010110을 Input 한 다음의 트리 구조를 봐보자. **이제부터 q₁, q₂, q₃, q₄를 1,2,3,4로 쉽게 나타낼 것임. >> accept string은 '11', '.. 2019. 9. 29.
Introduction to Theory of Computation 2장_1,2,3 용어/개념정리 Introduction to Theory of Computation 2장_1,2,3 용어/개념정리 Chapter 2. Finite Automata and Regular Languages p.30 자판기 오토마타 설명 p.31 q₁ : start state q₂ : accept state (ex) 1101은 accept 된다. / 000110은 reject 된다. >> w : 1로 끝나는 스트링은 accept 된다. / 0이 짝수개가 나오는 스트링은 accept 된다. : Deterministic Finite Automata (정의) A dif is a 5-tuple M = (Q, ∑, δ, q, F) //원소가 5개인 순서쌍 - Q : set of states / 유한 상태의 집합 - ∑ : alphab.. 2019. 9. 29.
[리버싱] MOV와 LEA의 차이 MOV와 LEA의 차이 먼저 MOV와 LEA의 기능부터 알고 가보면 아래 내용과 같다. 1) MOV - 형식 : MOV dest, src - 기능 : src위치에 있는 데이터를 복사하여 dest위치에 저장 - 원칙 1) 메모리와 레지스터 사이의 데이터 이동. 2) 레지스터와 레지스터, 값을 레지스터나 메모리에 대입할 때 사용. 3) src와 dest의 크기가 같아야 함. 2) LEA - 형식 : LEA dest, src - 기능 : src오퍼랜드에서 지정된 주소를 dest로 로드 - 원칙 1) src의 오퍼랜드는 메모리에 위치해야 함. 2) mov와 비교하여 메모리 주소 표현 및 레지스터에 대한 직접적인 연산이 가능. 핵심은 제2연산자, 즉 src에 대한 추가 연산 방식이 다르다는 것이다. MOV AX,.. 2019. 9. 17.
[리버싱] 어셈블리 명령어 종류 먼저 명령어는 연산자(Operator)라고도 불리며, 명령어에 따라 오퍼랜드 개수가 다르다. (ex) MOV EAX, val1 명령어 연산자 1, 연산자 2 명령어의 분류 1) 데이터의 이동 : MOV, LEA 2) 논리, 연산 : ADD, SUB, DEC, INC 3) 흐름 제어 : cmp, jmp 4) 프러시저 : call, ret 5) 스택 조작 : push, pop 6) 인터럽트 : int 1) 데이터 이동 1.MOV - 형식 : MOV dest, src - 기능 : src위치에 있는 데이터를 복사하여 dest위치에 저장 - 원칙 1) 메모리와 레지스터 사이의 데이터 이동. 2) 레지스터와 레지스터, 값을 레지스터나 메모리에 대입할 때 사용. 3) src와 dest의 크기가 같아야 함. **mov.. 2019. 9. 17.