집회에서 프로그램을 배우기-유용한 자료 [닫기]


10

이전 스레드부터 어셈블리 프로그래밍에 대해 조금 배우는 데 관심이있었습니다. 유용한 앱을 프로그래밍하고 싶지는 않지만, 저수준 프로그래밍에 대해 느끼기 만하면 무슨 일이 일어나고 있는지 더 잘 이해할 수 있습니다.

초보자를위한 책이나 온라인 자료를 추천 할 수있는 사람이 있습니까?

감사.


Paul Carter 박사 의이 책 은 x86 ASM에 매우 적합했습니다.
jonescb

답변:


5

권장 도서 : 어셈블리 언어 프로그래밍 기술 .

나는 또한 이 사이트를 좋아 했다 . 어셈블리 프로그래밍에 대한 좋은 소개! 마이크로 프로세서 및 마이크로 컨트롤러 과정을 공부하는 동안 이 사이트를 참조 로 사용했습니다 .


훌륭합니다 ... 감사합니다. 흥미롭게도, 전형적인 현대 언어와 비교했을 때 학습이 얼마나 직관적 이었습니까? 내 역사는 6 개월 C # (업종)이고 거의 C ++ (나의 침실에서) :
Darren Young

1
나는 내 과정에서 어셈블리 프로그래밍을 보았고 (나는 여전히 학생입니다.) 질문에서 말했듯이 임베디드 시스템의 작동 방식과 모든 것을 아는 데 도움이되었습니다. 그러나 고급 언어와 비교할 때별로 유용하지 않다는 것을 알았습니다. 당신은, 내 개발-웹 개발에 그것을 사용하지 않을 것입니다. :)
ykombinator

2

이것은 학술적인 운동입니까, 아니면 배우는 어셈블리 언어를 사용 하시겠습니까? 이것은 요즘 꽤 전문적인 물건입니다. 컴파일러 최적화가 향상되어 고성능 하드 디스크 드라이브와 같은 것조차도 일반적으로 코드베이스의 약 1 %가 어셈블러로 작성되었습니다. 먹이 사슬을 4 비트 또는 8 비트 프로세서로 줄이면 훨씬 더 많은 어셈블리 언어가 사용되는 것을 볼 수 있습니다.

어셈블리 언어를 배우고 싶다면 멋진 명령어 세트가있는 프로세서를 선택하십시오. 저는 전직 ARM 직원이므로 편견이있을 수 있지만 ARM 명령어 세트가 특히 배우기 쉽다는 것을 알았습니다. 회사에서 3 일째되는 날에 효율적인 FIR 필터를 asm에 작성할 수있었습니다. ARM의 반도체 파트너는 요즘 분기당 약 10 억 개의 ARM 코어를 출하하고 있으므로 ARM ASM 전문 지식을 기꺼이 사용할 회사를 쉽게 찾을 수 있습니다.

코드를 시험해 볼 수있는 약 50 달러 정도의 ARM 평가 보드가 많이 있습니다. ARM Cortex M3이 엄청나게 인기가있는 것 같습니다. ARM의 Thumb2 명령어 세트를 사용합니다.이 명령어 세트는 일반 ol 'ARM32 코드보다 약간 애매하지만 여전히 쉽고 강력합니다.

이 작은 보드는 80 유로에 매우 멋지게 보입니다 : http://www.olimex.com/dev/stm32-103stk.html


순전히 학문적 / 자기 학습입니다. 저수준 메모리 관리와 고급 언어를 더 잘 이해하고 싶습니다.
Darren Young

1

기본적으로 어셈블리 프로그래밍의 관점에서 기본 아키텍처를 먼저 알아야합니다. 그런 다음 PIC 마이크로 컨트롤러와 같은 해당 언어를 사용하면 제공된 컴파일러와 언어를 사용할 수 있습니다. 사이트는 PIC 마이크로 컨트롤러 자습서를 참조하기 위해 사용 합니다 .


1

나는 항상 가장 어려운 부분이 hello world라는 것을 알았습니다. 이는 일반적으로 두 개의 숫자를 추가하는 것과 같이 상위 수준의 언어에서 호출되는 사소한 함수입니다. 장애물을 지나면 레퍼토리에 명령과 의사-옵스 (예 : 데이터 정의)를 추가하면됩니다.

ARM을 사용한 적이 없지만 두 번째 geekbrit입니다. 이와 같은 최소한의 아키텍처는 더 쉬울뿐만 아니라 교훈적인 목적이 아니라 합법적 인 것으로 가장 가깝습니다.


0

이 목적을 위해 만들어진 몇 가지 수업과 함께 지침 세트, 어셈블러 및 시뮬레이터가 있습니다. 나는 내가 얼마나 나쁘거나 나쁜지에 대한 피드백을 아직 얻지 못했지만 15 분 반 정도 시간을내어 그것이 당신에게 무엇을 가르쳐 주는지보십시오. http://github.com/dwelch67/lsasim 그 후 몇 가지 주류 명령어 세트 시뮬레이터를 사용하면 C 컴파일러 등이있는 곳 어디에서나 간단하고 간단하게 시도 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.