본문 바로가기
반응형

코스웨어/12년 내장형하드웨어207

windbg 를 편하게 보는 방법. 단축키를 이용해서 WinDBG를 편하게 사용해 보자.그림 보기 싫은 사람을 위해 요약하자면, 컴파일과 windbg 자동 실행을 위해 go.bat 실행windbg가 실행되면,alt + 4 를 눌러서 register view 를 띄우고alt + space bar , x 를 눌러서 창을 최대화. 덤으로 alt + space , r은 이전크기, n은 최소화F8또는 F11을 눌러서 디버깅을 진행하는데, 이때 브레이크 포인트 없다고 나오는 경고는 스페이스바등으로 넘기고alt + w, v 로 세로 정렬로 창을 보기 좋게 정렬(!). 수업에 집중한다. 익숙해지면 이모든 과정은 1초정도 안에 이루어진다!!!! 일단, go! 2012. 8. 29.
EFLAGS 레지스터 구조+설명 입니다<----이동혁 2012. 8. 29.
batch 의 if else 을 이용하여 compile 부터 windbg 까지 실행하기 아래 Batch 파일을 go.bat 등으로 저장하여 Path가 이어진 곳, C:\asm\software 등에 넣어 두고 사용하면 됩니다.main.pdb 의 존재 여부를 확인하여 Debugger를 실행할지를 판단하여 windbg를 실행합니다. @echo off setlocal set main=main.pdb del *.ilk del *.pdb ml /c /coff /Zi first.asm link /debug /subsystem:console /entry:start /out:main.exe first.obj io.obj Kernel32.Lib IF EXIST %main% ( windbg main.exe ) ELSE ( echo debug 정보없음 ) 2012. 8. 29.
패리티 비트 설명글 by.정철 저번에 티스토리에 적어놓은건데 올립니다 컴퓨터에서, 패리티는 데이터가 저장장치 내의 한 장소에서 다른 장소로 이동되거나, 컴퓨터들간에 전송될 때, 데이터가 유실 또는 손상되었는지 여부를 점검하는 기술과 관련된 용어이다. 지금부터 패리티 비트가 어떻게 작용하는지를 보이겠다. 여분의 비트 한개, 즉 패리티 비트는 비트열 내에 추가되어 함께 이동된다. 이 비트는 오직 전송된 비트들이 성공적으로 도착하였는지를 식별하는 목적으로만 사용된다. 비트들이 보내지기 전에 계산을 해서, 만약 전체 데이터 비트의 합이 짝수이면, 패리티 비트를 1로 설정함으로써 전송되는 모든 비트의 합계가 홀수가 되도록 한다. 만약 데이터 비트 값의 합이 이미 홀수라면, 패리티비트는 0으로 설정된다. 수신 측에서는, 들어오는 비트군(群)을 .. 2012. 8. 29.
masm 기본형입니다 .386 .MODEL FLAT ExitProcess PROTO NEAR32 stdcall, dwExitCode:DWORD INCLUDE io.h cr EQU 0Dh lf EQU 0Ah .STACK 4096 .DATA number DWORD ? prompt BYTE " ", 0 string BYTE 40 DUP (?) .CODE _start: INVOKE ExitProcess, 0 PUBLIC _start END 2012. 8. 29.
시리얼 ARM소스입니다 -정철 2012. 8. 28.
[Assembly]2012/08/27 작업일지(어셈블리어 더하기) - by 이창현 어셈블리어 정수를 더해서 화면에 출력.. 그림 1> 메모리 DATA영역에 해당하는 코드. 1. 그림 1>에서 보면 ExitProcess라는 함수를 선언하였는데 거기에 인자로 stdcall 이라는 인자를 볼수 있다. 다음으로 "include io.h"라고 되어 있는 부분이 있는데, 그 부분은 io.h 라는 헤더파일을 포함 시키고 있다. 그리고 .STACK 에서는 4 KByte 사용 하겠다고 지정 하였으며, .DATA는 메모리의 데이터 영역에 속하는 코드로 전역 변수들을 선언 하거나 정의 하였당... 그림 2> 메모리의 CODE영역에 해당하는 코드. 2. 그림 2>에서는 메모리의 코드영역에 해당하는 코드이며, 주로 실질적인 프로그램 처리를 한다. 그리고 함수들의 노는 공간(함수를 만들면 CODE 영역에 생성.. 2012. 8. 27.
2012/8/24 금요일 디테일 정리 1 정리일지가 있지만, 자세한 설명을 원하는 사람에게 정리한겸 올림니다. 틀린 것이 있을 수 있으니 공부와 확인을 요합니다. 지난 시간 어큐멀레이터에 대해 알아 보았다 intel에서만 특정한 레지스터의 성능을 좋게 만들어 놓은 것으로 , 부호확장의 예를 c로 보자 signed 인 변수 a와 b 의 값은 (-) 이기 때문에 나머지 자리에 1로 채워진다. (2자리만 나올수 있게 할수 없는 이유) unsigned 인 c와 같은 경우 부호가 + 이므로 2자리가 출력 된다. - arm과 intel 의 함수 호출 비교 arm은 r1~r32 까지의 많은 레지스터를 보유 / intel 은 eax ebx ... 등 9개의 적은 레지스터가 있음 함수 호출 규약을 보면, arm은 함수인자를 4개 까지는 cpu안의 레지스터를 사.. 2012. 8. 27.
[Assembly] NASM 설치 방법!! [NASM 설치 과정] [1] 먼저 http://www.nasm.us/ 공식 홈페이지에 접속합니다. [2] 상단의 DOWNLOAD 를 누르면 아래와 같은 화면이 나오는데 이 중, 맨 위의 2.10.4를 클릭하도록 합니다. [3] 다음과 같은 목록들이 뜨는데 우리는 이 중, 맨 아래의 win32 를 사용한다. 이걸 선택합니다. [4] 그러면 두 가지 다운 목록이 뜨는데, 아래의 nasm-2.10.04-win32.zip 를 선택해 다운받도록 합니다. [5] 이렇게 다운받은 압축 파일의 압축을 풀고, 아래의 경로로 따라 들어가서 SETUP.EXE 파일을 실행해 설치하도록 합니다. [6] 설치가 끝나고 나면 환경 변수에서 path 변수에 방금 설치한 프로그램의 경로를 맨 뒤에 적어주어야 합니다. 환경 변수를 수.. 2012. 8. 27.
728x90
반응형