1樓:匿名使用者
以個例子給你參考,有兩個檔案,一是s.a51, 另一個是 m.c都加到keill的工程中編譯。彙編中有兩個函式,注意c的引數是如何傳遞給彙編的。
s.a51
$nomod51
name sentbyteup
?pr?_sentbyteup?sentbyteup segment code
?dt?_sentbyteup?sentbyteup segment data overlayable
public _sentbyteup
rseg ?dt?_sentbyteup?sentbyteup
?_sentbyteup?byte:
px?040: ds 1
px?041: ds 1
rseg ?pr?_sentbyteup?sentbyteup
_sentbyteup:
using 0
mov a,r7
lopu: rrc a
clr scku
mov datu,c
setb scku
djnz r5,lopu
ret?pr?_sentbytedn?sentbytedn segment code
?dt?_sentbytedn?sentbytedn segment data overlayable
public _sentbytedn
rseg ?dt?_sentbytedn?sentbytedn
?_sentbytedn?byte:
px?042: ds 1
px?043: ds 1
rseg ?pr?_sentbytedn?sentbytedn
_sentbytedn:
using 0
mov a,r7
lopd: rrc a
clr sckd
mov datd,c
setb sckd
djnz r5,lopd
retendm.c
#include
extern void sentbyteup(uchar c,uchar b); //申明使用外部函式
extern void sentbytedn(uchar c,uchar b); //申明使用外部函式
void main(void)
[email protected] qq505308008
2樓:匿名使用者
是pc機還是微控制器,微控制器還有很多種,各種開發環境下是不一樣的。你講得不清楚,別人無法幫你。
微控制器組合語言程式設計,全國微控制器組合語言程式設計師
org 0000h main mov dptr,3000h clr r0 clr r1 clr r2 mov r3,100 loop mov a,dptr clr c cjne a,0h,loop1 inc r0 djnz r3,loop loop1 rl a jc fushu inc r1 djn...
學習微控制器,如果不大懂程式語言(C組合語言也不懂,可以嗎
硬體語言至少要懂一樣,不過所謂一藝通而百藝通,懂一樣一般就很多都懂了 微控制器用c 到沒聽說過。從0開始吧 微控制器都是用c的啊,沒聽過用c 的。c和彙編都是必須的啊 中國死狗 最近很多人都在問如何學習程式設計。我覺得學習程式設計最重要的是入門,如果你入門的時候有一個好的方法和思路,打下比較紮實的基...
求助大神組合語言程式設計,求助大神,程式設計題(組合語言的)
編譯尋求大神 datas段 圖db 9 5 2 3 8 datas ends 堆疊段db 100 dup stacks ends 碼分部assume cs codes,ds datas,ss stacks start mov ax,datas mov ds,ax 到mov cx,4 lp0 a mo...