Thông báo

Collapse
No announcement yet.

Kết hợp file *.asm với file *.c ????

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

  • Kết hợp file *.asm với file *.c ????

    Mình đang làm một chương trình, trong đó chương trình chính viết bằng C. Có một phần hiển thị LCD trước đây viết bằng ASM. Nay ngại viết lại ngại quá nên hỏi có anh chị và các bạn nào biết gọi file *. asm ra để thực hiện không vậy (gọi từ hàm chính viết bằng C). Mình viết chương trình dùng Keil C 2 full. Số liệu cần hiển thị ra LCD lại lấy từ chương trình C. Làm thế nào để file asm nhận được số liệu đó? Mong các anh chị và các bạn giúp đỡ

  • #2
    Vậy là không có cách nào?

    Comment


    • #3
      Nguyên văn bởi hatc1984
      Vậy là không có cách nào?
      Tôi thấy hình như có cách đấy trước đây tôi cũng nghe nói về kiểu chèn 1 đoạn code = asm vao C. Các hạ cứ kiên trì đợi ý kiến của các cao thủ khác nhé!

      Comment


      • #4
        Để chèn asm vào C: cứ viết C bình thường, khi cần chèn thì khai báo như sau:

        asm
        {
        code asm
        }

        ví dụ:

        if (command == 'e') /* viết bằng C
        {
        asm { /* viết bằng ASM
        setb Vpp
        setb p26
        clr p27
        clr p36
        clr p37
        }
        delay10us(); /* viết bằng C

        Comment


        • #5
          them kieu nay nay
          #pragma asm
          code asm
          #pragma endasm
          SHARE KHO PHIM LỚN

          Comment


          • #6
            Nguyên văn bởi 1504
            Để chèn asm vào C: cứ viết C bình thường, khi cần chèn thì khai báo như sau:

            asm
            {
            code asm
            }

            ví dụ:

            if (command == 'e') /* viết bằng C
            {
            asm { /* viết bằng ASM
            setb Vpp
            setb p26
            clr p27
            clr p36
            clr p37
            }
            delay10us(); /* viết bằng C

            Cách này chạy o nổi đâu, báo lỗi mà
            !e

            Comment


            • #7
              Nguyên văn bởi giaosucan
              them kieu nay nay
              #pragma asm
              code asm
              #pragma endasm
              Cách này về nguyên tắc là đúng nhưng khi chạy thì chưa đúng. Không biết vi sao! Cũng cần phải lưu ý là trong "option for file.c" phải chọn mục "Generate Assembler SRC file"
              !e

              Comment


              • #8
                Re Kết hợp file *.asm với file *.c ????

                Để xử dụng kết hợp ASM và C, bạn tham khảo file C51.pdf có trong thư mục help của keil.Tham khảo cách khai báo các hàm dùng asm,cách truyền tham số trong C,cách gọi các hàm asm trong C.Bạn chuyển file asm thành thư viện các hàm theo hướng dẩn trong C51(chú ý phần nhận và xuất các tham số thông qua các thanh ghi).Sau đó dịch đồng thời 2 file asm và file.c.
                Chúc thành công.

                Comment


                • #9
                  Nguyên văn bởi zemen
                  Cách này chạy o nổi đâu, báo lỗi mà
                  cách này tôi viết trong C chuẩn hoặc SDCC chạy rất tốt và nhanh.

                  Comment


                  • #10
                    Hehe, link này có thể có ích cho bác: http://www.keil.com/support/docs/1671.htm
                    Load về xài, chạy tốt cả!
                    ------------------



                    ------------------

                    Comment


                    • #11
                      Các anh ơi!
                      Sao em thử hoài không được cách nào cả là sao hả các anh????
                      Help me!
                      vanloi.elec@gmail.com

                      Comment


                      • #12
                        Trong file *.c ví dụ thêm 1 đoạn code asm như sau

                        void ClearPort()
                        {
                        #pragma asm
                        CLR P1.0
                        #pragma endasm
                        }

                        Click chuột phải vào file .c đó chọn Options for File và làm lần lượt như hình, file .c sẽ chuyển thành hình như Picture 4
                        Lúc đó dịch -> OK
                        Attached Files
                        ----------------------
                        Bể học là mênh mông!

                        Comment


                        • #13
                          Cach lam:
                          asm{
                          code
                          }
                          khong duoc.
                          Cách nay chi lam duoc với C++ thôi,Không hổ trợ KielC

                          Comment

                          Về tác giả

                          Collapse

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

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

                          Collapse

                          Đang tải...
                          X