combine between C and assemly

BMWE

New member
combine between C and assemly

hello! (sorry don't have hebrew here) i have to combine between the C and (or) assembly of MC68HC(7)11K4 (of the motorola). does somebody know's how to do it? does sombody have a program to do it? 10x​
 

vinney

Well-known member
יש לך מהדר לזה?

כי אם כן, אז הוא יוכל גם אסמבלר (ב asm{})
 

codec

New member
יש כמה צורות

האם באותו קטע קוד (קוד asm באמצע פונקציה גדולה ב-C, או שאתה רוצה מספר פונקציות C ו-asm שקוראות אחת לשניה? האופציה הראשונה קיימת בשפת C, ותלויה בקומפיילר של C שיש לך (אם הוא תומך בזה). האופציה השנייה דורשת שני קומפיילרים, אחד ל-C ואחד ל-asm, ואח"כ לעשות link ביחד.
or, in english, in case you can't read hebrew either...
do you want to combine them in the same code fragment (assembly code in the middle of a C function) or just have a couple of C functions and a couple of assembly functions calling each other? for the 1st option, you should check if your C compiler supports the embedding of assembly code inside C functions (it should...). for the 2nd option, you need an assembly compiler and a C compiler, and then link everything together.​
 

BMWE

New member
to 2 of u

it's the assembly of ,otorola
->not that of the PC(80x86) and i need the compiler​
 

DNile

New member
זה לא קשור לאיזה אסמבלי זה.

שיטת העבודה היא אותה שיטה. או inline assembly, או שאתה משתמש בassembler שמתאים למעבד, ואז מלנקג' ביחד עם הקוד C המקומפל.
 

vinney

Well-known member
זה לא משנה

אם יש לך קומפיילר לC שמייצר OBJים עבור המעבד הזה, אז הוא ידע להתמודד גם עם האסמבלר שלו, ולא יכיר את זה של PC דווקא. אם אין לך קומפיילר כזה - אולי תבדוק עם מוטורולה?
 

nahsh

New member
כתיבת פונקציות באסמבלר

בד"כ בתיעוד של כלי הפיתוח יש התייחסות לכך. חפש כיצד מעבירים פרמטרים לפונקציה וכיצד מחזירים ערכים, ועל סמך זה תוכל לכתוב פונקציה באסמבלר. אם אתה עובד עם GUI, קרוב לוודאי שתוכל להוסיף את קובץ האסמבלר לפרוייקט. בקובץ h תגדיר את הפרוטוטייפ של הפונקציה כאילו שהיא פונקציית C, ואז תוכל לקרוא לה (שוב, במידה ואתה מטפל נכון בפרמטרים ובערך המוחזר). לפעמים יש שינויי שמות, כמו לדוגמא קו תחתון בתחילת שם הפונקציה באסמבלר, שלא מופיע בC. בדוק בתיעוד.
 
למעלה