HELP: C và lắp ráp interfacing

F

fanghl

Guest
chào,

Tôi đang cố gắng để gọi một hàm C từ một file asm.Ai đó có thể giúp tôi với cú pháp quyền và thủ tục?Cảm ơn rất nhiều.

 
Tôi không nghĩ rằng có thể ..
ASM gọi từ C - bởi tất cả các phương tiện - nhưng không phải là cách đối diện xung quanh ..

Kính trọng,
IanP

 
Để gọi một hàm C từ yêu cầu lắp ráp tại ít nhất là rất, thiết lập ngăn xếp như một chức năng C thực hiện cuộc gọi.Tùy thuộc vào sự phức tạp của các chức năng gọi là bạn có thể cần phải thiết lập một khung stack, cấp phát và khởi tạo các biến địa phương và toàn cầu, có lẽ ngay cả khởi tạo cuộc gọi và thư viện.

Nhưng đối với một hàm C đơn giản, tôi sẽ viết một chương trình C thử nghiệm nhỏ để gọi hàm và biên dịch nó để tạo ra một danh sách lắp ráp (hoặc chỉ dissassemble các mã kết quả) và xem những gì C nào để gọi hàm.

 
Có vẻ như bạn sẽ có thể làm điều đó bằng cách nào đó ..Có chương trình C chính chỉ đơn giản gọi chương trình lắp ráp của bạn như một hàm.Các prog hội thực sự làm tất cả các công việc, và khi nó cần C chức năng nó trở về C, với các đối số cần thiết cho các chức năng C quay trở lại.C vỏ chương trình của bạn sau đó gọi hàm C với những luận cứ, sau đó trả về cho ăn xin lắp ráp bằng cách gọi nó một lần nữa với kết quả chức năng C như là đối số một.

Bạn chỉ cần có để làm cho chương trình lắp ráp của bạn bắt đầu với lập luận xấu hoặc được gọi để bắt đầu, sau đó reentries tiếp theo thực sự chức năng trả về giá trị.

Alan

 
chào.I'm newbie trong uc.chỉ muốn hỏi nếu c và lắp ráp có thể được biên dịch như là một prgram duy nhất.nói, pid trong c và điều khiển xe máy và màn hình LCD trong asm.nếu như vậy, làm thế nào để làm việc này và nếu không, những gì là cách tốt nhất để giải quyết?bất kỳ trợ giúp sẽ làm.thanks, thêm sức mạnh để thiết kế vi mạch board.

 
sử dụng chỉ thị # pragma preprcessor và mã asm gọi từ chương trình ac

 
Đây là cách sử dụng ASM inline trong chương trình C của bạn:
Làm thế nào để sử dụng ASM nội tuyến bằng cách sử dụng WinAVR

 
Cách dễ nhất để gọi một chức năng asm từ C hoặc để gọi một hàm C từ asm là sử dụng trình quản lý thư viện của toolset của bạn.Biên dịch mã vào một chức năng thư viện và liên kết trong thư viện!

 
để gọi chức năng c từ lắp ráp bạn cần phải biết C gọi synthax ước và thực tế của các lắp ráp của bạn.Thông thường nó được thực hiện cụ thể - đó là lên đến trình biên dịch cụ thể như thế nào để thực hiện cuộc gọi đến chức năng và nơi để đặt các đối số chức năng.Bạn cần phải tham khảo ý kiến của bạn hướng dẫn sử dụng cho trình biên dịch C gọi hội nghị.Để chắc chắn là có chỉ có một cái nhìn.
Hãy nói cho trình biên dịch IAR AVR có hướng dẫn sử dụng được gọi là "biên dịch tài liệu tham khảo" với mệnh đề "giao diện ngôn ngữ Assembler"

Đối với intel và mips i vậy stadards gọi là giao diện ứng dụng nhị phân (ABI) - nó đã cố gắng đưa một số tiêu chuẩn trong số các nhà cung cấp trình biên dịch có cùng một công ước gọi.

 

Welcome to EDABoard.com

Sponsor

Back
Top