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

                          • bqviet
                            Trả lời cho Đấu tắt điện cho máy tính bảng
                            bởi bqviet
                            Bqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
                            06-12-2025, 17:17
                          • nguyendinhvan
                            Trả lời cho Xin hỏi về mạch thu FM/AM trong catsette
                            bởi nguyendinhvan
                            Theo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
                            05-12-2025, 19:59
                          • afrendly
                            Trả lời cho Đấu tắt điện cho máy tính bảng
                            bởi afrendly
                            Có vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
                            04-12-2025, 01:27
                          • nick22
                            Trả lời cho Máy điện châm ?
                            bởi nick22
                            Đúng như bạn nói, máy điện châm hiện nay trên thị trường đã khá đa dạng về mẫu mã, chức năng và giá thành.
                            01-12-2025, 13:23
                          Đang tải...
                          X