Assembly
การแทรก assembly ในภาษา C
การแทรก assembly ในภาษา C
มีคำถาม คำถามนึงที่ถามบ่อยมากว่าจะใส่คำสั่ง assembly ลงไปในภาษา C ยังไง จริงๆแล้วมันก็มีวิธีอยู่ แต่ตั้งแต่ผมเขียนโปรแกรมมาผมก็ไม่เคยใช้เหมือนกัน คือภาษา C ผมว่ามันก็ cover ดีแล้ว แต่รู้ไว้ก็ไม่เสียหายครับ
- เริ่มจากการสร้าง Project ตามปกติ Keil จะถามเราว่า ต้องการจะ copy ตัว Start up code เข้าไปใน Project ไหม ให้กด No

รูปที่ 1
- จากนั้นก็ทำการสร้าง File.C ขึ้นมาแล้ว Add เข้าไปใน Project
| //************************************************************************// //Project : insertasm //Description : Inline assembly //Device : 89S52 //XTAL : 11.0592 MHz //By : ThaiEmbedded 2007 //************************************************************************// #include <REGX51.H>//————————————————————————// // Delay (mSec) //————————————————————————// void dmsec(unsigned int cnt) { unsigned char i; while(cnt) { for (i=1;i<=228;i++); cnt–; } } //————————————————————————// // Main //————————————————————————// void main (void) { while(1) { #pragma ASM MOV P0,#0FH #pragma ENDASM dmsec(300); #pragma ASM MOV P0,#0F0H #pragma ENDASM dmsec(300); } } |
- ที่ Project Window Tab แรกเราจะเห็น File.C ที่เรา add เพิ่มเข้ามา ให้คลิกขวา
- เลืือก Option for

รูปที่ 2
- ติ๊ก Generate Assembler SRC file
- ติ๊ก Enable Assemble SRC file.
- ทำการ compile เราจะได้ HEX file ออกมา
เมื่อนำไปต่อกับ hardware จริงเราจะเห็น LED ติดสลับกันที่ละ 4 ดวง
รูปที่ 3 วงจรที่ใช้ในการทดลอง










