Assmbly 첨부파일에는 컴파일 링크시 필요한 asm_io.inc, asm_io.asm 파일과 nasm 컴파일러 올려둡니다. nasm 컴파일은 아래와 같은 경로에서 받을수 있다. nasm 컴파일Ex) asm_io.asm 파일 내부12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512..
Assembly Assembly language ㆍadd eax, ebx 는 C에서 eax = eax + ebx 와 같다. ㆍmov eax, ebx 는 C에서 eax = ebx 와 같다. ML컴파일 ㆍasm 컴파일 (test.obj 파일 생성): ml /c /coff test.asm Ex) assembly 문법 맛보기 ◈ test.asm 파일 12345678910PUBLIC _EMB // 함수호출.386 // 386모드 (.은 c에서 #과동일).MODEL FLAT // FLAT 메모리 사용.CODE // 코드영역 시작_EMB PROC NEAR32 // _EMB함수 시작과 끝은 함수이름으로 사용 mov eax,100 // eax = 100; ret_EMB ENDP // END PROC 의미 END Colo..
예외 처리 📌 오류 예외 처리 기법 다음은 오류 처리를 위한 rty, except문의 기본 구조이다. try: ... except [발생 오류 [as 오류 메시지 변수]]: ... try 블록 수행 중 오류가 발생하면 except 블록이 수행된다. 하지만 try 블록에서 오류가 발생하지 않으면 except 블록은 수행되지 않는다. 위 구문을 보면 [] 기호를 사용하는데, 이 기호는 괄호 안의 내용을 생략할 수 있다는 관례적인 표기법이다. 🔔 예) try, except 만 쓰는 방법 try: ... except: ... 이 경우는 오류 종류에 상관없이 오류가 발생하기만 하면 except 블록을 수행한다. 🔔 예) 발생 오류만 포함한 except문 try: ... except 발생 오류: ... 이 경우는 ..
패키지 패키지(Packages)는 도트(.)를 이용하여 파이썬 모듈을 계층적(디렉터리 구조)으로 관리할 수 있게 해준다. 예를 들어 모듈명이 A, B인 경우 A는 패키지명이 되고 B는 A패키지의 B모듈이 된다. 🔔 예) 가상의 game 패키지 예 game/ __init__.py sound/ __init__.py echo.py wav.py graphic/ __init__.py screen.py render.py play/ __init__.py run.py test.py game, sound, graphic, play는 디렉터리명이고 .py 확장자를 가지는 파일은 파이썬 모듈이다. game 디렉터리가 이 패키지의 루트 디렉터리이고, sound, graphic, play는 서브 디렉터리이다. 패키지 만들기 📌..
모듈 📌 모듈 만들고 불러 보기 작성한 모듈을 대화형 인터프리터 경로와 일치 시킨다. import는 현재 디렉터리에 있는 파일이나 파이썬 라이브러리가 저장된 디렉터리에 있는 모듈만 불러올 수 있다. safe_sum 함수는 서로 다른 타입의 객체끼리 더하는 것을 미리 막아 준다. 결과 : 📌 모듈 함수를 사용하는 또 다른 방법 mod1 모듈이름을 생략하고 함수를 호출하기 위한 사용법 이다. * 문자는 "모든것"이라는 뜻인데 파이썬에서도 마찬가지 의미로 사용된다. if __name__ == "__main__": 의 의미 위와 같은 mod1.py 파일을 에디터로 작성했다면 다음처럼 실행할 수 있다. 엉뚱하게도 import mod1을 수행하는 순간 mod1.py가 실행이 되어 결과값을 출력한다. sum과 saf..
목차 클래스 클래스 변수 클래수 변수는 객체간 서로 공유되는 변수로 보통 클래스에 의해 생성되는 객체들이 공통적으로 사용할 목적으로 쓰인다. 클래스 변수는 객체를 통한 접근(예:ptr.py)방법 외에 클래스를 통한 접근도 가능하다. 클래스 함수 클래스 에서 함수를 사용하는 방법은 위와 같다. Self 살펴보기 위의 예제에서 sum함수는 첫 번째 입력값(self)을 가지고 가입한 사람인지 아닌지를 판단한다. test.sum(1, 1)이라는 호출이 발생하면 sum함수의 첫번째 인수인 self에는 호출 시 이용했던 객체(즉, test라는 아이디)가 자동으로 전달 된다. (※ 클래스 함수는 다른말로 메서드(Method)라고 부른다. 메서드의 첫번째 파리미터 self를 명시적으로 구현해야 하는 것은 파이썬만의 독..
파일 읽고 쓰기 📌 파일 생성하기 파일 열기 모드 설명 r 읽기모드 - 파일을 읽기만 할 때 사용 w 쓰기모드 - 파일에 내용을 쓸 때 사용 a 추가모드 - 파일의 마지막에 새로운 내용을 추가 시킬 때 사용 만약 파일을 원하는 디렉터리에 생성하고 싶다면 위와 같이 작성해야 한다. 📌 파일을 쓰기 모드로 열어 출력값 적기 결과: 프로그램의 외부에 저장된 파일을 읽는 여러가지 방법 📌 readline() 함수 이용하기 🔔 예) 한줄 출력의 예이다. 만약 모든 라인을 읽어서 화면에 출력하고 싶다면 위와 같이 작성하면 된다. (readline()은 더 이상 읽을 라인이 없을 경우 None을 출력한다.) 📌 read() 함수 이용하기 파일에 새로운 내용 추가하기 쓰기 모드('w')로 파일을 열 때 이미 존재하는 ..
사용자 입력과 출력 📌 input의 사용 input은 입력되는 모든 것을 문자열로 취급한다. 💡 파이썬 2.7 버전의 경우 위 예제의 input 대신 raw_input을 사용해야 한다. 📌 프롬프트를 띄워서 사용자 입력 받기 print 자세히 알기 📌 큰따옴표(")로 둘러싸인 문자열은 + 연산과 동일하다 따옴표로 둘러싸인 문자열을 연속해서 쓰면 + 연산을 한 것과 같다. 📌 문자열 띄어쓰기는 콤마로 한다. 콤마(,)를 이용하면 문자열 간에 띄어쓰기를 할 수 있다. 📌 한 줄에 결과값 출력하기