Thông báo

Collapse
No announcement yet.

cho em hỏi về chương trình ASM va C có ưu điểm và nhược điểm gì hơn nhau ko vậy???

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • cho em hỏi về chương trình ASM va C có ưu điểm và nhược điểm gì hơn nhau ko vậy???

    môn vi điều khiển(8051) của bọn em chỉ dược học vê ASM mà ko dược học về C
    Các pro cho em hỏi em chỉ học chuyên sâu về ASM mà sau này em muốn học thêm về AVR hoặc PIC thi có được ko ạ
    Nhưng theo em dược thấy thì các chương trình trên mạng thì toàn thấy viết băng C em dọc ma ko hiểu gi ca?
    ai cao tay thì chỉ giáo dùm em dể em có định hướng đúng từ bây giờ
    Em xin cảm ơn
    ai biết thì xin chỉ giáo cho em với

  • #2
    nắm vững cấu trúc 8051 trước, viết ứng dụng bằng ASM nhiều vào sẽ hiểu sâu thêm về cấu trúc cũng như quá trình VDK hoạt động. Khi cảm thấy hiển rõ rồi thì chuyển qua C, khi chưa hiểu cấu trúc và cách VDK hoạt động mà lập trình C thì sai cũng ko biết tại sao sai. ASM của 8051 dễ dùng hơn so với các họ khác.

    Comment


    • #3
      theo hiểu biết của mình thôi ko biết sai hay đúng :
      - asm học rất khó nhưng cấu trúc nó thực tế dễ hiểu với phần cứng hơn
      - C học dễ nhưng cách lập trình giao tiếp ko gần với phần cứng
      phần cứng ở dey là cấu trúc con vi điều khiển á
      Học 89 thì asm
      còn từ pic trở đi thì ai củng bảo học C hết ấy bạn .

      Comment


      • #4
        Nguyên văn bởi chung1608 Xem bài viết
        nắm vững cấu trúc 8051 trước, viết ứng dụng bằng ASM nhiều vào sẽ hiểu sâu thêm về cấu trúc cũng như quá trình VDK hoạt động. Khi cảm thấy hiển rõ rồi thì chuyển qua C, khi chưa hiểu cấu trúc và cách VDK hoạt động mà lập trình C thì sai cũng ko biết tại sao sai. ASM của 8051 dễ dùng hơn so với các họ khác.
        Em xin cảm ơn
        ai biết thì xin chỉ giáo cho em với[/QUOTE] cảm ơn bạn nhé
        nhưng mình van muốn có câu trả lời sâu hơn nữa
        tương lai của mình nhờ vào các pro, cao thủ đã từng đi trước chỉ giáo dùm em

        Comment


        • #5
          - ASM khó học, khó tiếp cận và sử dụng,khó tìm lỗi và không phù hợp với người muốn tự học vi điều khiển. Nếu bạn được đào tạo ASM sẵn rồi thì ko sao nhưng nếu muốn nghiên cứu sâu hơn thì ASM vẫn ko phải ý hay. Nếu nói ASM giúp bạn hiểu về phần cứng của VĐK cũng chưa chắc, nói đúng hơn là cách thức hoạt động của VĐK. Và cái này ko cần thiết nếu bạn muốn lập trình ứng dụng VĐK hơn là trả bài cho thầy.
          - C cho phép tiếp cận VĐK một cách linh hoạt hơn mà ko cần phải biết quá nhiều về cấu trúc của nó. C (Keil C for 8051) vẫn cho phép bạn can thiệp vào phần cứng VĐK đấy, nếu không cũng chỉ là mấy bank thanh ghi với thanh ghi A không quan trọng cho lắm. Hỗ trợ can thiệp ngắt tốt ...Với C bạn có thể mô tả các thuật toán của mình hiệu quả hơn, xử lý số thực, xây dựng mảng 2 chiều v.v... Nếu có nhược điểm thì chỉ là code của C ko tối ưu hơn so với ASM, điều này thật sự cũng ko quan trọng.
          Mình đã học C VĐK rồi mới học lại ASM tại trường và mình thấy C hay ASM vẫn cho mình hiểu về cấu trúc vi điểu khiển cả.
          Thậm chí mình thấy học C dễ hiểu VĐK hơn vì không học quá nhiều các tập lệnh và mấy bank thanh ghi, stack, ô nhớ ... Nhờ đó bạn có thời gian hiểu những phần khác quan trọng hơn , và khi chuyển sang VĐK khác như PIC hay AVR thì bạn ko cảm thấy quá rối vì phải nhớ thêm các tập lệnh điều khiển của chúng !

          Comment


          • #6
            Nếu muốn chuyên sâu về c cũng kô phải là đơn giản.Với những ứng dụng mang tính cơ bản kô có cấu trúc.
            , , ,

            Comment


            • #7
              Nếu muốn chuyên sâu về c cũng kô phải là đơn giản.Với những ứng dụng mang tính cơ bản kô có cấu trúc thì đơn giản.Với dạng có cấu trúc hoặc mang tính hướng đối tượng thì phải rèn luyện nhiều.
              , , ,

              Comment


              • #8
                Hi,
                Quan điểm của tui là ưu hay nhược là do người lập trình, trình biên dịch chỉ là công cụ vô tri vô giác. Mới bắt đầu nên tiếp xúc với ASM, hiểu được cách thức VXL làm việc rồi thì chuyển qua C. Khi chuyển qua loại MCU khác thì chỉ cần C là đủ.
                Thân ái.
                Đường đến những ngày vinh quang không còn xa
                Con đường chúng ta... chúng ta đã chọn.

                Comment


                • #9
                  Bạn thử viết bằng c cái trình dịch asm(cho nó đơn giản).Thấy được cái vô tri vô giác ở trình dịch asm.Nhưng khi viết 1 trình dịch c thì đòi hỏi nó kô vô tri vô giác đâu.Vì nếu thế cái trình dịch rập khuôn.Nó kô xét các lệnh trước sau thì kô thể đảm bảo code asm sinh ra là tối ưu.Vì thế chưa chắc chương trình chạy trên 8051 được mà lại chạy được trên avr(kô liên quan IO).Cứ thử sẽ biết.Mình gặp rồi mình biết.
                  Last edited by rptdnmqs; 16-12-2011, 09:08.
                  , , ,

                  Comment


                  • #10
                    xin chào bạn ! mình cũng đang là người học asembly và theo như mình nghĩ thì nó rất khó với người mới học bởi vì ASembly là ngôn ngữ lập trình bậc thấp đồng nghĩa với nó là bạn phải nắm vững cấu tạo của VĐk (các thanh ghi, cờ nhớ,chế độ địa chỉ .......) thì bạn mới lập trình cho nó được còn C thì nó lại thiên về việc thao tác các phép toán , thuật toán (gần như là ko để ý đến cấu tạo của vđk) vì vậy bạn có thể tập trung hơn để tìm ra thuật toán cho bài của mình (và chương trình C còn ngắn hơn) thay vì vừa tìm thuật toán và cách lưu nó vào thanh ghi nào ...(mà chương trình lại dài nữa). vì vậy theo ý kiến của mình bạn nên học C .đó là ý kiến của mình ai cảm thấy có gì thiếu sót thì góp ý nha đừng có ném gạh
                    chịu khó học hỏi

                    Comment


                    • #11
                      CÓ bữa học ông thầy đố tụi mình với ASM hãy xử lý số thực và in ra led 7 đoạn. Làm được thì có thể thành đồ án vi xử lý ! Nghe mà ớn !

                      Comment


                      • #12
                        Nguyên văn bởi rptdnmqs Xem bài viết
                        Nếu muốn chuyên sâu về c cũng kô phải là đơn giản.Với những ứng dụng mang tính cơ bản kô có cấu trúc thì đơn giản.Với dạng có cấu trúc hoặc mang tính hướng đối tượng thì phải rèn luyện nhiều.
                        VĐK dùng C thì làm gì có hướng đối tượng gì trong đây !!

                        Comment


                        • #13
                          Tôi nói là mang tính hướng đối tượng.Kô phải cứ ngôn ngữ hướng đối tượng mới có tính hướng đối tượng.Tính hướng tượng đó ẩn sâu trong cái cấu trúc mà bạn lập trình.Ví dụ:bạn muốn tạo trò chơi xếp gạch.Thì đối tượng là gạch,gạch có hình dạng khác nhau.Nói chung bạn vận dụng 1 chút hướng đối tượng sẽ thấy việc lập trình dễ dàng hơn.
                          , , ,

                          Comment


                          • #14
                            Mình học ASM và mình cảm thấy ngôn ngữ này dễ hiểu và dễ học đấy chứ, nhưng viết chương trình thì C có vẻ ngắn hơn thì phải, mình nói thế không biết có đúng không, vì không học C mà

                            Comment


                            • #15
                              Cái nhỏ thì dễ, gặp cái to chắc chịu chết luôn @@.

                              Comment

                              Về tác giả

                              Collapse

                              coinage_90 Tìm hiểu thêm về coinage_90

                              Bài viết mới nhất

                              Collapse

                              Đang tải...
                              X