ARM Reverse Engineering

Size: px
Start display at page:

Download "ARM Reverse Engineering"

Transcription

1 Facebook

2

3 - First Phase About ARM ARM Operating Mode and Registers Basic ARM Instruction Thumb Mode - Second Phase Configuration of Reverse Engineering Function Calling Convention Analysis C Syntax to ARM Assembly Real world Example #1 for third party app Real world Example #2 for Default Browser Reference

4 ARM CPU 의동작모드 ARM CPU 의 Register 와용도 자주사용되는 ARM Instruction 습득 ARM CPU 만의특징파악 ARM Assembly 예제

5 ARM is Advanced RISC Machine 32비트의명령어로구성되어있음. (ARM 서버용으로 64비트출시됨 ) RISC는명령어가 CISC보다간단하고, 수가적음. (x86 계열은 CISC 사용 ) ARM Core? ARM Processor? ARM Architecture / Processor 종류 Architecture v4 v5te v5tej v6 v7 Processor ARM7TDMI, ARM720T, ARM940T, ARM920T, ARM922T ARM946E-S, ARM926E-S, Xscale ARM926EJ-S ARM1136JF-S Cortex A, M, R T : Thumb, D : Debug Port (JTAG), M : 8 비트곱셈기, I : Break Point 나 Watch Point 설정가능, D 와사용. -E : DSP 연산명령어추가, -S : VHDL, Verilog 로회로도가제공됨. -J : Java Byte code 해석가능.

6 ARM Operating Modes Mode 설명 Supervisor(SVC) Reset 이나 SWI 명령이실행될때 Privileged mode FIQ IRQ Abort Undefined System Fast Interrupt가발생되었을때일반적인 Interrupt가발생되었을때 Data 나 instruction fetch에실패할때정의되지않은 instruction일때 User 모드와같지만, 특권모드임 User 응용프로그램이나 OS 실행할때 Unprivileged mode Privileged mode 에선 Interrupt 의사용유무설정가능 Privileged mode 에선서로변경이자유롭지만, Unprivileged mode 에선변경이불가능함.

7

8 Example #1 User mode MOV R8, #1 MOV R9, #2 FIQ 발생 FIQ Mode MOV R8, #0 MOV R9, #0 ADD R10, R8, R9 복귀 R10 에저장되는값은?

9 R0 ~ R12 : 일반연산및임시저장장소등으로사용. R13 Stack Pointer (SP) 동작모드별로별도로존재함. R14 Link Register (LR) 함수호출시리턴될주소를가지고있음 동작모드별로별도로존재함. 스택에접근해서 Return Address 에접근하는것은레지스터보다상대적으로느림. R15 Program Counter (PC) 다음에실행될명령어를가지고메모리로부터가지고옴. 모드별로별도로존재하지않고, 하나의 R15 레지스터만존재함. CPSR Program Status Register (CPSR) Mode 가변경되면 H/W 적으로변경되기전의 CPSR 이 SPSR(Saved ) 에저장됨. User/System Mode 를제외하고각모드마다하나씩존재함.

10 CPSR Register 구조 N Z C V Q J Reserved I F T M Flag Field Status Field Extension Field Control Field Flag Field Control bits Mode bits N 연산결과가마이너스인경우에 set I 1 인경우 : IRQ 비활성화 User Z 연산결과가 0 인경우에 set F 1 인경우 : FIQ 비활성화 System C 연산결과에자리올림이발생했을때 set T 1 인경우 : Thumb, 0 인경우 : ARM FIQ V 연산결과가 overflow 됐을경우 set IRQ Q 포화가발생되면 set, 반드시 clear SVC J 자바바이트코드실행상태 Abort Undefined

11 32bit ARM Instruction 구분 1 분기명령 B, BL 명령어 2 데이터연산명령 ADD, ADC, SUB, SBC, RSB, RSC, AND, ORR, BIC, MOV, MVN, CMP, CMN, TST, TEQ 3 Multiply 명령 MUL, MLA, SMULL, SMLAL, UMULL, UMLAL 4 Load/Store 명령 LDR, LDRB, LDRBT, LDRH, LDRSB, LDRSH, LDRT STR, STRB, STRBT, STRH, STRT 5 Load/Store Multiply 명령 LDM, STM 6 Swap 명령 SWP, SWPB 7 Software Interrupt 명령 SVC ( 기존 SWI 에서변경 ) 8 PSR 전송명령 MRS, MSR 9 Co-Processor 명령 MRC, MCR, LDC, STC 10 Branch Exchange 명령 BX 11 ARM Architecture 별로명령어들이추가존재.

12 MOV R0, #31337 MOV R0, R1 Op-code Destination Register Source Register ARM 은메모리내에직접데이터를쓰거나, 가져올수없음! 특정명령을통해메모리값을레지스터에가져오거나, 레지스터값을메모리에써야함. (LDR, STR 명령어 ) 이것은 RISC 구조의대표적인특징이고, Load/Store 구조라함. 또한, 32 비트상수값은 Operand 로사용할수없음.

13 조건부실행 {<cond>} 파이프라인구조를가지는 CPU의지연을줄이기위한것. 명령어의조건필드와 CPSR Register의 N, Z, C, V값을비교하여수행됨. 접미사 CPSR Flag 의미 EQ Z Flag set 같다. NE Z Flag Clear 같지않다. CS C Flag Set 크거나같다.(unsigned) CC C Flag Clear 작다 (unsigned) MI N Flag Set 음수 PL N Flag Clear 양수또는 0 VS V Flag Set 오버플로우발생 VC V Flag Clear 오버플로우 X HI C Flag Set, Z Flag Clear 크다.(Unsigned) LS C Flag Clear 작다.(Unsigned) GE N Flag = V Flag 크거나같다. LT N Flag!= V Flag 작다 GT Z Flag Clear AND (N = V) 크다 LE Z Flag Set OR (N!= V) 작거나같다 AL Ignore 무조건실행

14 산술연산명령어형식 Operation{<cond>} {s} Rd Rn Operand2 Operation ADD, SUB, ADC, 등 {<cond>} 조건부실행을위한조건 {s} 연산결과로부터 CPSR Register의 Flag를 set 함. Rd Destination Register Rn Source Register 산술연산명령어예제 ADD R0, R1, R2 R1 과 R2 을더하여 R0 에저장. SUBEQ R0, R1, #8 EQ조건이면, R2에서 8을빼서, R0에저장하고, 결과에따라 CPSR Flag를설정함. ADDS R1, R2, R0 R2 과 R0 를더하여 R1 에저장하고, 결과에따라 CPSR Flag 를설정함.

15 논리연산명령어형식 Operation{<cond>} {s} Rd Rn Operand2 Operation AND, ORR, EOR, BIC {<cond>} 조건부실행을위한조건 {s} 연산결과로부터 CPSR Register의 Flag를 set 함. Rd Destination Register Rn Source Register 논리연산명령어예제 AND R0, R1, R2 R1 과 R2 을 AND 연산하여 R0 에저장. ANDEQS R0, R1, R2 EQ 조건이면, R1 과 R2 를 AND 연산하여 R0 에저장하고, 결과에따라 CPSR Flag 를설정함. BICLE R1, R2, R0 LE 조건이면, R2 와 R0 를 XOR 하고결과를 R1 에저장.

16 비교명령어형식 Operation{<cond>} Rn Operand2 Operation CMN, CMP, TEQ, TST {<cond>} 조건부실행을위한조건 Rn Source Register Destination Register 가존재하지않음. CPSR Flag 를설정하기위한명령이없어도항상설정함. 비교명령어예제 CMP R0, R1 R1 과 R2 를비교하여, 그결과로 CPSR 에 Flag 설정. TSTEQ R2, #8 EQ 조건이면, R2 와 #8 을비교후, 결과로 CPSR Flag 설정. CMN LE 조건이면, R2 와 R0 를 XOR 하고결과를 R1 에저장.

17 MOVE 명령어형식 Operation MOV, MVN {<cond>} 조건부실행을위한조건 Rd Destination Register Operation{<cond>} Rd Operand2 Source Register 가존재하지않음. MOV R0, R1 R1 을 R0 로옮긴다. 비교명령어예제 MOVLE R0, R2 LE 조건이면, R2 를 R0 로옮긴다. MVN R0, R2 R2 XOR 0xFFFFFFFF 한값을 R0 에옮긴다. (Negative 로변경 )

18 분기명령어형식 B{L} {cond} <expression> {L} Branch with link 로 R14 에 PC 값을저장함. {<cond>} 조건부실행을위한조건 <expression> 위치정보 비교명령어예제 BL somewhere Somewhere로분기, LR에돌아올주소저장. ( 함수호출에사용 ) 함수호출후, 되돌아갈때, MOV PC, LR 사용함. B somewhere Somewhere 로분기 BL somewhere+1 계산된위치로분기. CMP R1, #0 BEQ success R1 이 0 이면 (EQ 조건이면 ) success 로분기.

19 데이터전송명령어형식 Pre-index 방식 LDR STR {cond} {B} Rd [Rn, <offset>] {!} {cond} 조건부실행을위한조건 {B} Unsigned Byte 단위의 Access 를할때사용됨. Rd LDR 의경우 Destination Register 가되고, STR 의경우 Source Register 로사용됨. Rn Base Register 로사용됨. Offset 12 비트상수또는레지스터가올수있음. {!} Pre-Index 방식에서 Base Register 값을자동으로업데이트할때사용됨. 데이터전송명령어형식 Pre-index 방식 LDR R1, [R2, R4] R2+R4 위치에서데이터를워드만큼읽어서, R1 에저장. LDR R1, [R2, R4]! R2+R4 위치에서데이터를워드만큼읽어서, R1 에저장. 전송후, R2 의값은 R2+R4 값으로변경됨. STR R1, [R2, R4] R1 값을 R2+R4 위치에워드만큼저장함. LDR R1, [R2, #8] R2+8 위치에서워드만큼읽어서 R1 에저장함.

20 데이터전송명령어형식 Post-index 방식 LDR STR {cond} {B} {T} {cond} 조건부실행을위한조건 {B} Unsigned Byte 단위의 Access 를할때사용됨. {T} 데이터전송시에 Unprivileged mode 로전송함. Rd LDR 의경우 Destination Register 가되고, STR 의경우 Source Register 로사용됨. Rn Base Register 로사용됨. Offset 12 비트상수또는레지스터가올수있음. Rd Rn offset 데이터전송명령어형식 Post-index 방식 LDR R1, [R2], #4 R2에서워드만큼읽어서 R1에저장후, R2+4값으로 R2 변경함. LDR R1, [R2], R4 R2에서워드만큼읽어서 R1에저장후, R2+R4 값으로 R2 변경함. STR R1, [R2], R4 R1 값을 R2 위치에워드만큼저장후, R2+R4 값으로 R2 변경함.

21 데이터전송명령어형식 PC-Relative 방식 LDR {cond} 조건부실행을위한조건 {size} Unsigned Byte 단위의 Access 를할때사용됨. Rd Destination Register. Label PC 위치에서 4K byte 내에있는 Label 참조 =DATA 32 비트데이터를레지스터에쉽게넣기위한어셈블러기능. LDR R1, label label: DCD 0xdeadbeef {cond} {size} Rd 데이터전송명령어형식 PC-Relative 방식 Label 위치에서데이터 0xdeadbeef 를워드만큼읽어서, R1 에저장. LDR R1, =0xdeadbeef 데이터 0xdeadbeef 를 R1 에저장한다. Label =DATA

22 다중데이터전송명령어형식 STM {cond} 조건부실행을위한조건 {addressing mode} 어드레스를만드는방법을나타냄. Rn Base Register 로이위치로부터데이터가저장.! 데이터전송후, Base Register 를변경한다. {register_list} 저장할데이터를가지고있는레지스터. {cond} <addressing mode> Rn{!} <register_list> 다중데이터전송명령어형식 STMIA R0, {R1,R2,R3} R1,R2,R3 데이터를 R0 위치부터저장함. STMIA R0!, {R1,R2,R3} R1,R2,R3 데이터를 R0 위치에저장하고, R0 값에 12 가더해짐. 12 = R1(4) + R2(4) + R3(4)

23 다중데이터전송명령어형식 LDM {cond} 조건부실행을위한조건 {addressing mode} 어드레스를만드는방법을나타냄. Rn Base Register 로이위치로부터데이터가읽혀짐.! 데이터전송후, Base Register 를변경한다. {register_list} 저장할데이터를가지고있는레지스터. ^ Privileged mode 에서 CPSR 를복원. {cond} <addressing mode> Rn{!} <register_list>^ 다중데이터전송명령어형식 LDMIA R0, {R1,R2,R3} R0 위치에서데이터를차례대로읽은후, 각각 R1, R2,R3 에저장. LDMIA R0!, {R1,R2,R3} R0 위치에서데이터를차례대로읽은후, 각각 R1, R2, R3 에저장, 그후, R0 에 R1(4)+R2(4)+R3(4) 가증가. LDMIA R0, {R0-R7} R0 위치에서데이터를읽은후, R0~R7 까지각각저장. LDMIA R0!, {R0-R2, PC} R0 위치에서데이터를읽은후, R0~R2 까지그리고 PC 에저장.

24 ARM<->Thumb mode 명령어 (Inter-working) BLX {cond} Rm {cond} 조건부실행을위한조건 Rm 분기하고자하는주소정보와변환하고자하는상태정보가저장. Label PC-relative 방식으로분기, 반드시조건없이사용해야하고, 무조건 Thumb 로전환됨. BLX Label Inter-working 명령어형식 BLX thumb_func thumb_func로분기하고, Thumb mode로전환하고 R14 Register에돌아올주소저장. BLXEQ R0 EQ조건이면, R0가지정하는위치로분기하고, 상태정보에따라 상태를전환하고, R14 Register에돌아올주소저장.

25 Software Interrupt 명령어형식 SVC {cond} <expression> {cond} 조건부실행을위한조건 <expression> 인터럽트번호 Software Interrupt 명령어형식 SWI 0x80 CPSR을 SPSR_svc에저장후, PC를 0x08(SWI의예외처리 Handler) 로분기후, 0x80을보고정의된동작실행.

26 ARM<->Thumb mode 명령어 (Inter-working) BLX {cond} <addressing mode> Rn{!} <register_list>^ {cond} 조건부실행을위한조건 Rm 분기하고자하는주소정보와변환하고자하는상태정보가저장. Label PC-relative 방식으로분기, 반드시조건없이사용해야하고, 무조건 Thumb 로전환됨. Inter-working 명령어형식 BLX thumb_func thumb_func로분기하고, Thumb mode로전환하고 R14 Register에돌아올주소저장. BLXEQ R0 EQ조건이면, R0가지정하는위치로분기하고, 상태정보에따라 상태를전환하고, R14 Register에돌아올주소저장.

27 .global _start _start: MOV r0, #1 MOV r1, pc ADD r1, #24 MOV r2, #13 MOV r7, #4 SVC 1 SUB r0, r0, r0 MOV r7, #1 SVC 1.ascii "Hello NetSec\n"

28 Thumb mode 도입이유 기존 ARM 명령을사용하여만들어진바이너리보다크기가약 75% 적음. (Thumb-2) 크기가적어지면, Flash나 Rom 같은저장장치의단가를줄일수있음. 16비트메모리인터페이스를사용하면, 가격과전력소모를줄일수있음. ARM Mode Thumb Mode 명령어크기 32bit 16bit 사용 Register 수 R0~R15 R0~R7 조건부실행가능 가능 불가 실행파일크기 100% 65%

29 .global _start _start:.code 32 ADD r3, pc, #1 BX r3.code 16 MOV r0, pc ADD r0, #10 STR r0, [sp, #4] ADD r1, sp, #4 SUB r2, r2, r2 MOV r7, #11 SVC 1.ascii "/system/bin/sh"

30 Crackme.apk

31 APK-Multi-Tool 을이용해디컴파일

32 APK 안에있던 JNI 파일추출. IDA 를이용하면, 함수이름보여짐. 함수명 : Java_com_app_crackme_MainActivity_CreateSerial

33

34 Clear!

35 ARM Based Android Device 에서 Test 환경구성 ARM Assembly 로보는 C 언어함수호출규약파악 자주사용되는 C 언어문법형태파악. Webkit One-day 취약점분석

36 Test Device/OS : Samsung Galaxy S3 / Android Host OS : Ubuntu Cross Compiler : Android-NDK-r8d Android Debugger : Android-SDK

37 NDK : NDK 안의 arm-android toolchain 설치

38 설치된 Toolchain 을이용한 ARM 예제컴파일방법

39 설치된 Toolchain 을이용한 Thumb 예제컴파일방법

40 ARM Mode 결과 Thumb Mode 결과

41 컴파일된바이너리를 adb 를이용해 test device 에업로드후실행.

42 인자가 4 개인경우 인자가 4 개이상인경우 Register R0 R1 R2 R3 R7 용도 1 번째인자 / 함수반환값 2 번째인자 3 번째인자 4 번째인자 Syscall 번호 4 개이상의인자를사용하면, 스택을사용함.

43 If-else 구문

44 Switch 구문

45

46

47 Target Third Party Application 목적 : Android App 에대한동적디버깅예제. 사용 Tool : gdb, gdbserver

48 Target Application 목적 : Android App 에대한취약성점검 사용 Tool : gdb, gdbserver, IDA

49

50 1. ARM Architecture Reference Manual ARMv7-A and ARMV7-R / arm.com 2. ARM 으로배우는임베디드시스템 / 안효복저 / 한빛미디어

Microsoft Word - 1. ARM Assembly 실습_xp2.doc

Microsoft Word - 1. ARM Assembly 실습_xp2.doc ARM asm 의구조 ARM Assembly 실습 1. 기본골격 AREA armex,code, READONLY ;Mark first instruction to execute start MOV r0, #10 MOV r1,#3 ADD r0, r0, r1 ; r0 = r0 + r1 stop NOP NOP B stop ; Mark end of file 위의 asm의구조를이해하고실행해보세요.

More information

Microsoft PowerPoint - 05-ARM-Instruction-Set.ppt

Microsoft PowerPoint - 05-ARM-Instruction-Set.ppt ARM 명령어집합 임베디드시스템소프트웨어 I 내용 ARM 구조 프로세서수행모드 레지스터구조 예외처리과정 ARM 명령어형식 조건수행접미사 데이터처리명령어 곱셈명령어 Load/Store 명령어 다중레지스터 Load/Store 스택명령어 SWI 명령어 Branch 명령어 상태레지스터접근명령어 명령어요약 ARM 명령어집합 2 ARM 구조특징 모든명령어가 32bit

More information

Microsoft PowerPoint - LN_1_ARM_CPU_0.ppt [호환 모드]

Microsoft PowerPoint - LN_1_ARM_CPU_0.ppt [호환 모드] 프로젝트 1 1 ARM CPU Architecture 단국대학교컴퓨터학과 2009 백승재 ibanez1383@dankook.ac.kr k k http://embedded.dankook.ac.kr/~ibanez1383 강의목표 2 ARM 종류와특징및최신동향파악 ARM CPU Architecture 이해 ARM Assembly 숙지 ARM 3 ARM? Advanced

More information

q ARM (Advanced RISC Machines) v 1990년설립 v UK-based joint venture Ø Apple Computer, Acorn Computer Group, and VLSI Technology q 32-bit RISC Intellectu

q ARM (Advanced RISC Machines) v 1990년설립 v UK-based joint venture Ø Apple Computer, Acorn Computer Group, and VLSI Technology q 32-bit RISC Intellectu ARM 아키텍쳐 - ARM 아키텍쳐 - Programming 모델 - ARM 프로세서명령어 - 예외처리와시스템리셋 - ARM9TDMI 프로세서 q ARM (Advanced RISC Machines) v 1990년설립 v UK-based joint venture Ø Apple Computer, Acorn Computer Group, and VLSI Technology

More information

ARM 아키텍쳐 - ARM 아키텍쳐 - Programming 모델 - ARM 프로세서명령어 - 예외처리와시스템리셋 - ARM9TDMI 프로세서 한국기술교육대학교 전기전자통신공학부 장영조 한국기술교육대학교임베디드 SOC 설계및실습

ARM 아키텍쳐 - ARM 아키텍쳐 - Programming 모델 - ARM 프로세서명령어 - 예외처리와시스템리셋 - ARM9TDMI 프로세서 한국기술교육대학교 전기전자통신공학부 장영조 한국기술교육대학교임베디드 SOC 설계및실습 ARM 아키텍쳐 - ARM 아키텍쳐 - Programming 모델 - ARM 프로세서명령어 - 예외처리와시스템리셋 - ARM9TDMI 프로세서 한국기술교육대학교 전기전자통신공학부 장영조 한국기술교육대학교임베디드 SOC 설계및실습 ARM (Advanced RISC Machines) v 1990년설립 v UK-based joint venture Ø Apple Computer,

More information

Here is a "PLDWorld.com"... // EXCALIBUR... // Additional Resources // µc/os-ii... Page 1 of 23 Additional Resources: µc/os-ii Author: Source: HiTEL D

Here is a PLDWorld.com... // EXCALIBUR... // Additional Resources // µc/os-ii... Page 1 of 23 Additional Resources: µc/os-ii Author: Source: HiTEL D Page 1 of 23 Additional Resources: µc/os-ii Author: Source: HiTEL Digital Sig Date: 2004929 µ (1) uc/os-ii RTOS uc/os-ii EP7209 uc/os-ii, EP7209 EP7209,, CPU ARM720 Core CPU ARM7 CPU wwwnanowitcom10 '

More information

Embedded System

Embedded System 컴퓨터시스템구조론 (3 장 ) Taehyoun Kim Dept. of Mechanical & Information Engineering, University of Seoul Outline 간단한컴퓨터 (Basic Computer) 를이용한어셈블리이해 어셈블리프로그램기본구조 ARM 어셈블리어 간단한컴퓨터를이용한어셈블리이해 어셈블리어란? 프로그램 (Program)

More information

hlogin2

hlogin2 0x02. Stack Corruption off-limit Kernel Stack libc Heap BSS Data Code off-limit Kernel Kernel : OS Stack libc Heap BSS Data Code Stack : libc : Heap : BSS, Data : bss Code : off-limit Kernel Kernel : OS

More information

T100MD+

T100MD+ User s Manual 100% ) ( x b a a + 1 RX+ TX+ DTR GND TX+ RX+ DTR GND RX+ TX+ DTR GND DSR RX+ TX+ DTR GND DSR [ DCE TYPE ] [ DCE TYPE ] RS232 Format Baud 1 T100MD+

More information

INTRO Basic architecture of modern computers Basic and most used assembly instructions on x86 Installing an assembly compiler and RE tools Practice co

INTRO Basic architecture of modern computers Basic and most used assembly instructions on x86 Installing an assembly compiler and RE tools Practice co Basic reverse engineering on x86 This is for those who want to learn about basic reverse engineering on x86 (Feel free to use this, email me if you need a keynote version.) v0.1 SeungJin Beist Lee beist@grayhash.com

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 1. data-addressing mode CHAPTER 6 Addressing Modes 2. use of data-address mode to form assembly language statements 3. op of program memory address mode 4. use of program memory address mode to form assembly

More information

(1) 주소지정방식 Address Mode 메모리접근 분기주소 명령어 직접번지 Reg. 지정 Reg. 간접 Base Index 간접 Immediate 상대번지 절대번지 Long 주소 Reg. 간접 Byte Access Bit Access 내부 Data M

(1) 주소지정방식 Address Mode 메모리접근 분기주소 명령어 직접번지 Reg. 지정 Reg. 간접 Base Index 간접 Immediate 상대번지 절대번지 Long 주소 Reg. 간접 Byte Access Bit Access 내부 Data M (1) 주소지정방식 Address Mode 메모리접근 분기주소 2. 8051 명령어 직접번지 Reg. 지정 Reg. 간접 Base Index 간접 Immediate 상대번지 절대번지 Long 주소 Reg. 간접 Byte Access Bit Access 내부 Data Memory 외부 Data Memory (2) 명령어세트 - 8051 명령어는 5 가지로분류,

More information

untitled

untitled 9 hamks@dongguk.ac.kr : Source code Assembly language code x = a + b; ld a, %r1 ld b, %r2 add %r1, %r2, %r3 st %r3, x (Assembler) (bit pattern) (machine code) CPU security (code generator).. (Instruction

More information

임베디드 시스템 구조

임베디드 시스템 구조 ARM 프로세서요약 www.dignsys.com Contents 1. 임베디드시스템의구조 2. 임베디드시스템의개발 3. ARM 아키텍처 4. ARM 프로세서의구조 5. ARM 프로세서명령어 6. Cached ARM 7. 임베디드소프트웨어개발 8. S3C2410 및실습용보드의이해 9. 디바이스제어 1 프로세서의구조 레지스터 (Register) 산술논리연산장치

More information

9

9 9 hamks@dongguk.ac.kr : Source code Assembly language code x = a + b; ld a, %r1 ld b, %r2 add %r1, %r2, %r3 st %r3, x (Assembler) (bit pattern) (machine code) CPU security (code generator).. (Instruction

More information

온라인 IT 교육최강 ( 강의정보처리필기강사조대호 차시명 [CA-06 강 ] 프로세서와명령어차시 6 차시 학습내용 프로세서와명령어 학습목표 컴퓨터의구조와프로세서에대해이해할수있다 컴퓨터의명령어에대해이해할수있다 학습내용 1. 컴퓨터의구성 - 1

온라인 IT 교육최강 (  강의정보처리필기강사조대호 차시명 [CA-06 강 ] 프로세서와명령어차시 6 차시 학습내용 프로세서와명령어 학습목표 컴퓨터의구조와프로세서에대해이해할수있다 컴퓨터의명령어에대해이해할수있다 학습내용 1. 컴퓨터의구성 - 1 강의정보처리필기강사조대호 차시명 [CA-06 강 ] 프로세서와명령어차시 6 차시 학습내용 프로세서와명령어 학습목표 컴퓨터의구조와프로세서에대해이해할수있다 컴퓨터의명령어에대해이해할수있다 학습내용 1. 컴퓨터의구성 - 1 - 2. 중앙처리장치 (Central Processing Unit) 주기억장치에기억된명령을꺼내서해독하고, 시스템전체에지시신호를내는장치명령코드가명령을수행할수있게필요한제어기능을제공제어장치의구성

More information

Microsoft PowerPoint - 강의2.ppt

Microsoft PowerPoint - 강의2.ppt Chap 2. Embedded Processors 서경대학교컴퓨터공학과교수이광엽 kylee@skuniv.ac.kr Embedded Processors Embedded processors 발전 Microprocessors 발전 better fabrication technology standalone microcontrollers integrated processors

More information

Deok9_Exploit Technique

Deok9_Exploit Technique Exploit Technique CodeEngn Co-Administrator!!! and Team Sur3x5F Member Nick : Deok9 E-mail : DDeok9@gmail.com HomePage : http://deok9.sur3x5f.org Twitter :@DDeok9 > 1. Shell Code 2. Security

More information

Microsoft PowerPoint - a6.ppt [호환 모드]

Microsoft PowerPoint - a6.ppt [호환 모드] 이장의내용 6 장조건부처리 부울과비교명령어 조건부점프 조건부루프명령어 조건부구조 컴퓨터정보통신 어셈블리언어 2 6.2 부울과비교명령어 부울명령어 Instructions ti 동작 AND dst, src OR dst, src XOR dst, src NOT dst dst dst AND src dst dst OR src dst dst XOR src dst NOT

More information

라는 점이다. ARM7TDMI 같은 ARM7에서는 페치(fetch), 디코드 (decode) 그리고 실행(execute)의 3단계로 구성된 파이프라인을 적 V4 PF1 ARMv5 1994 1996 1998 2000 2002 2004 2006 I-캐시 액세 + 다이내믹

라는 점이다. ARM7TDMI 같은 ARM7에서는 페치(fetch), 디코드 (decode) 그리고 실행(execute)의 3단계로 구성된 파이프라인을 적 V4 PF1 ARMv5 1994 1996 1998 2000 2002 2004 2006 I-캐시 액세 + 다이내믹 자는 ARM 프로세서를 이용한 프로젝트를 처음 진행할 당시에 농담반 진담반으로 이런 말을 자주하곤 했다. ARM으로 개발하려다가 정말 암에 걸리겠다. 처음 새로운 프로세서를 접하면 누구나 한번쯤 겪는 일이다. ARM의 경우는 그 정도가 더욱 심했다. 특히 MMU는 무엇이며, 왜 필요하고 어떻게 동작하는지? FIQ와 IRQ는 같 은 인터럽트인데 왜 달리 구분하는지?

More information

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D> 뻔뻔한 AVR 프로그래밍 The Last(8 th ) Lecture 유명환 ( yoo@netplug.co.kr) INDEX 1 I 2 C 통신이야기 2 ATmega128 TWI(I 2 C) 구조분석 4 ATmega128 TWI(I 2 C) 실습 : AT24C16 1 I 2 C 통신이야기 I 2 C Inter IC Bus 어떤 IC들간에도공통적으로통할수있는 ex)

More information

Microsoft PowerPoint - hy2-12.pptx

Microsoft PowerPoint - hy2-12.pptx 2.4 명령어세트 (instruction set) 명령어세트 CPU 가지원하는기계어명령어들의집합 명령어연산의종류 데이터전송 : 레지스터 / 메모리간에데이터이동 산술연산 : 덧셈, 뺄셈, 곱셈및나눗셈 논리연산 : 비트들간의 AND, OR, NOT 및 XOR 연산 입출력 (I/O) : CPU( 레지스터 ) 와외부장치들간의데이터이동 프로그램제어 : 분기, 서브루틴호출

More information

ARM01

ARM01 0 1 Chapter 1.1 1.2 1.3 1.4 1.5 ARM System Developer s guide 32, ARM., ARM,,,. ARM 1985, ARM1, 2001 20 ARM. ARM,., ARM,., ARM ARM7TDMI, 120 Dhrystone MIPS 1),. ARM7TDMI. ARM, RISC(Reduced Instruction Set

More information

슬라이드 1

슬라이드 1 마이크로컨트롤러 2 (MicroController2) 2 강 ATmega128 의 external interrupt 이귀형교수님 학습목표 interrupt 란무엇인가? 기본개념을알아본다. interrupt 중에서가장사용하기쉬운 external interrupt 의사용방법을학습한다. 1. Interrupt 는왜필요할까? 함수동작을추가하여실행시키려면? //***

More information

Microsoft PowerPoint - e2.ppt [호환 모드]

Microsoft PowerPoint - e2.ppt [호환 모드] 임베디드시스템하드웨어구조 2. 임베디드시스템하드웨어 / 프로세서 SRAM/ROM CPU timer interrupt UART GPIO DMA USB I/F LAN ROM Flash SRAM 2 - 마이크로프로세서를사용한시스템 - 마이크로콘트롤러를사용한시스템 microprocessor timer interrupt DMA CPU micro-, SoC timer

More information

Microsoft PowerPoint - System Programming Lab Week1.ppt [호환 모드]

Microsoft PowerPoint - System Programming Lab Week1.ppt [호환 모드] System Programming Lab Week 1: Basic Skills for Practice Contents vi Editor 사용법 GCC 컴파일러사용법 Makefile 사용법 GDB 사용법 VI Editor Usage vi 모드 입력모드 : 실제문서를편집하는모드. 명령모드 : 키입력이바로명령이되는모드로서쓴내용을삭제하거나, 복사할때사용. ex 명령모드

More information

No Slide Title

No Slide Title Copyright, 2017 Multimedia Lab., UOS 시스템프로그래밍 (Assembly Code and Calling Convention) Seong Jong Choi chois@uos.ac.kr Multimedia Lab. Dept. of Electrical and Computer Eng. University of Seoul Seoul, Korea

More information

Microsoft Word - FunctionCall

Microsoft Word - FunctionCall Function all Mechanism /* Simple Program */ #define get_int() IN KEYOARD #define put_int(val) LD A val \ OUT MONITOR int add_two(int a, int b) { int tmp; tmp = a+b; return tmp; } local auto variable stack

More information

Computer Architecture

Computer Architecture 명령어의구조와주소지정방식 명령어세트명령어의형식주소지정방식실제명령어의형태 이자료는김종현저 - 컴퓨터구조론 ( 생능출판사 ) 의내용을편집한것입니다. 2.4 명령어세트 (instruction set) 어떤 CPU 를위하여정의되어있는명령어들의집합 명령어세트설계를위해결정되어야할사항들 2 연산종류 (operation repertoire) CPU 가수행할연산들의수와종류및복잡도

More information

Microsoft PowerPoint - o8.pptx

Microsoft PowerPoint - o8.pptx 메모리보호 (Memory Protection) 메모리보호를위해 page table entry에 protection bit와 valid bit 추가 Protection bits read-write / read-only / executable-only 정의 page 단위의 memory protection 제공 Valid bit (or valid-invalid bit)

More information

DE1-SoC Board

DE1-SoC Board 실습 1 개발환경 DE1-SoC Board Design Tools - Installation Download & Install Quartus Prime Lite Edition http://www.altera.com/ Quartus Prime (includes Nios II EDS) Nios II Embedded Design Suite (EDS) is automatically

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Text-LCD Device Control - Device driver Jo, Heeseung M3 모듈에장착되어있는 Tedxt LCD 장치를제어하는 App 을개발 TextLCD 는영문자와숫자일본어, 특수문자를표현하는데사용되는디바이스 HBE-SM5-S4210 의 TextLCD 는 16 문자 *2 라인을 Display 할수있으며, 이 TextLCD 를제어하기위하여

More information

Chapter ...

Chapter ... Chapter 4 프로세서 (4.9절, 4.12절, 4.13절) Contents 4.1 소개 4.2 논리 설계 기초 4.3 데이터패스 설계 4.4 단순한 구현 방법 4.5 파이프라이닝 개요*** 4.6 파이프라이닝 데이터패스 및 제어*** 4.7 데이터 해저드: 포워딩 vs. 스톨링*** 4.8 제어 해저드*** 4.9 예외 처리*** 4.10 명령어 수준

More information

ARM 프로세서 입문

ARM 프로세서 입문 ARM 프로세서입문 내용 배경과역사주요특징 ARM 계열들개발도구 역사, 파생계열과도구들 제작 EMBEDDED SYSTEMS ACADEMY 내용 Part 1 배경과역사 RISC / CISC Acorn / Advanced RISC Machine Part 2 주요특징 Registers Interrupts Memory Thumb 3-단계명령파이프라인 5-단계명령파이프라인

More information

구문 분석

구문 분석 컴파일러구성 제 10 강 중간언어 / 인터프리터 Motivation rapid development of machine architectures proliferation of programming languages portable & adaptable compiler design --- P_CODE porting --- rewriting only back-end

More information

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074> Chap #2 펌웨어작성을위한 C 언어 I http://www.smartdisplay.co.kr 강의계획 Chap1. 강의계획및디지털논리이론 Chap2. 펌웨어작성을위한 C 언어 I Chap3. 펌웨어작성을위한 C 언어 II Chap4. AT89S52 메모리구조 Chap5. SD-52 보드구성과코드메모리프로그래밍방법 Chap6. 어드레스디코딩 ( 매핑 ) 과어셈블리어코딩방법

More information

슬라이드 1

슬라이드 1 명령어집합 주소지정모드 (addressing mode) 내용 명령어는크게연산자부분과이연산에필요한주소부분으로구성 이때주소부분은다양한형태를해석될수있으며, 해석하는방법을주소지정방식 ( 모드 )(addressing mode) 라한다. 즉피연산자정보를구하는방법을주소지정방식이라고함 명령어형식 주소지정 명령어형식에있는주소필드는상대적으로짧다. 따라서지정할수있는위치가제한된다.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 KeyPad Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 에는 16 개의 Tack Switch 를사용하여 4 행 4 열의 Keypad 가장착 4x4 Keypad 2 KeyPad 를제어하기위하여 FPGA 내부에 KeyPad controller 가구현 KeyPad controller 16bit 로구성된

More information

학습목차 r 컴퓨터본체에서 CPU 의위치살펴보기 r CPU 의성능 r CPU 의기능 r CPU 의조직 r 레지스터의조직 r 명령어사이클 r 명령어파이프라이닝 컴퓨터구조 2 9. CPU 조직과기능

학습목차 r 컴퓨터본체에서 CPU 의위치살펴보기 r CPU 의성능 r CPU 의기능 r CPU 의조직 r 레지스터의조직 r 명령어사이클 r 명령어파이프라이닝 컴퓨터구조 2 9. CPU 조직과기능 컴퓨터구조 제 9 강 중앙처리장치의조직과기능 학습목차 r 컴퓨터본체에서 CPU 의위치살펴보기 r CPU 의성능 r CPU 의기능 r CPU 의조직 r 레지스터의조직 r 명령어사이클 r 명령어파이프라이닝 컴퓨터구조 2 9. CPU 조직과기능 학습목표 rcpu 의성능을향상시키는요인들을알아본다. rcpu 의기본적인기능을이해한다. rcpu 는 ALU, 제어장치, 레지스터집합,

More information

<3230313320B5BFBEC6BDC3BEC6BBE74542532E687770>

<3230313320B5BFBEC6BDC3BEC6BBE74542532E687770> 58 59 북로남왜 16세기 중반 동아시아 국제 질서를 흔든 계기는 북로남 왜였다. 북로는 북쪽 몽골의 타타르와 오이라트, 남왜는 남쪽의 왜구를 말한다. 나가시노 전투 1. 16세기 동아시아 정세(임진전쟁 전) (1) 명 1 북로남왜( 北 虜 南 倭 ) : 16세기 북방 몽골족(만리장성 구축)과 남쪽 왜구의 침입 2 장거정의 개혁 : 토지 장량(토지 조사)와

More information

MicrocontrollerAcademy_Lab_ST_040709

MicrocontrollerAcademy_Lab_ST_040709 Micro-Controller Academy Program Lab Materials STMicroelectronics ST72F324J6B5 Seung Jun Sang Sa Ltd. Seung Jun Sang Sa Ltd. Seung Jun Sang Sa Ltd. Seung Jun Sang Sa Ltd. Seung Jun Sang Sa Ltd. Seung Jun

More information

시스코 무선랜 설치운영 매뉴얼(AP1200s_v1.1)

시스코 무선랜 설치운영 매뉴얼(AP1200s_v1.1) [ Version 1.3 ] Access Point,. Access Point IP 10.0.0.1, Subnet Mask 255.255.255.224, DHCP Client. DHCP Server IP IP,, IP 10.0.0.X. (Tip: Auto Sensing Straight, Cross-over.) step 1]. step 2] LAN. step

More information

프로그램카운터 (Program Counter) 명령레지스터 (Instruction Register) 누산기 (AC: Accumulator) 상태레지스터 (Status Register) PSWR(Program Status Word Register) 메모리주소레지스터 (M

프로그램카운터 (Program Counter) 명령레지스터 (Instruction Register) 누산기 (AC: Accumulator) 상태레지스터 (Status Register) PSWR(Program Status Word Register) 메모리주소레지스터 (M 중앙처리장치 (CPU: Central Process Unit) 1) 제어장치 (Control Unit) 컴퓨터시스템의모든장치들에게동작을지시하고제어하는장치로주기억장치에서읽어온명령어를해독하고해당장치에게제어신호를보낸다. 구성회로 : 부호기, 명령해독기, 번지해독기 구성레지스터 : PC( 프로그램카운터 ), IR( 명령어레지스터 ) 부호기 ( 제어신호발생기 ) 해독한명령어에따라서해당장치로보낼제어신호를생성하는회로

More information

<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F E687770>

<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F E687770> 3.2 명령어 (1) 명령어 (Instruction) 의구성 연산자 (Operation Code) 부자료 (Operand) 부 0405 명령어의연산자부분이나타낼수있는것오답 인스트럭션의순서 1) 연산자부 (Op-Code, Operation Code부 ) 1 실행할명령이들어있음 2 명령어의연산자부분이나타낼수있는것 9910 0203 명령어의형식 연산자 자료의종류

More information

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어 개나리 연구소 C 언어 노트 (tyback.egloos.com) 프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어먹고 하더라구요. 그래서,

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F > 10주차 문자 LCD 의인터페이스회로및구동함수 Next-Generation Networks Lab. 5. 16x2 CLCD 모듈 (HY-1602H-803) 그림 11-18 19 핀설명표 11-11 번호 분류 핀이름 레벨 (V) 기능 1 V SS or GND 0 GND 전원 2 V Power DD or V CC +5 CLCD 구동전원 3 V 0 - CLCD 명암조절

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 7-Segment Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 6-Digit 7-Segment LED Controller 16비트로구성된 2개의레지스터에의해제어 SEG_Sel_Reg(Segment

More information

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 System call table and linkage v Ref. http://www.ibm.com/developerworks/linux/library/l-system-calls/ - 2 - Young-Jin Kim SYSCALL_DEFINE 함수

More information

The_IDA_Pro_Book

The_IDA_Pro_Book The IDA Pro Book Hacking Group OVERTIME force (forceteam01@gmail.com) GETTING STARTED WITH IDA IDA New : Go : IDA Previous : IDA File File -> Open Processor type : Loading Segment and Loading Offset x86

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 7-Segment Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 6-Digit 7-Segment LED controller 16비트로구성된 2개의레지스터에의해제어 SEG_Sel_Reg(Segment

More information

JVM 메모리구조

JVM 메모리구조 조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.

More information

KEY 디바이스 드라이버

KEY 디바이스 드라이버 KEY 디바이스드라이버 임베디드시스템소프트웨어 I (http://et.smu.ac.kr et.smu.ac.kr) 차례 GPIO 및 Control Registers KEY 하드웨어구성 KEY Driver 프로그램 key-driver.c 시험응용프로그램 key-app.c KEY 디바이스드라이버 11-2 GPIO(General-Purpose Purpose I/O)

More information

hwp

hwp BE 8 BE 6 BE 4 BE 2 BE 0 y 17 y 16 y 15 y 14 y 13 y 12 y 11 y 10 y 9 y 8 y 7 y 6 y 5 y 4 y 3 y 2 y 1 y 0 0 BE 7 BE 5 BE 3 BE 1 BE 16 BE 14 BE 12 BE 10 y 32 y 31 y 30 y 29 y 28 y 27 y 26 y 25 y 24 y 23

More information

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D> 뻔뻔한 AVR 프로그래밍 The 4 th Lecture 유명환 ( yoo@netplug.co.kr) 1 시간 (Time) 에대한정의 INDEX 2 왜타이머 (Timer) 와카운터 (Counter) 인가? 3 ATmega128 타이머 / 카운터동작구조 4 ATmega128 타이머 / 카운터관련레지스터 5 뻔뻔한노하우 : 레지스터비트설정방법 6 ATmega128

More information

슬라이드 1

슬라이드 1 S3C6410 & boot loader for real target android system Naver linuxkernel26 운영자 : 박철 (e2g1234@naver.com) 강좌목적 Real target Android HW system 이해 Real target Android HW system의핵심인 ARM core 그리고 S3C6410에대하여알아본다.

More information

Lectures for 2nd Edition

Lectures for 2nd Edition Computer Architecture Chapter 4-3 The Processor: Enhancing Performance with Pipelining 1 Data Hazards Pipeline data hazards -Backward dep. lines Write Read 2 One Alternative Approach: Compiler Scheduling

More information

버퍼오버플로우-왕기초편 10. 메모리를 Hex dump 뜨기 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습

버퍼오버플로우-왕기초편 10. 메모리를 Hex dump 뜨기 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습니다. 여러분모두 Windows 에서 hex editor(hex dump, hex viewer) 라는것을사용해보셨을겁니다. 바로바이너리파일을 16 진수

More information

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다 10 강. 쉘스크립트 쉘스크립트 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다른운영체제로이식되지않음 -스크립트언어를사용하면컴파일과정이없고인터프리터가소스파일에서명령문을판독하여각각의명령을수행

More information

PCServerMgmt7

PCServerMgmt7 Web Windows NT/2000 Server DP&NM Lab 1 Contents 2 Windows NT Service Provider Management Application Web UI 3 . PC,, Client/Server Network 4 (1),,, PC Mainframe PC Backbone Server TCP/IP DCS PLC Network

More information

SRC PLUS 제어기 MANUAL

SRC PLUS 제어기 MANUAL ,,,, DE FIN E I N T R E A L L O C E N D SU B E N D S U B M O TIO

More information

IDA 5.x Manual 07.02.hwp

IDA 5.x Manual 07.02.hwp IDA 5.x Manual - Manual 01 - 영리를 목적으로 한 곳에서 배포금지 Last Update 2007. 02 이강석 / certlab@gmail.com 어셈블리어 개발자 그룹 :: 어셈러브 http://www.asmlove.co.kr - 1 - IDA Pro 는 Disassembler 프로그램입니다. 기계어로 되어있는 실행파일을 어셈블리언어

More information

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

Microsoft PowerPoint 자바-기본문법(Ch2).pptx 자바기본문법 1. 기본사항 2. 자료형 3. 변수와상수 4. 연산자 1 주석 (Comments) 이해를돕기위한설명문 종류 // /* */ /** */ 활용예 javadoc HelloApplication.java 2 주석 (Comments) /* File name: HelloApplication.java Created by: Jung Created on: March

More information

untitled

untitled 시스템소프트웨어 : 운영체제, 컴파일러, 어셈블러, 링커, 로더, 프로그래밍도구등 소프트웨어 응용소프트웨어 : 워드프로세서, 스프레드쉬트, 그래픽프로그램, 미디어재생기등 1 n ( x + x +... + ) 1 2 x n 00001111 10111111 01000101 11111000 00001111 10111111 01001101 11111000

More information

5" TFT- LCD 및감압터치지원 : 800x480 USB Host 2.0, USB OTG 2.0, GPS, Wireless LAN, Ethernet 10/100Mbps 통신지원 300 만화소 CMOS Image Sensor 고해상도카메라모듈내장 전원은베이스보드에서공

5 TFT- LCD 및감압터치지원 : 800x480 USB Host 2.0, USB OTG 2.0, GPS, Wireless LAN, Ethernet 10/100Mbps 통신지원 300 만화소 CMOS Image Sensor 고해상도카메라모듈내장 전원은베이스보드에서공 CT210-FPGA Platform-ARM Developer Kit 규격서 1. 특징 CT210 FPGA 플랫폼은 Samsung 의 32bit Application Processor 인 S5PV210 을기반을설계된안드로이드 / 임베디드 FPGA 플랫폼입니다. CT210 FPGA 플랫폼은삼성 PV210 기반의임베디드시스템에서 FPGA 를연결하여사용할수있도록하였습니다.

More information

Microsoft PowerPoint - 30.ppt [호환 모드]

Microsoft PowerPoint - 30.ppt [호환 모드] 이중포트메모리의실제적인고장을고려한 Programmable Memory BIST 2010. 06. 29. 연세대학교전기전자공학과박영규, 박재석, 한태우, 강성호 hipyk@soc.yonsei.ac.kr Contents Introduction Proposed Programmable Memory BIST(PMBIST) Algorithm Instruction PMBIST

More information

삼외구사( 三 畏 九 思 ) 1981년 12월 28일 마산 상덕법단 마산백양진도학생회 회장 김무성 외 29명이 서울 중앙총본부를 방문하였을 때 내려주신 곤수곡인 스승님의 법어 내용입니다. 과거 성인께서 말씀하시길 道 를 가지고 있는 사람과 어울려야만 道 를 배울 수 있

삼외구사( 三 畏 九 思 ) 1981년 12월 28일 마산 상덕법단 마산백양진도학생회 회장 김무성 외 29명이 서울 중앙총본부를 방문하였을 때 내려주신 곤수곡인 스승님의 법어 내용입니다. 과거 성인께서 말씀하시길 道 를 가지고 있는 사람과 어울려야만 道 를 배울 수 있 2014 2 통권 342호 차 례 제목 : 백양역사의 초석 사진 : 모경옥 단주 2 7 8 12 14 17 20 30 32 34 36 38 42 45 곤수곡인법어 성훈한마디 신년사 심법연구 이상적멸분( 離 相 寂 滅 分 ) 59 경전연구 論 語 78 미륵세상 만들기 스승을 그리며/김문자 점전사 편 용두봉 음악 산책

More information

Microsoft PowerPoint - 15-6-EmbedSW-Target

Microsoft PowerPoint - 15-6-EmbedSW-Target 6. 하드웨어 ARM 아키텍처 메모리 ODROID-X2 순천향대학교 컴퓨터공학과 이 상 정 1 컴퓨터 구조 복습 - MIPS ISA의 정적 다중 이슈 Instruction types Pipe stages ALU or branch IF ID EX MEM WB Load or store IF ID EX MEM WB ALU or branch IF ID EX MEM

More information

Microsoft PowerPoint - hw8.ppt [호환 모드]

Microsoft PowerPoint - hw8.ppt [호환 모드] 8.1 데이터경로와제어장치 Chapter 8 데이터경로와제어장치 많은순차회로의설계는다음의두부분으로구성 datapath: data의이동및연산을위한장치 control unit에상태신호제공 control ol unit: datapath th 에서적절한순서로 data 이동및연산을수행할수있도록제어신호제공. 먼저, datapath를설계 다음에, control unit

More information

Microsoft PowerPoint - 15-MARS

Microsoft PowerPoint - 15-MARS MARS 소개및실행 어셈블리프로그램실행예 순천향대학교컴퓨터공학과이상정 1 MARS 소개및실행 순천향대학교컴퓨터공학과 2 MARS 소개 MARS MIPS Assembler and Runtime Simulator MIPS 어셈블리언어를위한소프트웨어시뮬레이터 미주리대학 (Missouri State Univ.) 의 Ken Vollmar 등이자바로개발한교육용시뮬레이터

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Verilog: Finite State Machines CSED311 Lab03 Joonsung Kim, joonsung90@postech.ac.kr Finite State Machines Digital system design 시간에배운것과같습니다. Moore / Mealy machines Verilog 를이용해서어떻게구현할까? 2 Finite State

More information

CANTUS Evaluation Board Ap. Note

CANTUS Evaluation Board Ap. Note Preliminary CANTUS - UART - 32bits EISC Microprocessor CANTUS Ver 1. October 8, 29 Advanced Digital Chips Inc. Ver 1. PRELIMINARY CANTUS Application Note( EVM B d ) History 29-1-8 Created Preliminary Specification

More information

1

1 1 1....6 1.1...6 2. Java Architecture...7 2.1 2SDK(Software Development Kit)...8 2.2 JRE(Java Runtime Environment)...9 2.3 (Java Virtual Machine, JVM)...10 2.4 JVM...11 2.5 (runtime)jvm...12 2.5.1 2.5.2

More information

6주차.key

6주차.key 6, Process concept A program in execution Program code PCB (process control block) Program counter, registers, etc. Stack Heap Data section => global variable Process in memory Process state New Running

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729> 8주차중간고사 ( 인터럽트및 A/D 변환기문제및풀이 ) Next-Generation Networks Lab. 외부입력인터럽트예제 문제 1 포트 A 의 7-segment 에초시계를구현한다. Tact 스위치 SW3 을 CPU 보드의 PE4 에연결한다. 그리고, SW3 을누르면하강 에지에서초시계가 00 으로초기화된다. 동시에 Tact 스위치 SW4 를 CPU 보드의

More information

며 오스본을 중심으로 한 작은 정부, 시장 개혁정책을 밀고 나갔다. 이에 대응 하여 노동당은 보수당과 극명히 반대되는 정강 정책을 내세웠다. 영국의 정치 상황은 새누리당과 더불어 민주당, 국민의당이 서로 경제 민주화 와 무차별적 복지공약을 앞세우며 표를 구걸하기 위한

며 오스본을 중심으로 한 작은 정부, 시장 개혁정책을 밀고 나갔다. 이에 대응 하여 노동당은 보수당과 극명히 반대되는 정강 정책을 내세웠다. 영국의 정치 상황은 새누리당과 더불어 민주당, 국민의당이 서로 경제 민주화 와 무차별적 복지공약을 앞세우며 표를 구걸하기 위한 4.13 총선, 캐머런과 오스본, 영국 보수당을 생각하다 정 영 동 중앙대 경제학과 자유경제원 인턴 우물 안 개구리인 한국 정치권의 4.13 총선이 한 달도 남지 않았다. 하지만 정당 간 정책 선거는 실종되고 오로지 표를 얻기 위한 이전투구식 경쟁이 심 화되고 있다. 정말 한심한 상황이다. 정당들은 각 당이 추구하는 이념과 정강 정책, 목표를 명확히 하고,

More information

=

= written by vangelis(vangelis@wowhacker.org) 0 0000 8 1000 1 0001 9 1001 2 0010 10 1010 3 0011 11 1011 4 0100 12 1100 5 0101 13 1101 6 0110 14 1110 7 0111 15 1111 110112 + 100012 = 1011002 110 0000 0101

More information

Microsoft Word - ExecutionStack

Microsoft Word - ExecutionStack Lecture 15: LM code from high level language /* Simple Program */ external int get_int(); external void put_int(); int sum; clear_sum() { sum=0; int step=2; main() { register int i; static int count; clear_sum();

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 7-SEGMENT DEVICE CONTROL - DEVICE DRIVER Jo, Heeseung 디바이스드라이버구현 : 7-SEGMENT HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 디바이스드라이버구현 : 7-SEGMENT 6-Digit 7-Segment LED

More information

02_3 지리산권 스마트폰 기반 3D 지도서비스_과업지시서.hwp

02_3 지리산권 스마트폰 기반 3D 지도서비스_과업지시서.hwp 과 업 지 시 서 사 업 명 지리산권 스마트폰 기반 3D 지도서비스 2011. 7 한 국 관 광 공 사 목 차 Ⅰ. 사업개요 3 Ⅱ. 3D 등산 전자지도 개발 5 Ⅲ. 스마트폰용 등산지도 서비스 개발 8 Ⅳ. 웹사이트용 지도 서비스 개발 12 I. 사업 개요 가. 사업명 : 지리산권 스마트폰 기반 3D 지도서비스 나. 사업기간 : 2011년 7월 ~ 2012년

More information

Microsoft PowerPoint - PL_03-04.pptx

Microsoft PowerPoint - PL_03-04.pptx Copyright, 2011 H. Y. Kwak, Jeju National University. Kwak, Ho-Young http://cybertec.cheju.ac.kr Contents 1 프로그래밍 언어 소개 2 언어의 변천 3 프로그래밍 언어 설계 4 프로그래밍 언어의 구문과 구현 기법 5 6 7 컴파일러 개요 변수, 바인딩, 식 및 제어문 자료형 8

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

강의10

강의10 Computer Programming gdb and awk 12 th Lecture 김현철컴퓨터공학부서울대학교 순서 C Compiler and Linker 보충 Static vs Shared Libraries ( 계속 ) gdb awk Q&A Shared vs Static Libraries ( 계속 ) Advantage of Using Libraries Reduced

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

Microsoft Word - Installation and User Manual_CMD V2.2_.doc

Microsoft Word - Installation and User Manual_CMD V2.2_.doc CARDMATIC CMD INSTALLATION MANUAL 씨앤에이씨스템(C&A SYSTEM Co., Ltd.) 본사 : 서울특별시 용산구 신계동 24-1(금양빌딩 2층) TEL. (02)718-2386( 代 ) FAX. (02) 701-2966 공장/연구소 : 경기도 고양시 일산동구 백석동 1141-2 유니테크빌 324호 TEL. (031)907-1386

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 명령어의수행과제어 명령어에대해서학습하고, 명령어가수행되는과정에대하여학습한다. 1. 명령어의개요 2. 주소지정법 3. CPU 구조 4. 명령어의수행과제어 1. 명령 (Instruction) 개요 1.1 명령의구조 (1) OP Code(Operation Code) 1) 동작을지시 ( 동작부, 연산부, 명령부 ) 2) 명령의형식이나주소부의자료종류를지정. 3) 실행시스템의명령어개수와관련.

More information

2힉년미술

2힉년미술 제 회 Final Test 문항 수 배점 시간 개 00 점 분 다음 밑줄 친 부분의 금속 공예 가공 기법이 바르게 연결된 것은? 금, 은, 동, 알루미늄 등의 금속을 ᄀ불에 녹여 틀에 붓거나 금속판을 ᄂ구부리거나 망치로 ᄃ두들겨서 여러 가지 형태의 쓸모 있는 물건을 만들 수 있다. ᄀ ᄂ ᄃ ᄀ ᄂ ᄃ 조금 단금 주금 주금 판금 단금 단금 판금 주금 판금 단금

More information

ESP1ºÎ-04

ESP1ºÎ-04 Chapter 04 4.1..,..,.,.,.,. RTOS(Real-Time Operating System)., RTOS.. VxWorks(www.windriver.com), psos(www.windriver.com), VRTX(www.mento. com), QNX(www.qnx.com), OSE(www.ose.com), Nucleus(www.atinudclus.

More information

1217 WebTrafMon II

1217 WebTrafMon II (1/28) (2/28) (10 Mbps ) Video, Audio. (3/28) 10 ~ 15 ( : telnet, ftp ),, (4/28) UDP/TCP (5/28) centralized environment packet header information analysis network traffic data, capture presentation network

More information

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning C Programming Practice (II) Contents 배열 문자와문자열 구조체 포인터와메모리관리 구조체 2/17 배열 (Array) (1/2) 배열 동일한자료형을가지고있으며같은이름으로참조되는변수들의집합 배열의크기는반드시상수이어야한다. type var_name[size]; 예 ) int myarray[5] 배열의원소는원소의번호를 0 부터시작하는색인을사용

More information

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Example 3.1 Files 3.2 Source code 3.3 Exploit flow

More information

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729> 7주차 AVR의 A/D 변환기제어레지스터및관련실습 Next-Generation Networks Lab. 3. 관련레지스터 표 9-4 레지스터 ADMUX ADCSRA ADCH ADCL 설명 ADC Multiplexer Selection Register ADC 의입력채널선택및기준전압선택외 ADC Control and Status Register A ADC 의동작을설정하거나동작상태를표시함

More information

Microsoft PowerPoint - ch07.ppt

Microsoft PowerPoint - ch07.ppt chapter 07. 시스코라우터기본동작 한빛미디어 -1- 학습목표 시스코라우터외적, 내적구성요소 시스코라우터부팅단계 시스코라우터명령어모드 한빛미디어 -2- 시스코라우터구성요소 라우터외부구성요소 (1) [ 그림 ] 2600 라우터전면도 인터페이스카드 전원부 LED 라우터조건 한빛미디어 -3- 시스코라우터구성요소 라우터외부구성요소 (2) [ 그림 ] VTY 를이용한라우터접속

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include

More information

Microsoft PowerPoint - ARM 개발 환경.ppt

Microsoft PowerPoint - ARM 개발 환경.ppt ARM 개발환경 Yongjin Kim CASP Lab. Hanyang Univ. yjkim@casp.hanyang.ac.kr 1 대의 PC 를위한개발환경 (1) JTAG 1 Parallel cable 4 Host PC (Window 또는 Linux) 1. JTAG 2 Serial SMC S3C2410x Hardware 개발환경 3 NOR Flash (Boot

More information

API 매뉴얼

API 매뉴얼 PCI-TC03 API Programming (Rev 1.0) Windows, Windows2000, Windows NT, Windows XP and Windows 7 are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations

More information

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 -

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 - (Asynchronous Mode) - - - ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 - UART (Univ ers al As y nchronous Receiver / T rans mitter) 8250A 8250A { COM1(3F8H). - Line Control Register

More information

Microsoft Word ARM_ver2_0a.docx

Microsoft Word ARM_ver2_0a.docx [Smart]0703-ARM 프로그램설치 _ver1_0a 목차 1 윈도우기반으로리눅스컴파일하기 (Cygwin, GNU ARM 설치 )... 2 1.1 ARM datasheet 받기... 2 1.2 Cygwin GCC-4.0 4.1 4.2 toolchain 파일받기... 2 1.3 Cygwin 다운로드... 3 1.4 Cygwin Setup... 5 2 Cygwin

More information

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap06-2pointer.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.

More information

bn2019_2

bn2019_2 arp -a Packet Logging/Editing Decode Buffer Capture Driver Logging: permanent storage of packets for offline analysis Decode: packets must be decoded to human readable form. Buffer: packets must temporarily

More information