INCLUDE Irvine32.inc.dataSystemPrompt1 BYTE "Enter the number you want!",0; 입력 받기위한 출력하기 위한 변수 선언SystemPrompt2 BYTE " * ",0; BYTE타입의 *의 형태로 출력하기 위함 example) 2 * 4 = ValueSystemPrompt3 BYTE " = ",0; BYTE 타입의 =의 형태로 출력하기 위함val1 DWORD 2; DWORD 타입의 var1 변수 value = 2 initval2 DWORD 1; DWROD 타입의 var2 변수 value = 1 initnum DWORD 0; DWORD 타입의 num 변수 value = non init .codemain PROC;prompt 입력mov edx, OFFSE..
안녕하세요, 감자코딩에 감자개발자입니다. 제가 학교에 다니면서 어셈블리어 중간고사 정리 2탄을 준비했습니다. 어셈블리어정수표기법 : [ {+|-} ] digits [진수(radix)](선택사항) 부호 : + or –binary, decimal, hexadecimal, or octal digits진수표기 문자h – 16진수(hexadecimal)d – 10진수(decimal)b – 2진수(binary)r – 실수 (encoded real) 예시30d, 6Ah, 42, 1101b문자로 시작되는 16진수 상수 : 0A5h어셈블리가 식별자로 해석하지 않도록 맨 앞에 0을 넣음 문자는 따옴표(quate) 또는 큰따옴표(double quate)로 둘러싸임예) 'A', "x"ASCII 문자열 = 1 byte 문자열 ..
안녕하세요, 감자코딩에 감자개발자입니다. 제가 학교에 다니면서 어셈블리어 중간고사 정리 1탄을 준비했습니다. 어셈블리어 이진수 일경우 맨앞이0인지 1인지 확인하고 1. 기본값앞이 1일경우에는 빼주고 reverse 해주면 된다.예) 1101 0111 (맨앞 1 음수)1101 01100010 1001 = > -412. 십진수가 음수일경우 맨앞이 0일때 reverse + 1 예) -270001 1011(맨앞 0 양수)1110 0100 1+1110 0101 reverse - or 게이트는 x,y둘중하나만 참이여도 T 나머지 Fand 게이트는 x,y 둘다 참이여야 T 나머지 F 레지스터는 임시 저장소다SRAM(Static) 속도가 더 빠르다.제어 장치(Control unit : CU) 는 기계 명령어를 실행하는데..
9월29일 어셈블리어offset 메모리주소word = 2bytedword = 4 byte c++char array[1000]char *pt = &array; edi,esi addresseax ebx value var DWORD 12345678hvar2 BYTE 12h,34h,56h,78h var 78 56 34 12 리틀엔디안은 뒤에서부터 읽는다var2 12 34 56 78 type = sizeof 배열의 바이트타입크기 SIZEOF , LENGTHOD배열의 크기(개수) add esi,TYPE DWORD 4만큼증가시킬때, inc 1바이트
정수 상수정수 표기법: [+|-] digits [진수 (radix)]- 선택 사항 + or -- 진수 표기 문자h = 16(hex)d = 10(decimal)b = 2(binary)r = 실수(ecnoded read) 예시)- 30d, 6Ah, 42 , 1101b- 문자로 시작 되는 16진수 상수: 0A5Ah어셈블리가 식별자로 해석 하지 않도록 맨앞에 0을 넣는다. 예약어- 예약어는 식별자로 사용할 수 없음.- 예약어의 유형1. 명령어 니모닉: MOV, ADD,MUL2. 디렉티브: 프로그램을 어떻게 어셈블하는지 알려준다.3. 타입 속성 : 변수와 피연산장늬 크기와 사용정보- BYTE, WORD 4. 연산자 식별자 - 프로그래머가 선택한 이름- 변수, 상수, 프로시저, 코드레이블등에 사용- 변수 1-247..
TITLE Add and Subtract (AddSub.asm) ; This program adds and subtracts 32-bit integers. INCLUDE Irvine32.inc .codemain PROCmov eax,10000h; EAX = 10000h add eax,40000h; EAX = 50000hsub eax,20000h; EAX = 30000hcall DumpRegs; display registers 전체 레지스터의 값이 나온다exitmain ENDPEND main; and main은 맨 아래에 들어가야한다. 다른 프로시저를 선언하였을 경우 TITLE Add and Subtract,Version 2 (addSub.asm) ; This program adds and subtract..
어셈블리어 개념 vs 2010vs 2017 High Level Language -> Obecjt File ->Linking -> exe filedisasemble 기계어 -> 어셈블리어asemble 어셈블리어 -> 기계어 리버싱핵심원리 ToolOllydbg GDBvisual Debuger 환경설정 하기1. library download irvine.zip ( irvine 파일 C:/경로) 2. 빈 프로젝트Ex) kgh 3. 사용자 지정 빌드 masm 4. 소스 파일 추가 (text 파일 .asm 파일로 생성 5. 프로젝트명 우클릭 : 설정 3개 6. 링커 -> 일반 -> 추가 라이브러리 카테고리C:\Irvine입력 -> 추가 종속성 irvine32 lib; // 세미콜론으로 나눠준다. 구분위해서 7. m..
- Total
- Today
- Yesterday
- Controller
- 프로그래밍
- Spring
- 감자코딩
- 노드
- 개발하는 관광이
- 백준
- C언어
- Android
- 복습
- 안드로이드
- db
- 초보자를 위한 C언어 300제
- node.js
- 감자개발자
- TensorFlow
- node
- BFS
- 머신러닝
- 스프링
- MVC
- 텐서플로우
- 백준알고리즘
- 리버싱
- 알고리즘
- Algorigm
- 코드엔진
- programming
- C langauge
- 학교
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |