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

Size: px
Start display at page:

Download "Microsoft PowerPoint - a4.ppt [호환 모드]"

Transcription

1 4 장데이터전송, 주소지정, 산술연산 연세대학교컴퓨터정보통신

2 이장의내용 데이터전송명령어 덧셈과뺄셈 데이터관련연산자와디렉티브 간접주소지정 JMP와 LOOP 명령어 연세대학교컴퓨터정보통신어셈블리언어 2

3 4.1 데이터전송명령어 피연산자 (operand) 의유형 예 즉시값 (Immediate) 상수정수 ( 식 ) (8, 16, 32 bits) 값이 instruction 에포함됨 Register CPU 내의레지스터이름 레지스터이름이 instruction 에부호화되어포함됨 Memory 메모리위치에대한참조정보 주소또는주소를저장한레지스터이름이 instruction 에포함됨 ( 직접메모리피연산자또는간접메모리피연산자 ) MOV AX, 100 ; AX 100 즉시값 ( 상수 ) MOV AX, CX ; AX CX 레지스터 MOV AX, [100] ; AX M(DS:100), 16-bit 메모리 - 직접주소 MOV AX, [SI] ; AX M(DS:SI), 16-bit 메모리 - 간접주소 연세대학교컴퓨터정보통신어셈블리언어 3

4 Instruction Operand 표기 (Intel) 연세대학교컴퓨터정보통신어셈블리언어 4

5 직접메모리피연산자 직접메모리피연산자 instruction 에포함된메모리주소에있는메모리피연산자 MOV AL, [400] 직접주소지정방식 어셈블리언어에서는메모리주소대신에 data label 을사용함 어셈블러가 data label 을 offset 주소로변환해줌 MOV AL, var1 MOV AL, [var1] 또는 이표기를선호함 예 var1 BYTE 10h ; 변수 ( 데이터 ) mov al,var1 ; AL = 10h 연세대학교컴퓨터정보통신어셈블리언어 5

6 MOV 명령어 MOV dst, src 동작 : dst src operand 사용규칙 두피연산자는같은크기이어야함 두피연산자가모두메모리일수는없음 CS, EIP( 또는 IP) 는 dst일수없음 immediate값은 segment register로이동할수없음 잘못사용한예 mov ax, bl (x) ; 크기가다름 mov var1, var2 (x) ; var1, var2는 data label( 변수 ) mov cs, ax (x) ; CS가 dst임 mov ds, 400h (x) ; 숫자를 DS로이동 연세대학교컴퓨터정보통신어셈블리언어 6

7 사용예 count BYTE 100 wval WORD 2 mov bl,count mov ax,wval mov count,al mov al,wval mov ax,count mov eax,count ; BL count(100) ; AX wval(2), 16-bit ; count AL(2), 8-bit ; error(size mismatch) ; error ; error 연세대학교컴퓨터정보통신어셈블리언어 7

8 잘못된예 잘못된이유는? bval BYTE 100 bval2 BYTE? wval WORD 2 dval DWORD 5 mov ds,45 mov esi,wval mov eip,dval mov 25,bVal mov bval2,bval immediate move to DS not permitted size mismatch EIP cannot be the destination immediate value cannot be destination memory-to-memory move not permitted 연세대학교컴퓨터정보통신어셈블리언어 8

9 여러가지 MOV 방법 메모리에서메모리로의전송 var2 var1 mov eax, var1 ; AX var1 mov var2, eax ; var2 AX 레지스터를경유함 작은 operand를큰operand로복사 작은 operand를큰크기로확장한후에mov 명령어수행 unsigned number는 zero extension( 상위부분을 0으로채움 ) 사용 signed number는 sign extension( 상위부분을부호로채움 ) 사용 ( 예 ) 4 비트 zero 확장 8 비트 sign 확장 0101 (5) 0000_0101 (5) 0000_0101 (5) 1011 (11 또는 5) 0000_1011 (11) 1111_1011 (-5) 연세대학교컴퓨터정보통신어셈블리언어 9

10 MOVZX 명령어 zero 확장 MOVZX reg, r/m 동작 : reg zero-extension(r/m) reg는 r/m보다크기가큼 reg32 r/m8 또는 r/m16 reg16 r/m Source Destination mov bl, b movzx ax,bl ; zero-extension 연세대학교컴퓨터정보통신어셈블리언어 10

11 MOVSX 명령어 sign 확장 MOVSX reg, r/m 동작 : reg sign-extension(r/m) reg 는 r/m 보다크기가큼 Source Destination mov bl, b movsx ax,bl ; sign extension 연세대학교컴퓨터정보통신어셈블리언어 11

12 XCHG 명령어 - exchange XCHG dst, src 동작 : dst 와 src 의내용을서로교환함 메모리간의교환을할수없음 var1 WORD 1000h var2 WORD 2000h xchg ax,bx xchg ah,al xchg var1,bx xchg eax,ebx ; exchange 16-bit regs ; exchange 8-bit regs ; exchange mem, reg ; exchange 32-bit regs xchg var1,var2 mov ax,var1 xchg ax,var2 mov var1,ax ; error: two memory operands ; 메모리간의내용교환은 ; 임시레지스터를사용해야함 연세대학교컴퓨터정보통신어셈블리언어 12

13 직접오프셋 (Direct-Offset) 피연산자 직접오프셋피연산자 (Direct offset operand) data_label + constant 형태로표현되는메모리피연산자 어셈블러가 offset 주소로변환함 ( 직접주소지정방식과같음 ) 용도 : array 원소접근 arrayb BYTE 10h,20h,30h,40h mov al,arrayb+1 ; AL = 20h mov al,[arrayb+1] ; alternative notation arrayb의주소가 100h라고하면 mov al, arrayb mov al, [100h] (cf) a[0] mov al, arrayb+1 mov al, [101h] (cf) a[1] 연세대학교컴퓨터정보통신어셈블리언어 13

14 word array 다음원소의 offset 은 2 씩증가 doubleword array 다음원소의 offset 은 4 씩증가 arrayw WORD 1000h,2000h,3000h arrayd DWORD 1,2,3,4 mov ax,arrayw+2 ; AX = 2000h mov eax,arrayd+4 ; EAX = h 잘못된예 : 주소가배열범위를벗어남 mov ax,arrayw-2 ;?? mov eax,arrayd+16 ;?? arrayw[1] arrayd[1] arrayw[-1] arrayd[4] 연세대학교컴퓨터정보통신어셈블리언어 14

15 연습 자료의배치를바꾸기 다음자료를다음순서로바꾸시오 : 3, 1, 2 arrayd DWORD 1, 2, 3 Step1: arrayd 와 arrayd+4 의값을교환 2, 1, 3 mov eax,arrayd xchg eax,arrayd+4 Step 2: arrayd 와 arrayd+8 의값을교환 3, 1, 2 xchg eax,arrayd+8 mov arrayd,eax 연세대학교컴퓨터정보통신어셈블리언어 15

16 4.2 덧셈과뺄셈 덧셈과뺄셈명령어 형식 동작 설명 INC dst dst dst + 1 increment DEC dst dst dst 1 decrement ADD dst, src dst dst + src add SUB dst, src dst dst src subtract NEG dst dst dst negate(2의보수 ) INC, DEC, NEG 의 operand 는 r/m ADD, SUB 의 operand 는 MOV 의 operand 와같은 rule 을적용 연세대학교컴퓨터정보통신어셈블리언어 16

17 INC 과 DEC 예 myword WORD 1000h mydword DWORD h inc myword dec myword inc mydword mov ax,00ffh inc ax mov ax,00ffh inc al ; 1001h ; 1000h ; h ; AX = 0100h ; AX = 0000h 연세대학교컴퓨터정보통신어셈블리언어 17

18 ADD 와 SUB 예 var1 DWORD 10000h var2 DWORD 20000h mov eax,var1 add eax,var2 add ax,0ffffh add eax,1 sub ax,1 ; ---EAX--- ; h ; h ; 0003FFFFh ; h ; 0004FFFFh 연세대학교컴퓨터정보통신어셈블리언어 18

19 NEG 예 valb BYTE -1 valw WORD mov al,valb ; AL = -1 neg al ; AL = +1 neg valw ; valw = 연세대학교컴퓨터정보통신어셈블리언어 19

20 수식계산 수식의계산 (ex) R = X + (Y Z) 과정 : (1) X (2) Y Z (3) ( X) + (Y Z) R DWORD? X DWORD 26 Y DWORD 30 Z DWORD 40 mov eax,x ; EAX = X neg eax ; EAX = -26 (-X) mov ebx,y ; EBX = Y sub ebx,z ; EBX = -10 (Y-Z) add eax,ebx ; EAX = -36 (-X)+(Y-Z) mov R,eax ; -36 연세대학교컴퓨터정보통신어셈블리언어 20

21 연산과 FLAG FLAG 레지스터 산술 / 논리연산의결과에따라서값이정해짐 MOV 명령어의영향을받지않음 기본적인 FLAG bits ZF(Zero Flag) 결과가 0 이면 1 SF(Sign Flag) 결과가음수 (MSB=1) 이면 1 CF(Carry Flag) unsigned value가표현범위벗어나면 1 (unsigned overflow) OF(Overflow Flag) signed value가표현범위벗어나면 1 (signed overflow) 연세대학교컴퓨터정보통신어셈블리언어 21

22 Zero Flag(ZF) 와 Sign Flag(SF) ZF mov cx,1 sub cx,1 ; CX = 0, ZF = 1 mov ax,0ffffh inc ax ; AX = 0, ZF = 1 inc ax ; AX = 1, ZF = 0 SF mov al,0 sub al,1 ; AL = b(-1), SF = 1 add al,2 ; AL = b, SF = 0 SF 는 MSB( 부호 bit) 값과같음 연세대학교컴퓨터정보통신어셈블리언어 22

23 부호있는정수와부호없는정수 부호있는정수와부호없는정수 signed integer 와 unsigned integer 모두 2 진수 pattern 으로표현됨 CPU 는 signed 와 unsigned integer 를구별할수없음 signed 와 unsigned integer 의구분은프로그램에서사용하는 instruction 에의해서이루어짐 ( 예 ) 2진수패턴 b unsigned integer = 224 signed integer = -32 Signed와 Unsigned integer에대한산술연산 덧셈과뺄셈연산 : 구분없이같은명령어를사용함 곱셈과나눗셈연산 : signed와 unsigned integer에대해서구분을하여별개의명령어를사용 Singed와 Unsigned 연산과 Flag unsigned 연산 : Zero, Carry, 보조 Carry 플래그를사용 signed 연산 : Zero, Sign, Overflow 플래그를사용 연세대학교컴퓨터정보통신어셈블리언어 23

24 Carry Flag (CF) 와 Overflow Flag (OF) CF unsigned overflow, OF signed overflow mov al,0ffh ; 255(unsigned) 또는 -1(signed) add al,1 ; AL = 00, CF = 1, OF = (CF=1), -1 0 (OF=0) mov al,0 ; 0 sub al,1 ; AL = FF, CF = 1, OF = 0 ; (255 또는 -1) (CF=1), 0 1 (OF=0) mov al,7fh ; 127 add al,1 ; AL = 80h, CF = 0, OF = 1, ; (128 또는 -128) (CF=0), (OF=1) 연세대학교컴퓨터정보통신어셈블리언어 24

25 INC, DEC, NEG 명령어와 CF INC 와 DEC 명령어는 CF 에는영향을주지않음 mov al,0ffh ; 255(unsigned) 또는 -1(signed) add al,1 ; AL = 00, CF = 1, OF = 0 mov al,0ffh inc al ; AL = 00, CF = 0, OF = 0 NEG 명령어는 0 이아닌피연산자에대한연산시항상 CF=1 이됨 valb BYTE 0,1 valc SBYTE -128 ; 80h neg valb ; CF = 0, OF = 0 (00h) neg valb+1 ; CF = 1, OF = 0 (FFh) neg valc ; CF = 1, OF = 1 (80h) 연세대학교컴퓨터정보통신 어셈블리언어 25

26 4.3 데이터관련연산자와디렉티브 OFFSET 연산자 PTR 연산자 TYPE 연산자 LENGTHOF 연산자 SIZEOF 연산자 LABEL 디렉티브 연세대학교컴퓨터정보통신어셈블리언어 26

27 OFFSET 연산자 OFFSET label label의 offset 주소반환 Protected mode: 32 bits Real mode: 16 bits offset data segment: mybyte (cf) protected mode 프로그램은 0 번지부터시작하는단일 segment 를사용한다. (flat memory model) 연세대학교컴퓨터정보통신어셈블리언어 27

28 예제 ; start at bval BYTE? wval WORD? dval DWORD? dval2 DWORD? mov esi,offset bval ; ESI = mov esi,offset wval ; ESI = mov esi,offset dval ; ESI = mov esi,offset dval2 ; ESI = 연세대학교컴퓨터정보통신어셈블리언어 28

29 C/C++ 와의관계 OFFSET 연산자는변수의주소 (pointer) 를얻을때사용함 ; C++ version: char array[1000], *p; int a, *q; p = array; q = &a; ; assembly language array BYTE 1000 DUP(?) a BYTE? mov esi,offset array mov edi,offset a ; ESI is p ; EDI is q 연세대학교컴퓨터정보통신어셈블리언어 29

30 PTR 연산자 type PTR label label 이가리키는 operand 의크기를 type 크기로재설정 ; little endian mydouble DWORD h ; 순서로저장 mov ax, mydouble ; error - size mismatch mov ax, WORD PTR mydouble ; loads 5678h mov WORD PTR mydouble,4321h ; saves 4321h mov bl, BYTE PTR mydouble ; loads 78h mov bl, BYTE PTR [mydouble+1] ; loads 56h mybytes BYTE 12h,34h,56h,78h mov ax, WORD PTR mybytes mov eax, DWORD PTR mybytes ; AX = 3412h ; EAX = h 연세대학교컴퓨터정보통신어셈블리언어 30

31 TYPE 연산자 TYPE label label 이가리키는 data 의크기를반환 ( 단위 byte) var1 BYTE? var2 WORD? var3 DWORD? var4 QWORD? mov eax,type var1 ; 1 mov eax,type var2 ; 2 mov eax,type var3 ; 4 mov eax,type var4 ; 8 (cf) C 언어 :sizeof(a) 연세대학교컴퓨터정보통신어셈블리언어 31

32 LENGTHOF 연산자 LENGTHOF label label 과같은줄에선언된원소의개수를반환 comma 로구분된경우에는다음줄도포함 ( 예 : mword) LENGTHOF byte1 BYTE 10,20,30 ; 3 array1 WORD 30 DUP(?),0,0 ; 32 array2 WORD 5 DUP(3 DUP(?)) ; 15 array3 DWORD 1,2,3,4 ; 4 digitstr BYTE " ",0 ; 9 mword WORD 10,20,30, ; 6 40,50,60 mword2 WORD 10,20,30 ; 3 WORD 40,50,60 mov ecx,lengthof array1 ; 32 연세대학교컴퓨터정보통신어셈블리언어 32

33 SIZEOF 연산자 SIZEOF label LENGTHOF 와 TYPE 의곱을반환 원소들이차지하는크기 ( 단위 byte) SIZEOF byte1 BYTE 10,20,30 ; 3 array1 WORD 30 DUP(?),0,0 ; 64=32*2 array2 WORD 5 DUP(3 DUP(?)) ; 30=15*2 array3 DWORD 1,2,3,4 ; 16=4*4 digitstr BYTE " ",0 ; 9 mov ecx,sizeof array1 ; 64 (cf) C 언어 : sizeof(array) 연세대학교컴퓨터정보통신어셈블리언어 33

34 LABEL 디렉티브 label LABEL type 기존 label 의위치에다른 type 의 label 이름을부여함 PTR operator 를사용할필요가없도록함 기억장소의추가적인할당은없음 dwlist LABEL DWORD wordlist LABEL WORD intlist BYTE 00h,10h,00h,20h mov eax,dwlist ; h mov cx,wordlist ; 1000h mov dl,intlist ; 00h dwlist, wordlist, intlist 는모두같은주소의 label 이지만참조하는자료형의크기가다름 연세대학교컴퓨터정보통신어셈블리언어 34

35 ALIGN 디렉티브 ALIGN bound bound: 1, 2, 4, 또는 16 변수를 bound 크기의배수위치에배치 ; start at bval BYTE? ; ALIGN 2 wval WORD? ; wval2 WORD? ; ALIGN 4 dval DWORD? ; dval2 DWORD? ; C ALIGN 을사용하는이유 16비트데이터와 32비트데이터는각각 2의배수와 4의배수의주소에배치되어야데이터를빠르게접근할수있음 real mode 세그먼트는 16의배수주소에서시작함 연세대학교컴퓨터정보통신 어셈블리언어 35

36 4.4 간접주소지정 간접주소지정 명령어에 operand 의주소를직접포함하는것대신에 operand 의주소를저장한위치를포함 register indirect addressing memory indirect addressing IA32 에서지원하지않음 C/C++ 의 pointer 와관련됨 mov eax, [100] ; direct addressing mov esi, 100 mov eax, [si] ; indirect addressing instruction direct 100 memory 100 ESI indirect ESI 연세대학교컴퓨터정보통신어셈블리언어

37 간접피연산자 피연산자의유효주소 (EA: effective address) = reg 간접피연산자 operand 주소를갖고있는 register 사용하기전에유효한주소로초기화해야함 간접피연산자로사용하는레지스터 32-bit mode: 범용레지스터 (EAX, EBX, ECX, EDX, ESI, EDI, ESP, EBP) 16-bit mode: SI, DI, BX, BP (cf) DS:SI/DI/DX, SS:BP val1 BYTE 10h,20h,30h mov esi,offset val1 mov al,[esi] ; AL = M[DS:SI] (10h) inc esi mov al,[esi] ; AL = 20h inc esi mov al,[esi] ; AL = 30h 연세대학교컴퓨터정보통신어셈블리언어 37

38 간접피연산자와 PTR 연산자 operand 의크기지정 간접피연산자가지시하는피연산자크기가명확하지않을수있음 피연산자의크기를명확하게하기위해서 PTR operator 를사용 mycount WORD 0 mov esi,offset mycount inc [esi] inc WORD PTR [esi] add ax, [esi] add [esi], 20 add BYTE PTR [esi], 20 ; error: ambiguous size ; ok ; ok ; error: ambiguous size ; ok 연세대학교컴퓨터정보통신어셈블리언어 38

39 간접피연산자와배열 배열원소를다루는데에 indirect operand 가유용함 특히순차적으로다루는데편리함 예 : 배열의합 arrayw WORD 1000h,2000h,3000h mov esi,offset arrayw mov ax,[esi] add esi,2 ; 2대신에 TYPE arrayw 사용가능 add ax,[esi] add esi,2 add ax,[esi] ; AX = sum of the array 다음원소를사용할때에주소를원소의크기만큼증가시킴 연세대학교컴퓨터정보통신어셈블리언어 39

40 인덱스피연산자 피연산자유효주소 (EA)= reg + const 형식 : [reg + const] 또는 const[reg] [const + reg] arrayw WORD 1000h,2000h,3000h mov esi,0 mov ax,[arrayw + esi] mov ax,arrayw[esi] add esi,2 add ax,[arrayw + esi] ; AX = 1000h ; alternate format 인덱스피연산자로사용하는 register 32-bit mode: general purpose registers (cf) SS:EBP 16-bit mode: SI, DI, BX, BP (cf) SS:BP 연세대학교컴퓨터정보통신어셈블리언어 40

41 인덱스배율 (Index Scaling) 피연산자유효주소 (EA) = const + reg*scale 형식 : const[reg*scale] ; scale: 1, 2, 4 scale은 TYPE operator를사용하여얻을수도있음 워드, 더블워드배열을다루는데유용함 arrayb BYTE 0,1,2,3,4,5 arrayw WORD 0,1,2,3,4,5 arrayd DWORD 0,1,2,3,4,5 mov esi,4 mov al,arrayb[esi*type arrayb] ; 04 mov bx,arrayw[esi*type arrayw] ; 0004 mov edx,arrayd[esi*type arrayd] ; 연세대학교컴퓨터정보통신어셈블리언어 41

42 포인터 (Pointer) 포인터변수 다른변수의주소를가지고있는변수 arrayw WORD 1000h,2000h,3000h ptrw DWORD arrayw ; pointer variable ptrw2 DWORD OFFSET arrayw ; 위와같은값 mov esi,ptrw mov ax,[esi] ; AX = 1000h mov ptrw, OFFSET arrayw mov ptrw, arrayw ; OK ; Error (data) 변수선언에서초기값으로사용되는변수이름은변수의주소를나타냄 (OFFSET varname 과같음 ) 명령어에서사용되는변수이름은변수의값을나타냄 연세대학교컴퓨터정보통신어셈블리언어 42

43 NEAR and FAR pointers Pointer 유형 의미 NEAR pointer 같은세그먼트내의주소 FAR pointer 다른세그먼트에속한주소 표현 offset segment:offset 16-bit mode 16-bit 32-bit ( ) 32-bit mode 32-bit 48-bit ( ) flat model 을사용하는 protected mode 프로그램은 near pointer 만사용함. 연세대학교컴퓨터정보통신어셈블리언어 43

44 TYPEDEF 연산자 TYPEDEF 연산자 사용자정의자료형을만든다. 포인터자료형을명확히나타내는데유용함. PBYTE TYPEDEF PTR BYTE ; BYTE 에대한포인터자료형정의 PWORD TYPEDEF PTR WORD PDWORD TYPEDEF PTR DWORD arrayw WORD 1,2,3 arrayd DWORD 4,5,6 ptr1 PWORD arrayw ptr2 PDWORD arrayd mov esi, ptr1 mov ax,[esi] mov esi, ptr2 mov eax, [esi] 연세대학교컴퓨터정보통신 어셈블리언어 44

45 4.5 JMP 와 LOOP 명령어 무조건이동 (ex) JMP 조건부이동 (ex) LOOP, Jcc 조건은플래그레지스터와 ECX 의내용에의하여정해짐 연세대학교컴퓨터정보통신어셈블리언어 45

46 JMP 명령어 JMP label 동작 : label 위치의명령어로 jump 함 (EIP label 주소 ) 예 top: jmp top ; code label 연세대학교컴퓨터정보통신어셈블리언어 46

47 LOOP 명령어 LOOP label 동작 : 특정한횟수를반복수행함 (ECX: 루프카운터, 반복횟수계수 ) ECX ECX 1 if (ECX!= 0) jump to label assembler는 label을 relative offset으로바꾸어서기계어로변환 real mode에서는 CX가루프카운터로사용됨 LOOPD와 LOOPW 명령어 LOOPD는 ECX를루프카운터로사용 LOOPW는 CX를루프카운터로사용 relative offset = label주소 다음명령어주소 label relative offset loop 연세대학교컴퓨터정보통신어셈블리언어 47

48 LOOP 예 합 을계산 offset machine code source code B mov ax, B mov ecx, C1 L1: add ax,cx C E2 FB loop L E relative offset = 9 E(14) = 5 (FBh) relative offset 의범위 : (8-bit signed 정수 ) relative offset 이지정된범위를벗어나면어셈블할때에오류발생 연세대학교컴퓨터정보통신어셈블리언어 48

49 연습 AX 의결과? mov ax,6 mov ecx,4 L1: inc ax loop L1 10 반복횟수? mov ecx,0 X2: inc ax loop X = 4,294,967,296 연세대학교컴퓨터정보통신어셈블리언어 49

50 중첩된 Loop 사용법 바깥 loop 의 loop count 값 ECX 를저장하고 ECX 를안쪽 loop 의 loop count 값으로초기화해야함. count DWORD? mov ecx,100 L1: mov count,ecx mov ecx,20 L2:.. loop L2 mov ecx,count loop L1 ; set outer loop count ; save outer loop count ; set inner loop count ; repeat the inner loop ; restore outer loop count ; repeat the outer loop 연세대학교컴퓨터정보통신어셈블리언어 50

51 정수배열의합 16비트정수배열의합 intarray WORD 100h,200h,300h,400h mov edi,offset intarray ; address of intarray mov ecx,lengthof intarray ; loop counter(4) mov ax,0 ; zero the accumulator L1: add ax,[edi] ; add an integer add edi,type intarray ; point to next integer(+2) loop L1 ; repeat until ECX = 0 연습 doubleword array의합계산 연세대학교컴퓨터정보통신어셈블리언어 51

52 문자열복사 source 문자열을 target 으로복사 source BYTE "This is the source string",0 target BYTE SIZEOF source DUP(0) good use of SIZEOF mov esi,0 mov ecx,sizeof source L1: mov al,source[esi] mov target[esi],al inc esi loop L1 ; index register ; loop counter ; get char from source ; store it in the target ; move to next character ; repeat for entire string 연습 indexed addressing 대신에 indirect addressing 을사용하여수정 연세대학교컴퓨터정보통신어셈블리언어 52

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

Microsoft PowerPoint - a4.ppt [호환 모드] 이장의내용 4 장데이터전송, 주소지정, 산술연산 데이터전송명령어 덧셈과뺄셈 데이터관련연산자와디렉티브 간접주소지정 JMP와 LOOP 명령어 컴퓨터정보통신 컴퓨터정보통신 어셈블리언어 2 4.1 데이터전송명령어 Instruction Operand 표기 (Intel) 피연산자 (operand) 의유형 즉시값 (Immediate) 상수정수 ( 식 )(8 (8, 16,

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

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

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

Microsoft PowerPoint - a10.ppt [호환 모드] Structure Chapter 10: Structures t and Macros Structure 관련된변수들의그룹으로이루어진자료구조 template, pattern field structure를구성하는변수 (cf) C언어의 struct 프로그램의 structure 접근 entire structure 또는 individual fields Structure는

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

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

Microsoft PowerPoint - a9.ppt [호환 모드] 9.1 이장의내용 9 장. 스트링과배열 스트링프리미티브명령어 2 차원배열 정수배열검색및정렬 컴퓨터정보통신 어셈블리언어 2 9.2 스트링프리미티브명령어 String Primitive Instructions 의동작 String Primitive Instructions Instructions 설명 동작 MOVS(B,W,D) Move string data M[EDI]

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

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

Microsoft PowerPoint - a2.ppt [호환 모드] 마이크로컴퓨터의기본구조 2 장 x86 프로세서구조 ALU: 산술논리연산제어장치 (CU): 실행순서제어클럭 : 구성요소들의동작동기화 CPU + memory + I/O + bus 어셈블리언어 2 클럭 (Clock) CPU 와 Bus 동작은클럭에동기되어동작을한다. 메모리읽기사이클과대기상태 1 클럭사이클동안간단한동작을수행한다. 기계어명령어수행에적어도 1 클럭사이클이필요함

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

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

Microsoft PowerPoint - a8a.ppt [호환 모드] 이장의내용 8 장고급프로시저 스택프레임 재귀 (Recursion) Invoke, Addr, Proc, Proto 디렉티브 다중모듈프로그램작성 2 8.2 스택프레임 Stack Frame ( 또는 activation record) procedure 의다음사항을저장한 영역 urn address passed parameter ( 스택매개변수 ) saved register

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

=

= 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 PowerPoint - a5a.ppt [호환 모드]

Microsoft PowerPoint - a5a.ppt [호환 모드] 5 장프로시저 (1) 책의라이브러리사용 5 장전반부 : 책의링크라이브러리 외부링크라이브러리개요 라이브러리프로시저호출 라이브러리링크 라이브러리프로시저 예제 연세대학교컴퓨터정보통신어셈블리언어 2 저자제공링크라이브러리 라이브러리파일 어셈블된프로시저를포함하고있는 OBJ 파일들을모아놓은파일 ( 확장자.LIB) 각 OBJ file 에는하나이상의 procedure 가들어있음

More information

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - ch07 - 포인터 pm0415 2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자

More information

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

Microsoft PowerPoint - a3.ppt [호환 모드] 이장의내용 3 장어셈블리언어의기초 어셈블리언어의기본구성요소 간단한어셈블리언어프로그램예 프로그램어셈블리, 링크, 실행 데이터정의 기호상수 실제주소모드프로그래밍 어셈블리언어 2 3.1 어셈블리언어기본구성요소 정수상수 정수상수 정수수식 실수상수 문자, 문자열상수 예약어, 식별자 디렉티브 (Directives) 와명령어 레이블 (Labels) 니모닉 (Mnemonics)

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

(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

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

슬라이드 1

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

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

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

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

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770> 연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.

More information

Computer Architecture

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

More information

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 제 8 장. 포인터 목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 포인터의개요 포인터란? 주소를변수로다루기위한주소변수 메모리의기억공간을변수로써사용하는것 포인터변수란데이터변수가저장되는주소의값을 변수로취급하기위한변수 C 3 포인터의개요 포인터변수및초기화 * 변수데이터의데이터형과같은데이터형을포인터 변수의데이터형으로선언 일반변수와포인터변수를구별하기위해

More information

제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver. 2.0 jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 이중포인터란무엇인가? 포인터배열 함수포인터 다차원배열과포인터 void 포인터 포인터는다양한용도로유용하게활용될수있습니다. 2 이중포인터

More information

02.Create a shellcode that executes "/bin/sh" Excuse the ads! We need some help to keep our site up. List Create a shellcode that executes "/bin/sh" C

02.Create a shellcode that executes /bin/sh Excuse the ads! We need some help to keep our site up. List Create a shellcode that executes /bin/sh C 02.Create a shellcode that executes "/bin/sh" Excuse the ads! We need some help to keep our site up. List Create a shellcode that executes "/bin/sh" C language Assembly code Change permissions(seteuid())

More information

<BEEEBCC0BAEDB8AEBEEEC1A4B8AE2E687770>

<BEEEBCC0BAEDB8AEBEEEC1A4B8AE2E687770> Parse and Parse Assembly ( 어셈블리어입문자를위한 어셈블리어자료들의모음 ) ## 목차 ## 0x01. ----------Introduce----------- 0x02. 어셈블리언어란? & 배우는목적 0x03. 어셈블리언어를위한기본지식 0x04. 어셈블리명령어의구성 0x05. 주소지정방식의이해 0x06. 어셈블리명령어정리 0x07. 어셈블리명령어상세

More information

11장 포인터

11장 포인터 누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리

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

Microsoft PowerPoint - Chapter_04.pptx

Microsoft PowerPoint - Chapter_04.pptx 프로그래밍 1 1 Chapter 4. Constant and Basic Data Types April, 2016 Dept. of software Dankook University http://embedded.dankook.ac.kr/~baeksj 이장의강의목표 2 기본자료형문자표현방식과문자자료형상수자료형변환 기본자료형 (1/8) 3 변수 (Variables)

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

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

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 4 장 : 연산자 2012 년 이은주 학습목표 수식의개념과연산자및피연산자에대한학습 C 의알아보기 연산자의우선순위와결합방향에대하여알아보기 2 목차 연산자의기본개념 수식 연산자와피연산자 산술연산자 / 증감연산자 관계연산자 / 논리연산자 비트연산자 / 대입연산자연산자의우선순위와결합방향 조건연산자 / 형변환연산자 연산자의우선순위 연산자의결합방향

More information

PowerPoint Presentation

PowerPoint Presentation 컴퓨터프로그래밍 Computer Programming 08 포인터기초 목차 1. 포인터변수와선언 2. 간접연산자 * 와포인터연산 3. 포인터형변환과다중포인터 컴퓨터프로그래밍 (Computer Programming) - 08 포인터기초 3 1. 포인터변수와선언 주소개념 주소 address 메모리공간은 8비트인 1 바이트마다순차적인고유한번호 메모리주소는저장장소인변수이름과함께기억장소를참조하는또다른방법

More information

Microsoft PowerPoint - hy2-12.pptx

Microsoft PowerPoint - hy2-12.pptx CPU의구조와기능 CPU 의명령어수행과정 명령어인출 (Instruction Fetch) : 기억장치로부터명령어를읽어온다 명령어해독 (Instruction Decode) : 수행해야할동작을결정하기위하여명령어를해독한다 모든명령어들에대하여공통적으로수행 데이터인출 (Data Fetch) : 명령어실행을위하여데이터가필요한경우에는기억장치혹은 I/O 장치로부터그데이터를읽어온다

More information

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt 변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 5 강. 배열, 포인터, 참조목차 배열 포인터 C++ 메모리구조 주소연산자 포인터 포인터연산 배열과포인터 메모리동적할당 문자열 참조 1 /20 5 강. 배열, 포인터, 참조배열 배열 같은타입의변수여러개를하나의변수명으로처리 int Ary[10]; 총 10 개의변수 : Ary[0]~Ary[9]

More information

4. 1 포인터와 1 차원배열 4. 2 포인터와 2 차원배열 4. 3 포인터배열 4. 4 포인터와문자그리고포인터와문자열

4. 1 포인터와 1 차원배열 4. 2 포인터와 2 차원배열 4. 3 포인터배열 4. 4 포인터와문자그리고포인터와문자열 - Part2-4 4. 1 포인터와 1 차원배열 4. 2 포인터와 2 차원배열 4. 3 포인터배열 4. 4 포인터와문자그리고포인터와문자열 4.1 포인터와 1 차원배열 4.1 1 (1/16)- - - [4-1.c ] #include int main(void) { int array[3]={10, 20, 30}; } prind("%x %x %x

More information

KNK_C_05_Pointers_Arrays_structures_summary_v02

KNK_C_05_Pointers_Arrays_structures_summary_v02 Pointers and Arrays Structures adopted from KNK C Programming : A Modern Approach 요약 2 Pointers and Arrays 3 배열의주소 #include int main(){ int c[] = {1, 2, 3, 4}; printf("c\t%p\n", c); printf("&c\t%p\n",

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 10 포인터 01 포인터의기본 02 인자전달방법 03 포인터와배열 04 포인터와문자열 변수의주소를저장하는포인터에대해알아본다. 함수의인자를값과주소로전달하는방법을알아본다. 포인터와배열의관계를알아본다. 포인터와문자열의관계를알아본다. 1.1 포인터선언 포인터선언방법 자료형 * 변수명 ; int * ptr; * 연산자가하나이면 1 차원포인터 1 차원포인터는일반변수의주소를값으로가짐

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

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

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 13. 포인터와배열! 함께이해하기 2013.10.02. 오병우 컴퓨터공학과 13-1 포인터와배열의관계 Programming in C, 정재은저, 사이텍미디어. 9 장참조 ( 교재의 13-1 은읽지말것 ) 배열이름의정체 배열이름은 Compile 시의 Symbol 로서첫번째요소의주소값을나타낸다. Symbol 로서컴파일시에만유효함 실행시에는메모리에잡히지않음

More information

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

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

More information

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드] Chapter 03 변수와자료형 2009 한국항공대학교항공우주기계공학부 (http://mercury.kau.ac.kr/sjkwon) 1 변수와자료유형 변수 프로그램에서자료값을임시로기억할수있는저장공간을변수 (variables) 변수 (Variables) 는컴퓨터의메모리인 RAM(Random Access Memory) 에저장 물건을담는박스라고생각한다면박스의크기에따라담을물건이제한됨

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

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 - chap04-연산자.pptx

Microsoft PowerPoint - chap04-연산자.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); } 1 학습목표 수식의 개념과 연산자, 피연산자에 대해서 알아본다. C의 를 알아본다. 연산자의 우선 순위와 결합 방향에

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

ch15

ch15 쉽게풀어쓴 C 언어 Express 제 14 장포인터활용 C Express 이중포인터 이중포인터 (double pointer) : 포인터를가리키는포인터 int i = 10; int *p = &i; int **q = &p; // i 는 int 형변수 // p 는 i 를가리키는포인터 // q 는포인터 p 를가리키는이중포인터 이중포인터 이중포인터의해석 이중포인터 //

More information

Data Structure

Data Structure Function & Pointer C- 언어의활용을위한주요기법 (3) Dong Kyue Kim Hanyang University dqkim@hanyang.ac.kr 함수의인자전달 함수의인자전달 함수의인자전달방식 인자전달의기본방식은복사다. 함수호출시전달되는값을매개변수를통해서전달받는데, 이때에값의복사가일어난다. int main(void) int val = 10;

More information

Microsoft PowerPoint - Chapter_02.pptx

Microsoft PowerPoint - Chapter_02.pptx 프로그래밍 1 1 Chapter 2. Types, Operators, and Expressions March, 2016 Dept. of software Dankook University http://embedded.dankook.ac.kr/~baeksj 이장의강의목표 2 변수의이해 C언어의표준키워드연산자소개키보드입력 변수의이해 (1/9) 3 덧셈예제 3 +

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

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

<4D F736F F F696E74202D20C1A63134C0E520C6F7C0CEC5CD5FC8B0BFEB>

<4D F736F F F696E74202D20C1A63134C0E520C6F7C0CEC5CD5FC8B0BFEB> 쉽게풀어쓴 C 언어 Express 제 14 장포인터활용 이중포인터 이중포인터 (double pointer) : 포인터를가리키는포인터 int i = 10; int *p = &i; int **q = &p; // i 는 int 형변수 // p 는 i 를가리키는포인터 // q 는포인터 p 를가리키는이중포인터 이중포인터 이중포인터의해석 이중포인터 // 이중포인터프로그램

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

프로그램카운터 (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

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

Frama-C/JESSIS 사용법 소개

Frama-C/JESSIS 사용법 소개 Frama-C 프로그램검증시스템소개 박종현 @ POSTECH PL Frama-C? C 프로그램대상정적분석도구 플러그인구조 JESSIE Wp Aorai Frama-C 커널 2 ROSAEC 2011 동계워크샵 @ 통영 JESSIE? Frama-C 연역검증플러그인 프로그램분석 검증조건추출 증명 Hoare 논리에기초한프로그램검증도구 사용법 $ frama-c jessie

More information

Microsoft PowerPoint - 03_(C_Programming)_(Korean)_Pointers

Microsoft PowerPoint - 03_(C_Programming)_(Korean)_Pointers C Programming 포인터 (Pointers) Seo, Doo-Ok Clickseo.com clickseo@gmail.com 목 차 포인터의이해 다양한포인터 2 포인터의이해 포인터의이해 포인터변수선언및초기화 포인터연산 다양한포인터 3 주소연산자 ( & ) 포인터의이해 (1/4) 변수와배열원소에만적용한다. 산술식이나상수에는주소연산자를사용할수없다. 레지스터변수또한주소연산자를사용할수없다.

More information

Microsoft PowerPoint - 부호기와 복호기.PPT

Microsoft PowerPoint - 부호기와 복호기.PPT 논리회로실험부호기와복호기 2005. 5. 3. 부호기와복호기란? 이론실험내용 개요 Encoder & Decoder 서로다른부호간의변환에사용되는것으로디지털신호를압축하거나전송시깨지지않도록바꾸는등여러가지목적에의해부호화라는장치와부호화되어전송되어온신호를다시원래의디지털신호로복호하는장치들을말한다. CODEC(enCOder DECoder) 이라고도한다. 기타 10진 to

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

Microsoft PowerPoint - chap10-함수의활용.pptx

Microsoft PowerPoint - chap10-함수의활용.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

PowerPoint Presentation

PowerPoint Presentation FORENSICINSIGHT SEMINAR SQLite Recovery zurum herosdfrc@google.co.kr Contents 1. SQLite! 2. SQLite 구조 3. 레코드의삭제 4. 삭제된영역추적 5. 레코드복원기법 forensicinsight.org Page 2 / 22 SQLite! - What is.. - and why? forensicinsight.org

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Reverse Engineering Basics IA32 Basics CPU(Central Processing Units) 의구조 ALU Register EAX s EBX ECX EDX ESI EDI ESP EBP Control Unit EIP IR Eflags I/O Unit Data Bus Address Bus IA32 Register What is Register?

More information

Microsoft PowerPoint - c2.ppt

Microsoft PowerPoint - c2.ppt 프로그램과표준입출력 프로그램 (program) 자료를입력받아서이를처리하여출력을하는일을수행함 2 장 C 언어의기초 입력 프로그램 ( 처리 ) 출력 식별자, 예약어 자료형 상수와변수 수식 연산자 : 산술연산자 자료형변환 표준입출력 (standard input and output: stdio) 표준입력 : 키보드입력 표준출력 : 모니터또는터미널로출력 (cf) DOS,

More information

Computer Architecture

Computer Architecture 정수의산술연산과부동소수점연산 정수의산술연산부동소수점수의표현부동소수점산술연산 이자료는김종현저 - 컴퓨터구조론 ( 생능출판사 ) 의내용을편집한것입니다. 3.5 정수의산술연산 기본적인산술연산들 2 2 3.5.1 덧셈 2 의보수로표현된수들의덧셈방법 두수를더하고, 만약올림수가발생하면버림 3 3 병렬가산기 (parallel adder) 덧셈을수행하는하드웨어모듈 4- 비트병렬가산기와상태비트제어회로

More information

PowerPoint Template

PowerPoint Template 10 포인터 1 주소 Address( 주소 ) 메모리에는그메모리의저장장소의위치를나타내는주소값 주소 (address) 는 1 바이트마다 1 씩증가하도록메모리에는연속적인번호가구성 2 주소연산자 & & 변수 변수의주소값을알아내려면변수앞에주소연산자 & (ampersand) 를이용 주소값이용장단점 주소값을이용하면보다편리하고융통성있는프로그램이가능 그러나복잡하고어려운단점

More information

Microsoft Word - Heap_Spray.doc

Microsoft Word - Heap_Spray.doc Heap Spray 본문서는 최근 웹 브라우저를 이용한 공격에 사용되는 Heap Spray 기법에 대한 내용을 수록하였다. 관련 내용에 대하여 많은 도움이 되기 바란다. 문서 내용은 초보자도 쉽게 이해할 수 있도록 관련 내용에 대한 설명을 포함하였다. Hacking Group OVERTIME force< forceteam01@gmail.com > 2007.05.13

More information

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 비트연산자 1 1 비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 진수법! 2, 10, 16, 8! 2 : 0~1 ( )! 10 : 0~9 ( )! 16 : 0~9, 9 a, b,

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

Visual Basic 반복문

Visual Basic 반복문 학습목표 반복문 For Next문, For Each Next문 Do Loop문, While End While문 구구단작성기로익히는반복문 2 5.1 반복문 5.2 구구단작성기로익히는반복문 3 반복문 주어진조건이만족하는동안또는주어진조건이만족할때까지일정구간의실행문을반복하기위해사용 For Next For Each Next Do Loop While Wend 4 For

More information

Microsoft PowerPoint - 제11장 포인터(강의)

Microsoft PowerPoint - 제11장 포인터(강의) 쉽게풀어쓴 C 언어 Express 제 11 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 1003 1004 1005 영화관 1002 1006 1001 포인터 (pointer) 1007 메모리의구조

More information

Microsoft PowerPoint - 1-2장 디지털_데이터 .ppt

Microsoft PowerPoint - 1-2장 디지털_데이터 .ppt 1 장디지털개념 한국기술교육대학교정보기술공학부전자전공장영조 1.1 디지털과아날로그 아날로그 : 연속적인범위의값으로표현 디지털 : 2 진수의값에의해표시 < 아날로그파형 > < 디지털파형 > 2 1.2 논리레벨과펄스파형 양논리시스템 (positive logic system)- 일반적으로많이사용 1(high 레벨 ), 0(low 레벨 ) 로나타냄. 음논리시스템 (negative

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

구문 분석

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

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

시스템 프로그래밍.hwp

시스템 프로그래밍.hwp 기술문서 09. 07. 15. 작성 작성자 : 한국항공대학교 IDT 배건규 muckmock@kau.ac.kr - 1 - 목차 1. 어셈블리(MASM) 의기초...3 2. 데이터전송, 주소지정연산...7 3. 프로시저...13 4. 조건부처리...19 5. 정수연산...28 6. 고급프로시저...30 7. 문자열과배열...33 8. 어셈블리를이용한블록격파게임만들기...42

More information

1.2 자료형 (data type) 프로그램에서다루는값의형태로변수나함수를정의할때주로사용하며, 컴퓨터는선언된 자료형만큼의메모리를확보하여프로그래머에게제공한다 정수 (integer) 1) int(4 bytes) 연산범위 : (-2 31 ) ~ (2 31 /2)-

1.2 자료형 (data type) 프로그램에서다루는값의형태로변수나함수를정의할때주로사용하며, 컴퓨터는선언된 자료형만큼의메모리를확보하여프로그래머에게제공한다 정수 (integer) 1) int(4 bytes) 연산범위 : (-2 31 ) ~ (2 31 /2)- 1.2 자료형 (data type) 프로그램에서다루는값의형태로변수나함수를정의할때주로사용하며, 컴퓨터는선언된 자료형만큼의메모리를확보하여프로그래머에게제공한다. 1.2.1 정수 (integer) 1) int(4 bytes) 연산범위 : (-2 31 ) ~ (2 31 /2)-1 연산범위이유 : 00000000 00000000 00000000 00000000의 32

More information

02장.배열과 클래스

02장.배열과 클래스 ---------------- DATA STRUCTURES USING C ---------------- CHAPTER 배열과구조체 1/20 많은자료의처리? 배열 (array), 구조체 (struct) 성적처리프로그램에서 45 명의성적을저장하는방법 주소록프로그램에서친구들의다양한정보 ( 이름, 전화번호, 주소, 이메일등 ) 를통합하여저장하는방법 홍길동 이름 :

More information

Microsoft PowerPoint - chap03-변수와데이터형.pptx

Microsoft PowerPoint - chap03-변수와데이터형.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

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,

More information

API 매뉴얼

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

More information

Microsoft PowerPoint - chap-05.pptx

Microsoft PowerPoint - chap-05.pptx 쉽게풀어쓴 C 언어 Express 제 5 장수식과연산자 컴퓨터프로그래밍기초 이번장에서학습할내용 * 수식과연산자란? * 대입연산 * 산술연산 * 논리연산 * 관계연산 * 우선순위와결합법칙 이번장에서는수식과연산자를살벼봅니다. 컴퓨터프로그래밍기초 2 수식 수식 (expression) x + y x*x + 5*x + 6 (principal * interest_rate

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 중앙처리장치의명령어 Prof. Jae Young Choi ( 최재영교수 ) (2015 Spring 의학진단및치료기기학 ) Prof. Jae Young Choi 스택저장장치 (1/2) 스택 (Stack) 은 CPU 내부의레지스터집합에존재하는저장장치 데이터가순차적으로저장 / 스택의길이는가변함 한번에하나의요소에만액세스가능 데이터접근방법 : 나중입력먼저출력 (LIFO:

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 중앙처리장치의명령어 Prof. Jae Young Choi ( 최재영교수 ) (2015 Spring 의학진단및치료기기학 ) Prof. Jae Young Choi 스택저장장치 (1/2) 스택 (Stack) 은 CPU 내부의레지스터집합에존재하는저장장치 데이터가순차적으로저장 / 스택의길이는가변함 한번에하나의요소에만액세스가능 데이터접근방법 : 나중입력먼저출력 (LIFO:

More information

Microsoft PowerPoint - 제11장 포인터

Microsoft PowerPoint - 제11장 포인터 쉽게풀어쓴 C 언어 Express 제 11 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 1003 1004 1005 영화관 1002 1006 1001 포인터 (pointer) 1007 메모리의구조

More information

Microsoft PowerPoint - C++ 5 .pptx

Microsoft PowerPoint - C++ 5 .pptx C++ 언어프로그래밍 한밭대학교전자. 제어공학과이승호교수 연산자중복 (operator overloading) 이란? 2 1. 연산자중복이란? 1) 기존에미리정의되어있는연산자 (+, -, /, * 등 ) 들을프로그래머의의도에맞도록새롭게정의하여사용할수있도록지원하는기능 2) 연산자를특정한기능을수행하도록재정의하여사용하면여러가지이점을가질수있음 3) 하나의기능이프로그래머의의도에따라바뀌어동작하는다형성

More information

PowerPoint Presentation

PowerPoint Presentation #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

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

Microsoft Word - Reversing Engineering Code with IDA Pro-4-1.doc

Microsoft Word - Reversing Engineering Code with IDA Pro-4-1.doc Reverse Engineering Code with IDA Pro By Dan Kaminsky, Justin Ferguson, Jason Larsen, Luis Miras, Walter Pearce 정리 : vangelis(securityproof@gmail.com) 이글은 Reverse Engineering Code with IDA Pro(2008년출판

More information

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 3 장 : 변수와데이터형 2012 년 이은주 학습목표 변수와상수의개념에대해알아본다. 리터럴상수, 매크로상수, const 변수에대해알아본 다. C 언어의데이터형에대해알아본다. 2 목차 변수와상수 변수 상수 데이터형 문자형 정수형 실수형 sizeof 연산자 3 변수와상수 변수 : 값이변경될수있는데이터 상수 : 값이변경될수없는데이터

More information

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint - [2009] 02.pptx 원시데이터유형과연산 원시데이터유형과연산 원시데이터유형과연산 숫자데이터유형 - 숫자데이터유형 원시데이터유형과연산 표준입출력함수 - printf 문 가장기본적인출력함수. (stdio.h) 문법 ) printf( Test printf. a = %d \n, a); printf( %d, %f, %c \n, a, b, c); #include #include

More information

. 고성능마이크로프로세서 LU 와레지스터 파일의구조 (2.). 직접디지털주파수합성기 (FS) 의구조 3. 고성능마이크로프로세서부동소수점연산기 (Floating-Point Unit) 구조 (2) (2.) (2.) 2. 암호화를위한 VLSI 구조와설계의개요 (2.) 다음참

. 고성능마이크로프로세서 LU 와레지스터 파일의구조 (2.). 직접디지털주파수합성기 (FS) 의구조 3. 고성능마이크로프로세서부동소수점연산기 (Floating-Point Unit) 구조 (2) (2.) (2.) 2. 암호화를위한 VLSI 구조와설계의개요 (2.) 다음참 이비디오교재는정보통신부의 999년도정보통신학술진흥지원사업에의하여지원되어연세대학교전기전자공학과이용석교수연구실에서제작되었습니다 고성능마이크로프로세서 LU ( rithmetic Logic Unit) 와 Register File의구조 2. 연세대학교전기전자공학과이용석교수 Homepage: http://mpu.yonsei.ac.kr E-mail: yonglee@yonsei.ac.kr

More information

3. 1 포인터란 3. 2 포인터변수의선언과사용 3. 3 다차원포인터변수의선언과사용 3. 4 주소의가감산 3. 5 함수포인터

3. 1 포인터란 3. 2 포인터변수의선언과사용 3. 3 다차원포인터변수의선언과사용 3. 4 주소의가감산 3. 5 함수포인터 - Part2-3 3. 1 포인터란 3. 2 포인터변수의선언과사용 3. 3 다차원포인터변수의선언과사용 3. 4 주소의가감산 3. 5 함수포인터 3.1 포인터란 ü ü ü. ü. ü. ü ( ) ? 3.1 ü. ü C ( ).? ü ü PART2-4 ü ( ) PART3-4 3.2 포인터변수의선언과사용 3.2 포인터 변수의 선언과 사용 (1/8) 포인터 변수의

More information

<C0FCC0DAB0E8BBEAB1E2B1B8C1B6347E36B0AD20B9AEC1A62BC1A4B4E42E687770>

<C0FCC0DAB0E8BBEAB1E2B1B8C1B6347E36B0AD20B9AEC1A62BC1A4B4E42E687770> P.120 기 출 문 제 9904 9908 0010 0109 1. 정보의단위로가장적은것은? 가. Byte 나. Word 다. Bit 라. Record 0005 0103 0605 2. 4비트로나타낼수있는정보단위는? 가. Nibble 나. Character 다. Full-Word 라. Double-Word 0007 3. 다음정보의단위중하위의개념에서상위의개념으로올바르게나열된것은?

More information

Microsoft PowerPoint - 8ÀÏ°_Æ÷ÀÎÅÍ.ppt

Microsoft PowerPoint - 8ÀÏ°_Æ÷ÀÎÅÍ.ppt 포인터 1 포인터란? 포인터 메모리의주소를가지고있는변수 메모리주소 100번지 101번지 102번지 103번지 int theage (4 byte) 변수의크기에따라 주로 byte 단위 주소연산자 : & 변수의주소를반환 메모리 2 #include list 8.1 int main() using namespace std; unsigned short

More information