久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

A51與C語言的混合編程

作者:佚名   來源:本站原創   點擊數:  更新時間:2012年01月02日   【字體:

我研究一上午,寫了個程序,可謂麻雀雖小可五臟俱全,希望正在學習這塊的人能少找點資料,少花點時間更快的掌握。

#include <reg52.h>
/****在匯編中定義*****/
extern void delay(void) ;
extern add(int a,int b);
//測試匯編調用的代碼(不想直接用匯編來走主程序)
extern void test();
/***在匯編中定義的代碼段****/
extern  unsigned char cc;

//  C語言中定義的函數
void delay_c();
unsigned int addcc(unsigned int wd1,unsigned int wd2);
//C語言中定義的數據段
unsigned int aa;
unsigned int bb;

void main()
{
  
   delay();
   cc=add(10,15);
   test();
   while(1);
}
void delay_c()
{
  unsigned char cc;
  cc=0xff;
  while(cc--);
}
unsigned int addcc(unsigned int wd1,unsigned int wd2)
{
unsigned int cl;
cl=wd1+wd2;
return cl;
}


delay.asm


NAME  ONE        ;模塊的名稱
;ORG  1000H       ;函數存放的起始單元
?PR?delay?ONE      SEGMENT CODE   ;標注函數的定義位置
?PR?_add?ONE       SEGMENT CODE
?PR?test?ONE    SEGMENT CODE
cc       DATA   33H     ;直接 定義數據的地址
PUBLIC delay     ;聲明為全局
PUBLIC _add
PUBLIC test
PUBLIC cc     ;聲明全局
EXTRN DATA(aa)  ;注意這里是extrn 而不是C中extern  在 c中定義
EXTRN DATA(bb)
EXTRN CODE(delay_c)
EXTRN CODE(_addcc)        ;帶參數的網上的資料EXTRN CODE(addcc) 我沒測試成功。按理名字應該加_fun 這個是帶參的定義方式
;EXTRN DATA(?_addcc?BYTE) ;網上傳參通過這個我也沒試成功,直接對寄存器做數據的處理了。

   RSEG  ?PR?delay?ONE   ;(不帶參函數)重新定位函數的代碼位置
delay:
   MOV R0 , #44H
   DJNZ R0,$
   RET
  RSEG ?PR?_add?ONE      ;(帶參函數)參數自動防止到寄存器中可以網上查下,這里 15分別存放到R7,R6  10存入R5,R4
_add:
   MOV A,R5
   ADD A,R7
   MOV R7,A
   MOV A,R4
   ADDC A,R6
   MOV aa,R7
   RET

RSEG ?PR?test?ONE
test:
  ;掉用不帶參數的C函數
  CALL delay_c
  ;調用帶參數的C函數
  MOV R5,#15
  MOV R7,#11
  LCALL _addcc
  MOV cc,R7
  RET
END  ;程序結束
關閉窗口

相關文章

主站蜘蛛池模板: 国产精品免费一区二区三区四区 | 91嫩草精品 | 亚洲在线视频 | 日本中文字幕一区 | 成人免费福利视频 | 欧美日韩不卡 | 99精品在线免费观看 | 亚洲欧美在线一区 | 成人免费淫片aa视频免费 | 视频一区二区中文字幕 | av中文字幕在线 | www.日本三级 | 中日韩欧美一级片 | av一区二区三区在线观看 | 欧美国产视频 | 中文字幕国产 | 视频一区 国产精品 | 日本福利在线观看 | 亚洲性人人天天夜夜摸 | 亚洲综合在线播放 | 99福利视频 | www.日本三级 | 日韩黄a | 99re在线播放 | 久久精品久久久久久 | 欧美视频在线播放 | 先锋资源亚洲 | 国产日韩欧美综合 | 91国产在线视频在线 | 日韩一区二区av | 91麻豆精品国产91久久久久久 | 日韩久久久久久 | 日韩在线小视频 | 欧美精品一区在线发布 | 午夜视频在线观看网址 | 欧美日韩综合精品 | 女人精96xxx免费网站p | 亚洲精品二区 | 午夜小电影 | 国产乱人伦 | 国产精品三级久久久久久电影 |