공부를 시작하는데 엄청난 장애가 있는 것 같습니다.

Eavan의 이미지

제가 원리나 기초 구성에 관한 공부를 하고 상급체계를 공부하는 성격탓에 네트워크는 OSI나 신호, 축약어의 풀이 등을 먼저 알고 나중에 실제 기술적인 부분을 공부하는 타입인데...

네트워크는 유물자료를 구하기 쉬운 반면에...

Assembly는 자료를 구하기가 그렇게 어렵더군요...orz

어떻게 쓰면 됩니다밖에 없고 구성 원리나 분석등, Assembly Language를 Assemble시킨 책이나 사이트를 찾을 수 가 없습니다.

혹시 조건에 맞는 사이트나 책을 아시는 분 께서는 원서나 해외사이트라도 좋으니 알려주십사 글 한번 적어봅니다...

Art of Asssembly Language라는 책이 있다던데 이 조건에 부합하는지 읽어보신분께서 혹시 알려주실 수 있으시다면 감사드리겠습니다.
(서점가서 읽어보고 사고싶었는데 구매되어있는 서점을 찾을수 가 없습니다...)

shint의 이미지

어렵네요.
- 어셈블리 카페에 들어가서 물어보기
- 학원. 기업. 대학교. 직업학교 등에 문의해보기
- 도서관. 서점. 네이버 책. 구글. 네이버. 다음. 모두 찾아보기.

이렇게 확인한 후에. 서울 대형서점 둘러보는것도 좋습니다.

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com

Eavan의 이미지

구글링을 기본으로 전국의 교보문고와 영풍문고, 어셈블리 블로그 및 구글 플러스 어셈블리 그룹에도 들어가봤는데 답이 안나왔고 학원은 C들으면 곁다리 안내만 있어서 다른방안을 찾고있었습니다 ㅠㅠ

좀 더 다른데도 찾아봐야 할 것 같습니다...

Eavan의 이미지

조금 아쉬운건 저 같은 경우에는 네트워크쪽을 비유로 들자면 TCP/IP Illustrated, Volume 1 TCP/IP 네트워크 프로토콜의 이해 같은 정도의,
원리 자체를 파악하고 들어가는 내용을 원하고 있는데 이런게 기술력쪽에 들어가서 잘 공개가 안되는게 있는 것 같습니다...

가령 예를들면 어째서 8비트를 1바이트로 지정하게 되었느냐부터, 메모리 주소가 왜 16줄씩 되어있는가?에 대한 정확한 이유가 적힌 책을 찾고 있습니다.
그렇게 정해져서 이렇게 써야한다 같은 순환논증 오류가 있는 책이 아니라, 뭔가 메모리의 물리적인 문제가 얽혀있다면 그런 내용이라던가 같은 시시콜콜한 자료를 찾고있습니다.

이런 자료들은 살펴보면 이걸 넘어가면 오류가 난다는데 왜 이런 오류가 발생하는지에 대한 설명을 전체적인 시각에서 해설해준 내용이 없어서 책을 찾고있습니다...

직설적으로 표현하면...

설명서가 필요한게 아니라, 학문적으로 접근한 내용을 파해치는 자료가 필요합니다...

어셈블리는 그런식의 접근이 적어서그런지 거의 찾을수 없어서 글로 남겼습니다..

만약 알려주신 자료에 그런 내용이 있는데 제 영어내공의 부족으로 알아채지 못 했다면 죄송합니다...

아무리봐도 어떤 지침은 내려주는데 왜 그 지침이 나오는지에 대한 자료는 부족한 것 같습니다...
TCP/IP를 설명할 때 OSI 7계층이 왜 이런 형태로 나왔는가에 대한 설명 같이 그런 설명이 필요한거라서요...

쓰는게 중요한게 아니라 왜 이렇게 되느냐를 알고 싶은데...

어셈블리는 사용법만 남아있는거 같습니다...

jeff_an의 이미지

영어로 검색해보셨나요? 왜 8비트가 1바이트가 되었는지, 왜 메모리 주소가 16줄씩 되어있는지, 검색만 해도 엄청 나오네요...
그리고 그런 왜 이렇게 되어 왔냐 식의 문제는 해당 개념의 철학과 역사를 되짚어 가야 합니다.
제가 볼 땐... 영어로 검색을 안하시는것 같네요..

hxploit의 이미지

그런 건 history 관련해서 찾으셔야죠. 기술적인 문서를 찾으려하면 당연히 안 나옵니다.
책으로 그런 걸 묶어둔 건 잘 못봤고, 인터넷에서 찾으면 다 나옵니다.
가령 위에서 말씀하신 걸 한 가지 예를 들어 봅니다.

구글 - "why 8bit 1byte"
http://programmers.stackexchange.com/questions/120126/what-is-the-history-of-why-bytes-are-eight-bits
(이건 어셈블리 관련 내용도 아니죠 -,-)

그리고 메모리 주소가 16줄 이건 무슨 얘긴지 모르겠는데, 단순히 진법을 말씀하시는 거면
그냥 단순히 2진 주소를 표현하기에 적당하기 때문입니다. 그것 뿐 아니라 생각하시는 것의 대다수가
사실 생각보다 별거 없는 이유인 경우가 많습니다. 알아도 별 의미없는 내용이 많죠.

구체적으로 어셈블리의 어떤 구성원리나 분석이 필요하신 건지 말씀을 해주세요.
본인이 그걸 말로 표현을 못하면 당연히 그런 내용은 못찾습니다. 구체적으로 뭐가 궁금한건가요?

Eavan의 이미지

계속 적고있지만

네트워크의 시그널이 어째서 그렇게 정의되었는가에 대한 기술적 견해같이

메모리 영역의 한계에 대한 기술적인 기술 및 ASCII코드가 어째서 영문이 먼저가 아니라 CTRL + A같은 명령어 셋부터 채워넣게 되는지에 대한 기술적인 이유같은

사용되고 있는 기술에 대한 '어째서?'를 묻는 책을 찾고있습니다.

네트워크쪽에서는 한국 서적중에 GNS3로 배우는 시스코 네트워크 인가 하는 책 같이 이유를 기술적으로 설명하는 책이나 문서가 필요한 것 입니다.

partial_kuiper의 이미지

솔직히 요즘 세상이 너무 좋아서 어셈코드를 쓸일이 없습니다.
하지만 임베디드(흔히들 16비트 마이컴)을 집중적으로 파고들면
어셈코드를 짤수 있는 기회가 많습니다. (저같은경우는 인라인코드 (어셈+C)를 작성한 기억이 있네요..)

여기서 조금더 실력자가 된다면...
각 CPU Vendor에서 제공하는 데이터 시트만 보면 시스템 API 를 제작할수 있습니다.
(저희 교수님이 실제로 그랬습니다. Cortex-M3 개발보드 샀는데 C언어 API가 부실하여 빡쳐가지고...
데이터시트와 벡터테이블을 보고 API 라이브러리를 만드셨습니다.
약 8개월 가량 걸렸는데 그러고 나니 C언어 헤더파일만 80K 정도 나왔다고 하더군요... 샘플코드는 100K 정도??)

partial_kuiper의 이미지

하버드 아키텍쳐인 마이컴 짜서 오실로스코프와 JTAG을 이용하여 파형찍어보세요..
예술입니다..

데이터 BUS와 명령어 BUS가 같기 때문에 파형에 찍힌것만 보고
이게 명령어인지 데이터인지 판단하면서 분리작업을 해야만합니다..

이정도까지 된다면 어셈코드 끝판왕이라보실수 있습니다..

Eavan의 이미지

임베디드 분야를 찾아야 하는거군요...

아직 임베디드에서 현역이라면 확실히 그 분야에 책이 있을 거 같습니다.

감사드립니다.

partial_kuiper의 이미지

공부로써는 임베디드를 하는게 좋습니다.
시스템 프로그래밍 하기도 좋고..

하지만 이쪽 계통은 취업하기가 상당히 까다롭습니다..
가더라도 박봉일 확률이 매우매우 높습니다. 웹쪽에 비해서 보면은요...

학습목적이라면 최강이라고 하지만
만약 본업이라고 하면...

많이 어려운 길이 될것입니다...

Eavan의 이미지

학문으로서 접근하는 것이기에 큰 부담은 없을 듯 합니다.

c를 하려다보니 어셈이 궁금해지고 어셈을 하려다보니 시스템 프로그래밍에 더해서 전반적인 어셈블리에 대한 지식과 상식이나 어셈블리만의 특이한 구조 같은것도 자세히 알고싶어져서 찾고 있습니다.

goforit의 이미지

오래전에 신입 사원 받으면 어셈블리를 가르치기 위해서 다음 목록을 주었습니다.

#1 The GNU Assembler - 약자로 GAS 라고합니다.
*https://sourceware.org/binutils/docs/as/
*https://en.wikibooks.org/wiki/X86_Assembly/GAS_Syntax

#2 The GNU Linker manaul
*https://sourceware.org/binutils/docs/ld/

#3 ARM Assembly manual
#http://infocenter.arm.com/help/topic/com.arm.doc.dui0489f/DUI0489F_arm_assembler_reference.pdf

Eavan의 이미지

터미널에서 해볼 예정인지라 gnu assembler가 필요했습니다.
감사히 보겠습니다.