📄 keil中c与汇编混合编程的方法_ydw1984的博客.mht
字号:
tp_vint;<BR><BR> =20
tmp_vchr=3Dv_achr;<BR> =20
tp_vint=3D(uint)v_bflag;<BR><BR> return=20
=
CFUNC(tp_vint); &nbs=
p; <SPAN=20
style=3D"COLOR: =
#00aa66">//=D5=E2=C0=EF=B5=F7=D3=C3=D2=BB=B8=F6c51=BA=AF=CA=FD</SPAN><BR>=
}<BR><BR><SPAN=20
style=3D"COLOR: #00aa66">//c51FUNC.c</SPAN><BR><BR>#define uchar =
unsigned=20
char<BR>#define uint unsigned int<BR><BR>uint CFUNC(uint=20
=
v_int) &=
nbsp; <SPAN=20
style=3D"COLOR: =
#00aa66">//=B1=BB=BB=E3=B1=E0=BA=AF=CA=FD=B5=F7=D3=C3c51=BA=AF=CA=FD</SPA=
N><BR>{<BR> =20
return=20
=
v_int<<2;<BR>}<BR><BR>=B5=DA=B6=FE=B2=BD=CA=C7=B0=B489852=CC=FB=D7=D3=
=B5=C4step2,3,4=B0=D1=D3=C3c51=D0=B4=B5=C4(=BB=E3=B1=E0)=BA=AF=CA=FD=B1=E4=
=B3=C9a51=CE=C4=BC=FE(=BD=F1=CC=EC=CE=D2=CA=D4=C1=CB=D2=BB=CF=C2step3=BF=C9=
=D2=D4=B2=BB=D2=AA)=C0=FD=B3=CC=B1=E0=D2=EB=BD=E1=B9=FB=C8=E7<BR>=CF=C2=A3=
=BA<BR><SPAN=20
style=3D"COLOR: #00aa66">; .\a51func.SRC generated from:=20
a51func.c</SPAN><BR>NAME =20
A51FUNC<BR><BR>?PR?_AFUNC?A51FUNC SEGMENT=20
CODE<BR>?DT?_AFUNC?A51FUNC SEGMENT DATA=20
OVERLAYABLE<BR>?BI?_AFUNC?A51FUNC SEGMENT BIT=20
OVERLAYABLE<BR> =
EXTRN CODE=20
(_CFUNC)<BR> =
PUBLIC =20
?_AFUNC?BIT<BR> =
PUBLIC =20
_AFUNC<BR><BR> RSEG =20
?DT?_AFUNC?A51FUNC<BR>?_AFUNC?BYTE:<BR> =20
tmp_vchr?042: DS =20
1<BR><BR> RSEG =20
?BI?_AFUNC?A51FUNC<BR>?_AFUNC?BIT:<BR> =20
v_bflag?041: DBIT 1<BR><SPAN=20
style=3D"COLOR: #00aa66">; //a51FUNC.c<BR>;<BR>; #define uchar =
unsigned=20
char<BR>; #define uint unsigned int<BR>;<BR>; extern uint=20
CFUNC(uint);<BR>;<BR>; uint AFUNC(uchar v_achr,bit=20
v_bflag)</SPAN><BR><BR> RSEG =20
=
?PR?_AFUNC?A51FUNC<BR>_AFUNC: &n=
bsp;<SPAN=20
style=3D"COLOR: =
#00aa66">;c51=CB=F9=D0=B4=B5=C4=BA=AF=CA=FD=B2=FA=C9=FA=B5=C4=BB=E3=B1=E0=
=B4=FA=C2=EB=B4=D3=D5=E2=C0=EF=BF=AA=CA=BC</SPAN><BR> &n=
bsp;=20
USING 0<BR><SPAN=20
style=3D"COLOR: =
#00aa66"> &nbs=
p; =20
; SOURCE LINE # 8<BR>;---- Variable 'v_achr?040' assigned to =
Register 'R7'=20
----<BR>;=20
=
{<BR> &n=
bsp;=20
; SOURCE LINE # 9<BR>; uchar=20
tmp_vchr;<BR>; uint =20
tp_vint;<BR>;<BR>; =20
=
tmp_vchr=3Dv_achr;<BR> &nb=
sp; =20
; SOURCE LINE # 13</SPAN><BR> =20
MOV tmp_vchr?042,R7<BR><SPAN=20
style=3D"COLOR: #00aa66">; =20
=
tp_vint=3D(uint)v_bflag;<BR> &nb=
sp; =20
; SOURCE LINE # 14</SPAN><BR> =20
MOV =20
C,v_bflag?041<BR> =20
CLR =
A<BR> =20
MOV =
R6,A<BR> =20
RLC =
A<BR> =20
MOV R7,A<BR><SPAN=20
style=3D"COLOR: #00aa66">;---- Variable 'tp_vint?043' assigned to =
Register=20
'R6/R7' ----<BR>; =20
=
=D5=E2=C0=EF=CB=B5=C3=F7R6,R7=C4=DA=C8=DD=BE=CD=CA=C7tp_vint<BR>; &n=
bsp; return=20
=
CFUNC(tp_vint);<BR> =
=20
; SOURCE LINE # 16</SPAN><BR> =20
LCALL _CFUNC <SPAN=20
style=3D"COLOR: =
#00aa66">;=D5=E2=C0=EF=B5=F7=D3=C3=C1=CB=D3=C3c51=D0=B4=B5=C4=BA=AF=CA=FD=
<BR>;=20
=
}<BR> &n=
bsp;=20
; SOURCE LINE # 17</SPAN><BR>?C0001:<BR> =20
RET<BR><SPAN style=3D"COLOR: #00aa66">; END OF=20
_AFUNC</SPAN><BR><BR> =20
=
END<BR><BR>=D5=E2=B8=F6=CE=C4=BC=FE=BE=CD=CA=C7=C4=E3=B5=C4=BB=E3=B1=E0=BA=
=AF=CA=FD=CB=F9=D4=DA=CE=C4=BC=FE=A3=AC=B0=D1=BA=AF=CA=FD=C0=EF=C3=E6=B5=C4=
=BB=E3=B1=E0=B4=FA=C2=EB=D0=DE=B8=C4=B3=C9=C4=E3=CB=F9=D0=E8=B5=C4=BB=E3=B1=
=E0=BA=AF=CA=FD=BE=CDok=C1=CB=A1=A3<BR><BR>=BD=A8=D2=E9=B2=CE=BF=BC=20
=
=D0=EC=B0=AE=BE=FB=A3=AC=C5=ED=D0=E3=BB=AA=CB=F9=D0=B4=B5=C4=A1=B6=B5=A5=C6=
=AC=BB=FA=B8=DF=BC=B6=D3=EF=D1=D4C51windows=BB=B7=BE=B3=B1=E0=B3=CC=D3=EB=
=D3=A6=D3=C3=A1=B7=BB=F2=C2=ED=D6=D2=C3=B7=CB=F9=D0=B4=B5=C4<BR>=A1=B6=B5=
=A5=C6=AC=BB=FA=B5=C4c=D3=EF=D1=D4=D3=A6=D3=C3=B3=CC=D0=F2=C9=E8=BC=C6=A1=
=B7=D3=D0=B9=D8=BB=EC=BA=CF=D3=EF=D1=D4=B1=E0=B3=CC=D3=D0=B9=D8=D5=C2=BD=DA=
<BR><BR> =20
=
.........................................................................=
........................................<BR>  =
; =
&=
nbsp; =20
=B9=D8=D3=DA=D4=DA KEIL C51 =
=D6=D0=D6=B1=BD=D3=C7=B6=C8=EB=BB=E3=B1=E0=A1=A3=A1=A3=A1=A3 =
[Youth]<BR>=D3=D0=CA=B1=D4=DAC51=B3=CC=D0=F2=D6=D0=D0=E8=D2=AA=C7=B6=C8=EB=
=D2=BB=D0=A9=BB=E3=B1=E0=B4=FA=C2=EB=A3=AC=D5=E2=CA=B1=B5=B1=C8=BB=BF=C9=D2=
=D4=D3=C3=CD=A8=B3=A3=B5=C4=D7=F7=B7=A8=A3=BA<BR>=B0=B4=D5=D5=20
C51 =
=D3=EB=BB=E3=B1=E0=B5=C4=BD=D3=BF=DA=D0=B4=D2=BB=B8=F6=BB=E3=B1=E0=BA=AF=CA=
=FD=A3=AC=C8=BB=BA=F3=D4=DA C51=20
=
=B3=CC=D0=F2=D6=D0=B5=F7=D3=C3=B8=C3=BA=AF=CA=FD=A1=A3(=B4=CB=D6=D6=B7=BD=
=B7=A8=BF=C9=D4=DA=C2=DB=CC=B3=C0=EF=CB=D1=CB=F7=A3=AC=D2=D4=C7=B0=D3=D0=BA=
=DC=B6=E0=CC=FB=D7=D3=BD=B2=B5=BD=A3=AC=B2=BB=D4=D9<BR>=D6=D8=B8=B4)<BR><=
BR>=CF=C2=C3=E6=BD=E9=C9=DC=D6=B1=BD=D3=C7=B6=C8=EB=BB=E3=B1=E0=B4=FA=C2=EB=
=B5=C4=B7=BD=B7=A8=A3=BA<BR><BR>1=A1=A2=D4=DA=20
C =
=CE=C4=BC=FE=D6=D0=D2=AA=C7=B6=C8=EB=BB=E3=B1=E0=B4=FA=C2=EB=C6=AC=D2=D4=C8=
=E7=CF=C2=B7=BD=CA=BD=BC=D3=C8=EB=BB=E3=B1=E0=B4=FA=C2=EB=A3=BA<BR>#pragm=
a ASM<BR>; Assembler Code=20
Here<BR>#pragma ENDASM<BR><BR>2=A1=A2=D4=DA Project =
=B4=B0=BF=DA=D6=D0=B0=FC=BA=AC=BB=E3=B1=E0=B4=FA=C2=EB=B5=C4 C =
=CE=C4=BC=FE=C9=CF=D3=D2=BC=FC=A3=AC=D1=A1=D4=F1=A1=B0Options=20
for ...=A1=B1=A3=AC=B5=E3=BB=F7=D3=D2=B1=DF=B5=C4=A1=B0Generate =
Assembler SRC File=A1=B1<BR>=BA=CD=A1=B0Assemble SRC=20
=
File=A1=B1=A3=AC=CA=B9=BC=EC=B2=E9=BF=F2=D3=C9=BB=D2=C9=AB=B1=E4=B3=C9=BA=
=DA=C9=AB(=D3=D0=D0=A7)=D7=B4=CC=AC=A3=BB<BR><BR>3=A1=A2=B8=F9=BE=DD=D1=A1=
=D4=F1=B5=C4=B1=E0=D2=EB=C4=A3=CA=BD=A3=AC=B0=D1=CF=E0=D3=A6=B5=C4=BF=E2=CE=
=C4=BC=FE(=C8=E7 Small =C4=A3=CA=BD=CA=B1=A3=AC=CA=C7=20
Keil\C51\Lib\C51S.Lib)=BC=D3=C8=EB=B9=A4=B3=CC=D6=D0,=20
=
=B8=C3=CE=C4=BC=FE=B1=D8=D0=EB=D7=F7=CE=AA=B9=A4=B3=CC=B5=C4=D7=EE<BR>=BA=
=F3=CE=C4=BC=FE=A3=BB<BR><BR>4=A1=A2=B1=E0=D2=EB=A3=AC=BC=B4=BF=C9=C9=FA=B3=
=C9=C4=BF=B1=EA=B4=FA=C2=EB=A1=A3</DIV>
<DIV></DIV>
<DIV><SPAN style=3D"COLOR: =
#ff0000">=B2=B9=A3=BA=A3=A8=D7=D4=BC=BA=CB=F9=D0=B4=A3=A9=C8=E7=B9=FB=B2=BB=
=BE=AD=B9=FD=B5=DA=C8=FD=B2=BD=A3=AC=D4=F2=BB=E1=B2=FA=C9=FA=D2=D4=CF=C2=C1=
=BD=B8=F6=B4=ED=CE=F3</SPAN></DIV>
<DIV>*** WARNING L1: UNRESOLVED EXTERNAL=20
SYMBOL<BR> SYMBOL: =20
?C_START<BR> MODULE: =
.\STARTUP.obj=20
(?C_STARTUP)<BR>*** WARNING L2: REFERENCE MADE TO UNRESOLVED=20
EXTERNAL<BR> SYMBOL: =20
?C_START<BR> MODULE: =
.\STARTUP.obj=20
(?C_STARTUP)<BR> ADDRESS:=20
000DH</DIV></DIV></TD></TR></TBODY></TABLE><BR>
<DIV class=3Dopt><A =
title=3D=B2=E9=BF=B4=B8=C3=B7=D6=C0=E0=D6=D0=CB=F9=D3=D0=CE=C4=D5=C2=20
href=3D"http://hi.baidu.com/ydw1984/blog/category/keil%20c%20=A1=C0=A8=A4=
³Ì">=C0=E0=B1=F0=A3=BAkeil c=20
=B1=E0=B3=CC</A> | <A =
title=3D=BD=AB=B4=CB=CE=C4=D5=C2=CC=ED=BC=D3=B5=BD=B0=D9=B6=C8=CB=D1=B2=D8=
=20
onclick=3D"window.open('http://cang.baidu.com/do/add?it=3D'+encodeURIComp=
onent('Keil=D6=D0C=D3=EB=BB=E3=B1=E0=BB=EC=BA=CF=B1=E0=B3=CC=B5=C4=B7=BD=B7=
=A8'+'_=B0=D9=B6=C8=BF=D5=BC=E4')+'&iu=3D'+encodeURIComponent(locatio=
n.href)+'&fr=3Dsp#nw=3D1','_s','scrollbars=3Dno,width=3D600,height=3D=
450,right=3D75,top=3D20,status=3Dno,resizable=3Dyes'); return false;"=20
href=3D"http://cang.baidu.com/do/add" =
target=3D_blank>=CC=ED=BC=D3=B5=BD=CB=D1=B2=D8</A> | =E4=AF=C0=C0(<SPAN=20
id=3Dresult></SPAN>) </DIV>
<DIV class=3Dline></DIV>
<DIV id=3Din_reader>
<DIV class=3Dtit>=D7=EE=BD=FC=B6=C1=D5=DF=A3=BA</DIV>
<TABLE width=3D"100%">
<TBODY>
<TR>
<TD align=3Dmiddle width=3D"10%"><IMG height=3D55=20
src=3D"http://img.baidu.com/hi/img/portraitn.jpg" width=3D55=20
border=3D0><BR> </TD>
<TD align=3Dleft width=3D"12%">
<SCRIPT>document.write("<a =
href=3D'http://passport.baidu.com/?login&tpl=3Dsp&tpl_reg=3Dsp&u=3D"+myre=
f+"' =
target=3D'_self'>=B5=C7=C2=BC</a>=BA=F3=A3=AC=C4=FA=BE=CD=B3=F6=CF=D6=D4=DA=
=D5=E2=C0=EF=A1=A3");</SCRIPT>
</TD>
<TD class=3Duser vAlign=3Dbottom align=3Dmiddle width=3D"10%"><A=20
href=3D"http://hi.baidu.com/yu5315461" target=3D_blank><IMG=20
=
src=3D"http://himg.baidu.com/sys/portraitn/item/6a3f797535333135343631f30=
2.jpg"=20
border=3D0><BR>yu5315461 </A></TD>
<TD width=3D"100%"></TD></TR></TBODY></TABLE></DIV>
<DIV class=3Dline></DIV>
<SCRIPT language=3DJavaScript>
allkey=3Dallkey+"e91b35cf1be1da3df8dc6128_301e1643ddf350109313c64d_";
</SCRIPT>
<DIV id=3Din_comment><A name=3Dcomment></A>
<DIV class=3Dtit>=CD=F8=D3=D1=C6=C0=C2=DB=A3=BA</DIV>
<SCRIPT>
function writecmt(type,id,cmtname,cmturl,portraitId){
var html1=3D"";
if(type=3D=3D1){
html1=3D"<a name=3D'"+id+"' href=3D'"+cmturl+"' target=3D'_blank' =
title=3D'"+cmturl+"'><img border=3D'0' =
src=3D'http://himg.baidu.com/sys/portraitn/item/"+portraitId+".jpg'><br>"=
+cmtname+"</a>";
}else{
if(cmtname=3D=3D"" || cmtname=3D=3D"=C4=E4=C3=FB=CD=F8=D3=D1"){
if(cmturl=3D=3D""){
html1=3D"<a name=3D'"+id+"'>=C4=E4=C3=FB=CD=F8=D3=D1</a>";
}else{
html1=3D"<a name=3D'"+id+"' href=3D'"+cmturl+"' target=3D'_blank' =
title=3D'"+cmturl+"'>"+cmtname+"</a>";
}
}else{
if(cmturl=3D=3D""){
html1=3D"<div class=3D'f14' style=3D'display:inline'>=CD=F8=D3=D1:<a =
name=3D'"+id+"'>"+cmtname+"</a></div>";
}else{
html1=3D"<div class=3D'f14' style=3D'display:inline'>=CD=F8=D3=D1:<a =
name=3D'"+id+"' href=3D'"+cmturl+"' target=3D'_blank' =
title=3D'"+cmturl+"'>"+cmtname+"</a></div>";
}
}
}
document.write(html1);
}
</SCRIPT>
<DIV id=3Dpage></DIV></DIV>
<DIV id=3Din_send>
<FORM id=3DpopFormSubmit name=3Dform1 onsubmit=3D"return checkcmtform()" =
action=3D/ydw1984/commit method=3Dpost><INPUT type=3Dhidden value=3D8 =
name=3Dct> <INPUT=20
type=3Dhidden value=3D1 name=3Dcm> <INPUT type=3Dhidden =
value=3D301e1643ddf350109313c64d=20
name=3DspBlogID>
<SCRIPT language=3DJavaScript>
document.write("<input type=3D'hidden' name=3D'spRefURL' =
value=3D'"+window.location.href+"'>");
</SCRIPT>
=20
<DIV class=3Dtit>=B7=A2=B1=ED=C6=C0=C2=DB=A3=BA</DIV>
<TABLE cellSpacing=3D5 cellPadding=3D0 width=3D620 border=3D0>
<TBODY>
<TR>
<TD class=3Df14>=D0=D5=A1=A1=C3=FB=A3=BA</TD>
<TD><INPUT id=3DspBlogCmtor style=3D"WIDTH: 220px" =
onfocus=3DhidErr(1);=20
tabIndex=3D1 maxLength=3D49 onchange=3D"checkname('spBlogCmtor')"=20
name=3DspBlogCmtor>
<SCRIPT>
document.write(" <a =
href=3D'http://passport.baidu.com/?reg&tpl=3Dsp&return_method=3Dget&skip_=
ok=3D1&u=3Dhttp://hi.baidu.com/sys/reg/' =
target=3D'_blank'>=D7=A2=B2=E1</a>");
document.write(" | <a =
href=3D'http://passport.baidu.com/?login&tpl=3Dsp&tpl_reg=3Dsp&u=3D"+myre=
f+"'>=B5=C7=C2=BC</a>");
</SCRIPT>
=20
<DIV id=3Dnmerror style=3D"DISPLAY: =
none">*=D0=D5=C3=FB=D7=EE=B3=A4=CE=AA50=D7=D6=BD=DA</DIV></TD></TR>
<TR id=3D1_err style=3D"DISPLAY: none">
<TD> </TD>
<TD>
<DIV class=3Derror id=3D1_err_con></DIV></TD></TR>
<TR>
<TD class=3Df14>=CD=F8=D6=B7=BB=F2=D3=CA=CF=E4=A3=BA</TD>
<TD><INPUT id=3DspBlogCmtURL style=3D"WIDTH: 360px" =
onfocus=3DhidErr(2);=20
tabIndex=3D2 maxLength=3D128 =
onchange=3D"checkeandu('spBlogCmtURL')"=20
name=3DspBlogCmtURL> (=D1=A1=CC=EE)</TD>
<SCRIPT>
G("spBlogCmtor").value=3D"";
G("spBlogCmtURL").value=3D"";
</SCRIPT>
</TR>
<TR id=3D2_err style=3D"DISPLAY: none">
<TD> </TD>
<TD>
<DIV class=3Derror id=3D2_err_con></DIV></TD></TR>
<TR>
<TD class=3Df14 vAlign=3Dtop>=C4=DA=A1=A1=C8=DD=A3=BA</TD>
<TD><TEXTAREA id=3DspBlogCmtText style=3D"WIDTH: 520px; HEIGHT: =
155px" onfocus=3DhidErr(3); tabIndex=3D3 =
name=3DspBlogCmtText></TEXTAREA>
<SCRIPT>
G("spBlogCmtor").value=3DG("spBlogCmtor").defaultValue;
G("spBlogCmtText").value=3D"";
</SCRIPT>
</TD></TR>
<TR id=3D3_err style=3D"DISPLAY: none">
<TD> </TD>
<TD>
<DIV class=3Derror id=3D3_err_con></DIV></TD></TR>
<TR id=3Dvercode>
<TD class=3Df14 vAlign=3Dtop>=D1=E9=D6=A4=C2=EB=A3=BA</TD>
<TD vAlign=3Dtop><INPUT type=3Dhidden=20
=
value=3D10A2D67A86D2058616D02A0A291876148F22BC7F4A53C873DFB704275B827570C=
8FE1BEC2EBE0BD3831584E2D0034134A481638353579B9DAE5E0F64EAE30BBE=20
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -