การเรียนรู้ที่จะโปรแกรมในสภา - ทรัพยากรที่มีประโยชน์ [ปิด]


10

จากหัวข้อก่อนหน้ามันทำให้ฉันสนใจที่จะเรียนรู้เกี่ยวกับการเขียนโปรแกรม Assembly ไม่มากสำหรับการต้องการตั้งโปรแกรมแอพที่มีประโยชน์เพียงเพื่อให้ได้ความรู้สึกสำหรับการเขียนโปรแกรมระดับต่ำเพื่อให้เข้าใจสิ่งที่เกิดขึ้นได้ดียิ่งขึ้น

ใครสามารถแนะนำหนังสือหรือแหล่งข้อมูลออนไลน์สำหรับผู้เริ่มต้นได้บ้าง

ขอบคุณ


หนังสือเล่มนี้โดย Dr. Paul Carter ค่อนข้างดีสำหรับ x86 ASM
jonescb

คำตอบ:


5

หนังสือแนะนำ: ศิลปะของการเขียนโปรแกรมภาษาสมัชชา

ฉันชอบไซต์นี้ แนะนำการเขียนโปรแกรมการประกอบที่ดี! ฉันใช้เว็บไซต์นี้เป็นข้อมูลอ้างอิงในขณะที่เรียนหลักสูตรไมโครโปรเซสเซอร์และไมโครคอนโทรลเลอร์


ที่ดีเยี่ยม ... ขอบคุณ คุณสนใจที่จะเรียนรู้ได้อย่างไรเมื่อเปรียบเทียบกับภาษาสมัยใหม่ทั่วไป? ประวัติของฉันคือ 6 เดือน c # (ในอุตสาหกรรม) และในเวลาเดียวกัน C ++ (ในห้องนอนของฉัน :))
Darren Young

1
ฉันเจอการเขียนโปรแกรม Assembly ในหลักสูตรของฉัน (ฉันยังเป็นนักเรียน) และตามที่คุณพูดในคำถามของคุณมันมีประโยชน์ในการรู้ว่าระบบฝังตัวทำงานอย่างไรและทั้งหมด แต่เมื่อเทียบกับภาษาระดับสูง (ทันสมัยอย่างที่คุณพูด) ฉันพบว่ามันไม่มีประโยชน์อะไรมาก คุณจะรู้ว่าจะไม่ใช้มันในสาขาของฉัน - การพัฒนาเว็บ :)
ykombinator

2

นี่เป็นแบบฝึกหัดทางวิชาการหรือคุณตั้งใจจะใช้ภาษาแอสเซมบลีที่คุณเรียนรู้หรือไม่? นี่เป็นสิ่งที่ค่อนข้างพิเศษในทุกวันนี้ การปรับให้เหมาะสมของคอมไพเลอร์กลายเป็นสิ่งที่ดีมากแม้กระทั่งบางอย่างเช่นฮาร์ดดิสก์ไดรฟ์ประสิทธิภาพสูงก็มักจะมีประมาณ 1% ของรหัสฐานที่เขียนในแอสเซมเบลอร์ การลงห่วงโซ่อาหารเป็น 4 บิตหรือโปรเซสเซอร์ 8 บิตบางตัวคุณจะเห็นภาษาแอสเซมบลีกำลังใช้งานอยู่

หากคุณต้องการใช้ภาษาแอสเซมบลีจริงๆให้เลือกโปรเซสเซอร์ที่มีชุดคำสั่งที่ดี ฉันเป็นอดีตพนักงาน ARM ดังนั้นฉันอาจจะลำเอียง แต่ฉันพบว่าชุดคำสั่ง ARM นั้นง่ายต่อการเรียนรู้เป็นพิเศษ - ฉันสามารถเขียนตัวกรอง FIR ที่มีประสิทธิภาพใน asm ในวันที่สามของฉันที่ บริษัท คู่ค้าเซมิคอนดักเตอร์ของ ARM กำลังจัดส่งแกนพันล้าน ARM ต่อไตรมาสในวันนี้ดังนั้นจึงเป็นเรื่องง่ายที่จะหา บริษัท ที่เต็มใจใช้ความเชี่ยวชาญ ARM ASM ของคุณ

มีบอร์ด eval ARM มากมายราคาประมาณ $ 50 เพื่อลองใช้โค้ดของคุณ - ดูเหมือนว่า ARM Cortex M3 จะได้รับความนิยมอย่างมาก มันใช้ชุดคำสั่ง Thumb2 ของ ARM ซึ่งค่อนข้างคลุมเครือกว่ารหัส ol32 ธรรมดาเล็กน้อย แต่ยังค่อนข้างง่ายและทรงพลังมาก

กระดานขนาดเล็กนี้ดูดีมากสำหรับ 80 ยูโร: http://www.olimex.com/dev/stm32-103stk.html


มันเป็นวิชาการ / การเรียนรู้ด้วยตนเองอย่างแท้จริง ฉันต้องการทำความเข้าใจการจัดการหน่วยความจำระดับต่ำให้ดีขึ้นรวมถึงภาษาระดับสูงขึ้น
Darren Young

1

โดยพื้นฐานแล้วในแง่ของการเขียนโปรแกรมการประกอบคุณจำเป็นต้องรู้สถาปัตยกรรมพื้นฐานก่อนจากนั้นภาษาที่ใช้ในการติดต่อตัวอย่างเช่นด้วยตัวควบคุมไมโคร PIC คุณสามารถใช้คอมไพเลอร์ที่มีให้และภาษา ฉันใช้เว็บไซต์นี้เพื่ออ้างอิงถึงบทเรียนไมโครคอนโทรลเลอร์ PIC


1

ฉันมักจะพบว่าส่วนที่ยากที่สุดคือ Hello world ซึ่งโดยปกติจะเป็นเพียงฟังก์ชั่นชุดเล็ก ๆ ที่เรียกว่าจากระดับที่สูงกว่าเช่นการเพิ่มตัวเลขสองตัว เมื่อคุณได้รับผ่านอุปสรรคที่เป็นเพียงเรื่องของการเพิ่มคำแนะนำและ psuedo-ops (เช่นการกำหนดข้อมูล) เพื่อละครของคุณ

ฉันอยากได้เพื่อนที่สองแม้ว่าฉันจะไม่เคยใช้ ARM สถาปัตยกรรมขั้นต่ำเช่นนี้ไม่เพียง แต่จะง่ายขึ้น แต่อาจใกล้เคียงกับการมีกฎหมายที่ถูกต้องซึ่งตรงกันข้ามกับวัตถุประสงค์ในการสอนเท่านั้น


0

ฉันมีชุดคำสั่งผู้ประกอบและผู้จำลองโดยมีบทเรียนบางอย่างที่สร้างขึ้นเพื่อจุดประสงค์นี้เท่านั้น ฉันยังไม่มีข้อเสนอแนะเกี่ยวกับวิธีการที่ดีหรือไม่ดีที่ฉันทำ แต่มันออกมีให้ 15 นาทีหรือครึ่งชั่วโมงดูว่ามันสอนอะไรคุณ http://github.com/dwelch67/lsasim หลังจากนั้นฉันมีตัวจำลองชุดคำสั่งหลักที่คุณสามารถลองใช้ได้ง่ายไม่หรูหราควรรันที่ใดก็ได้ที่คุณมีคอมไพเลอร์ C เป็นต้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.