Học lập trình trong hội - Tài nguyên hữu ích [đóng]


10

Tiếp theo từ một chủ đề trước đó, nó đã khiến tôi quan tâm đến việc tìm hiểu một chút về lập trình hội. Không quá nhiều cho việc muốn lập trình các ứng dụng hữu ích, chỉ để cảm nhận về lập trình cấp thấp để hiểu rõ hơn những gì đang xảy ra.

Bất cứ ai có thể giới thiệu bất kỳ cuốn sách hoặc tài nguyên trực tuyến cho người mới bắt đầu?

Cảm ơn.


Cuốn sách này của Tiến sĩ Paul Carter là khá tốt cho x86 ASM.
jonescb

Câu trả lời:


5

Sách giới thiệu: Nghệ thuật lập trình ngôn ngữ hội .

Tôi cũng thích trang web này . Giới thiệu tốt về lập trình lắp ráp! Tôi đã sử dụng trang này làm tài liệu tham khảo trong khi học khóa học Vi xử lý và Vi điều khiển của mình.


Cảm ơn vô cùng. Không quan tâm, làm thế nào bạn thấy nó học trực quan so với một ngôn ngữ hiện đại điển hình? Lịch sử của tôi là 6 tháng c # (trong ngành) và cùng khoảng thời gian C ++ (trong phòng ngủ của tôi :))
Darren Young

1
Tôi đã bắt gặp lập trình hội trong khóa học của tôi (tôi vẫn còn là một sinh viên), và như bạn đã nói trong câu hỏi của bạn, thật hữu ích khi biết các hệ thống nhúng hoạt động như thế nào và tất cả. Tuy nhiên, so với các ngôn ngữ cấp cao (hiện đại như bạn nói), tôi thấy nó không hữu ích lắm. Bạn biết đấy, sẽ không bao giờ sử dụng nó trong lĩnh vực của tôi - phát triển web. :)
ykombinator

2

Đây có phải là một bài tập học thuật, hoặc bạn đang có ý định sử dụng ngôn ngữ lắp ráp mà bạn học? Đây là công cụ khá chuyên ngành, những ngày này. Tối ưu hóa trình biên dịch đã trở nên rất tốt, đến mức ngay cả một thứ như ổ đĩa cứng hiệu năng cao thường có khoảng 1% cơ sở mã được viết bằng trình biên dịch. Đi xuống chuỗi thức ăn xuống 4bit hoặc một số bộ xử lý 8 bit, bạn sẽ thấy ngôn ngữ lắp ráp được sử dụng nhiều hơn.

Nếu bạn thực sự muốn sử dụng ngôn ngữ lắp ráp, hãy chọn bộ xử lý có bộ hướng dẫn đẹp. Tôi là cựu nhân viên ARM nên có lẽ tôi thiên vị, nhưng tôi thấy rằng bộ hướng dẫn ARM đặc biệt dễ học - tôi đã có thể viết bộ lọc FIR hiệu quả trong asm vào ngày thứ ba của tôi tại công ty. Những đối tác bán dẫn của ARM đang vận chuyển khoảng một tỷ lõi ARM mỗi quý trong những ngày này, vì vậy khá dễ dàng để tìm một công ty sẵn sàng sử dụng chuyên môn ARM ASM của bạn.

Có rất nhiều bảng eval ARM có sẵn với giá khoảng 50 đô la để thử mã của bạn - có vẻ như ARM Cortex M3 sẽ rất phổ biến. Nó sử dụng tập lệnh Thumb2 của ARM, nó tối nghĩa hơn một chút so với mã ARM32 đơn giản, nhưng vẫn khá dễ dàng và rất mạnh mẽ.

Bảng nhỏ này trông rất tuyệt, với giá 80 euro: http://www.olimex.com/dev/stm32-103stk.html


Nó hoàn toàn là học thuật / tự học. Tôi muốn hiểu rõ hơn về quản lý bộ nhớ cấp thấp cũng như các ngôn ngữ cấp cao hơn.
Darren Young

1

Về cơ bản, theo nghĩa lập trình lắp ráp, trước tiên bạn cần biết kiến ​​trúc cơ bản, sau đó là ngôn ngữ tương ứng, với bộ điều khiển vi PIC, bạn có thể sử dụng trình biên dịch được cung cấp và ngôn ngữ. Tôi sử dụng trang web này để tham khảo các hướng dẫn vi điều khiển PIC.


1

Tôi luôn luôn thấy phần khó khăn nhất là hello world, thường chỉ là một hàm lắp ráp tầm thường được gọi từ một languare highlevel như thêm hai số. Khi bạn vượt qua rào cản đó, đơn giản chỉ là thêm các hướng dẫn và psuedo-op (như xác định dữ liệu) vào tiết mục của bạn.

Tôi sẽ yêu cầu thứ hai, mặc dù tôi chưa bao giờ sử dụng ARM. Một kiến ​​trúc tối thiểu như thế sẽ không chỉ dễ dàng hơn, mà còn có thể tiến gần nhất đến việc có một hợp pháp - trái ngược với mục đích giáo huấn.


0

Tôi có một bộ hướng dẫn, trình biên dịch và trình giả lập, với một số bài học được tạo ra chỉ cho mục đích này. Tôi chưa có phản hồi về việc tôi đã làm tốt hay xấu nhưng nó ở ngoài đó, cho nó 15 phút hoặc nửa giờ để xem nó có dạy gì cho bạn không. http://github.com/dwelch67/lsasim Sau đó tôi có một số trình mô phỏng tập lệnh chính mà bạn có thể thử, đơn giản, không rườm rà, nên chạy bất cứ nơi nào bạn có trình biên dịch C, v.v.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.