📄 子程序.txt
字号:
£í£?£ó£-£μ£±??μ?????×ó3ìDò?a?°??ê1ó??μ?÷
£±£???×??ú?¨μ?2ù×÷êy£oó?[R0]?ò[R1]à′±íê?′?·??úóéR0?òR1??ê?μ?á?D?μ¥?a?Dμ?êy
?Y£?μ??·D?μ?μ¥?a′?·???×??ú?£è?1?[R0]=1234H£?è?(R0)=30H£??ò(30H)=12H£?(31H)=34H?£
£2£??t??????μ?2ù×÷êy£oó?èy??×??ú±íê?£?μúò???×??úμ?×??????aêy·?£???óà?????a
?×??£¨21??D?ê?£?£?μú?t×??ú?a?2êyμ???×??ú£?μúèy×??ú?a?2êyμ?μí×??ú£??2êyó???×??ú
′?D?êy£¨?-??£?à′±íê??£μ±?2êyμ?×??????a£±ê±£?±?3??a1????ˉ??μ?êy£??ò3?2ù×÷êy?£?ú
3ìDò?μ?÷?D£?ò2ó?[R0]?ò[R1]à′±íê?R0?òR1??ê?μ???μ?2ù×÷êy£?àyè?£oμ±[R0]=-6.000ê±£?
?ò?t??????μ?êy±íê??a83C000H?£è?(R0)=30H£??ò(30H)=83H,(31H)=0C0H,(32H)=00H?£
£3£?ê???????μ?2ù×÷êy£oó?èy??×??ú±íê?£?μúò???×??úμ?×??????aêy·?£???óà?????a
?×??£¨?t????21??D?ê?£?£?μú?t×??ú?a?2êyμ???×??ú£?μúèy×??ú?a?2êyμ?μí×??ú£??2êyó?
??×??ú£?£?£???′?D?êy£¨?-??£?à′±íê??£μ±ê?????êyμ??????μ′óóú£±ê±£??×???íμèóú??êy
2?·?μ???êy£?è? 876.5 μ??×??ê?03H£?-876.5 μ??×??ê? 83H£?μ±ê?????êyμ??????μD?óú1
ê±£??×???íμèóú 80H ??è¥D?êyμ?oó??á?μ???êy£?àyè? 0.00382 μ??×??ê? 7EH£?-0.00382
μ??×??ê? 0FEH?£?ú3ìDò?μ?÷?D£?ó?[R0]?ò[R1]à′±íê?R0?òR1??ê?μ?ê???????μ?2ù×÷êy?£ày
è?óDò???ê???????μ?2ù×÷êy′?·??ú30H?¢31H?¢32H?D£?êy?μê? -0.07315£??′-0.73153?ò?10
μ?-1′?·?£??ò(30H)=0FFH£?31H=73H£?(32H)=15H?£è?ó?[R0]à′???ò?ü£??òó|ê1(R0)=30H?£
£′£????????è£oμ¥′??¨μ????????è?a?á1?×?μí??μ?μ±á??μ£?μ¥′??t??????μ???ê?????
μ????èó?óúê?íò·???èy£?μ¥′??t??????μ?3???oˉêy????μ????èó?óúíò·???ò?£?£?£?£?????
μ?êy±?éíμ????è±è??μí£¨íò·???ò?μ??§·???ò?£?£?2?ò?×÷?a????μ?2ù×÷êy£???ó?óúê?è??ò
ê?3?ê±μ?êy??×a???£2?1ü????êy?Y??ê?£???×?á?D?????μ?′?êy???ó£????è???á???μ?£
£μ£?1¤×÷??£oêy?Y1¤×÷??1ì?¨?úA?¢B?¢R2??R7£?êy·??ò±ê??1¤×÷??1ì?¨?úPSWoí23Hμ¥
?a(??1CH??1FH)?£?ú??μ??μí3?D£?R2?¢R3?¢R4oí??1FH?aμúò?1¤×÷??£?R5?¢R6?¢R7oí??1EH
?aμú?t1¤×÷???£ó??§??òa2??ú1¤×÷???D′?·??T1?μ??ò·???o?D?μ?D??¢£?3ìDò?í??óD??o?μ?
í??÷D??£
£?£?×ó3ìDòμ÷ó?·?ày£oóéóú±?3ìDò?aì?±e×¢òaá??÷×ó3ìDò?ó?úμ??àèYD?£?oüèYò×2éó?
?y??·?ê?£¨?òá÷????·?ê?£?íê3éò???1?ê?μ??????£ò???μ??????aày£o
???? £ù = £ì£? ?ì £ü £ó£é£? £¨£á£a£ˉ£?£?£?£? £ü
ò??a£oa=-123.4£?b=0.7577£?c=56.34£?d=1.276£? ?ü??·?±e′?·??ú30H?¢33H?¢36H?¢
39H?aê?μ?á?D?èy??μ¥?a?D?£ó?£?£?£?????μ?êy±íê?ê±£?·?±e?aa=831234H£?b=007577H£?
c=025634H£?d=011276H?£
?ó?a1y3ì£oí¨1yμ÷ó?£?£?£?£?×ó3ìDò£????÷±?á?×a??3é?t??????μ?2ù×÷êy£??ù??DD?÷
??????£?×?oóμ÷ó?£?£?£?£?×ó3ìDò£??1?-3éê?????D?ê?£?1?ê?3?ê1ó??£3ìDòè???£o
TEST: MOV R0,#39H £????ò£?£?£?????μ?2ù×÷êy£?
LCALL BTOF £?????×a??3é?t??????μ?2ù×÷êy
MOV R0,#36H £????ò£?£?£?????μ?2ù×÷êy£?
LCALL BTOF £?????×a??3é?t??????μ?2ù×÷êy
MOV R0,#33H £????ò£?£?£?????μ?2ù×÷êy£a
LCALL BTOF £?????×a??3é?t??????μ?2ù×÷êy
MOV R0,#30H £????ò£?£?£?????μ?2ù×÷êy£á
LCALL BTOF £?????×a??3é?t??????μ?2ù×÷êy
MOV R1,#33H £????ò?t??????μ?2ù×÷êy£a
LCALL FMUL £???DD??μ?3?·¨????
MOV R1,#36H £????ò?t??????μ?2ù×÷êy£?
LCALL FDIV £???DD??μ?3y·¨????
MOV R1,#39H £????ò?t??????μ?2ù×÷êy£?
LCALL FADD £???DD??μ??ó·¨????
LCALL FSIN £???DD??μ??y?ò????
LCALL FABS £???DD??μ??????μ????
LCALL FSQR £???DD??μ??a??·?????
LCALL FLN £???DD??μ???êy????
LCALL FTOB £????á1?×a??3é£?£?£?????μ?êy
STOP: LJMP STOP
END
??DD?á1?£?[R0]=804915H£??′£ù=-0.4915£?±è????è·μ??á1?ó|??ê?-0.491437?£
£¨£±£? ±êo?£o £?£ó£?£? 1|?ü£o??μ?êy??ê??ˉ
è??úì??t£o′y??ê??ˉ??μ?2ù×÷êy?ú[R0]?D?£
3??úD??¢£oò???ê??ˉ??μ?2ù×÷êyè??ú[R0]?D?£
ó°?ì×ê?′£oPSW?¢A?¢R2?¢R3?¢R4?¢??1FH ????Dè?ó£o £?×??ú
FSDT: LCALL MVR0 £???′y??ê??ˉ2ù×÷êy′??íμ?μúò?1¤×÷???D
LCALL RLN £?í¨1y×ó1?íê3é??ê??ˉ
LJMP MOV0 £???ò???ê??ˉ??μ?2ù×÷êy′???μ?[R0]?D
£¨£2£? ±êo?£o £?£á£?£? 1|?ü£o??μ?êy?ó·¨
è??úì??t£o±??óêy?ú[R0]?D£??óêy?ú[R1]?D?£
3??úD??¢£oOV=0ê±£?oíè??ú[R0]?D£?OV=1ê±£?ò?3??£
ó°?ì×ê?′£oPSW?¢A?¢B?¢R2??R7?¢??1EH?¢1FH ????Dè?ó£o £?×??ú
FADD: CLR F0 £?éèá¢?󷨱ê??
SJMP AS £?????′úêyoí
£¨£3£? ±êo?£o £?£ó£?£? 1|?ü£o??μ?êy??·¨
è??úì??t£o±???êy?ú[R0]?D£???êy?ú[R1]?D?£
3??úD??¢£oOV=0ê±£?2?è??ú[R0]?D£?OV=1ê±£?ò?3??£
ó°?ì×ê?′£oPSW?¢A?¢B?¢R2??R7?¢??1EH?¢1FH ????Dè?ó£o£?×??ú
FSUB: SETB F0 £?éèá¢??·¨±ê??
AS: LCALL MVR1 £?????′úêyoí?£?è??[R1]′??íμ?μú?t1¤×÷??
MOV C,F0 £?ó??ó??±ê??à′D£?yμú?t2ù×÷êyμ?óDD§·?o?
RRC A
XRL A,@R1
MOV C,ACC.7
ASN: MOV 1EH,C £???μú?t2ù×÷êyμ?óDD§·?o?′?è???1EH?D
XRL A,@R0 £?ó?μúò?2ù×÷êyμ?·?o?±è??
RLC A
MOV F0,C £?±£′?±è???á1?
LCALL MVR0 £???[R0]′??íμ?μúò?1¤×÷???D
LCALL AS1 £??ú1¤×÷??′??÷?Díê3é′úêy????
MOV0: INC R0 £????á1?′???μ?[R0]?Dμ?×ó3ìDòè??ú
INC R0
MOV A,R4 £?′????2êyμ?μí×??ú
MOV @R0,A
DEC R0
MOV A,R3 £?′????2êyμ???×??ú
MOV @R0,A
DEC R0
MOV A,R2 £?è??á1?μ??×??
MOV C,1FH £?è??á1?μ?êy·?
MOV ACC.7,C £??′è??×???D
MOV @R0,A
CLR ACC.7 £?2?????êy·?
CLR OV £???3yò?3?±ê??
CJNE A,#3FH,MV01£??×??ê?·?é?ò?£?
SETB OV £?éèá¢ò?3?±ê??
MV01: MOV A,@R0 £?è?3?′?êy·?μ??×??
RET
MVR0: MOV A,@R0 £???[R0]′??íμ?μúò?1¤×÷???Dμ?×ó3ìDò
MOV C,ACC.7 £???êy·?±£′??ú??1FH?D
MOV 1FH,C
MOV C,ACC.6 £????×??à?3??a£?£a£é£?21??
MOV ACC.7,C
MOV R2,A £?′?·??úR2?D
INC R0
MOV A,@R0 £????2êy??×??ú′?·??úR3?D
MOV R3,A
INC R0
MOV A,@R0 £????2êyμí×??ú′?·??úR4?D
MOV R4,A
DEC R0 £????′êy?Y????
DEC R0
RET
MVR1: MOV A,@R1 £???[R1]′??íμ?μú?t1¤×÷???Dμ?×ó3ìDò
MOV C,ACC.7 £???êy·?±£′??ú??1EH?D
MOV 1EH,C
MOV C,ACC.6 £????×??à?3??a£?£a£é£?21??
MOV ACC.7,C
MOV R5,A £?′?·??úR5?D
INC R1
MOV A,@R1 £????2êy??×??ú′?·??úR6?D
MOV R6,A
INC R1
MOV A,@R1 £????2êyμí×??ú′?·??úR7?D
MOV R7,A
DEC R1 £????′êy?Y????
DEC R1
RET
AS1: MOV A,R6 £??áè?μú?t2ù×÷êy?2êy??×??ú
ORL A,R7
JZ AS2 £?μú?t2ù×÷êy?aá?£?2?±?????
MOV A,R3 £??áè?μúò?2ù×÷êy?2êy??×??ú
ORL A,R4
JNZ EQ
MOV A,R6 £?μúò?2ù×÷êy?aá?£??á1?ò?μú?t2ù×÷êy?a×?
MOV R3,A
MOV A,R7
MOV R4,A
MOV A,R5
MOV R2,A
MOV C,1EH
MOV 1FH,C
AS2: RET
EQ: MOV A,R2 £????×£?±è??á???2ù×÷êyμ??×??
XRL A,R5
JZ AS4 £??×???àí?£????×?áê?
JB ACC.7,EQ3£??×·??¥òì
MOV A,R2 £??×·??àí?£?±è??′óD?
CLR C
SUBB A,R5
JC EQ4
EQ2: CLR C £?μú?t2ù×÷êyóò1?ò?′?
MOV A,R6 £??2êy??D?ò?°?
RRC A
MOV R6,A
MOV A,R7
RRC A
MOV R7,A
INC R5 £??×???óò?
ORL A,R6 £??2êy?aá?·?£?
JNZ EQ £??2êy2??aá?£??ìD????×
MOV A,R2 £??2êy?aá?£?ìá?°?áê????×
MOV R5,A
SJMP AS4
EQ3: MOV A,R2 £??D??μúò?2ù×÷êy?×·?
JNB ACC.7,EQ2£?è??a?y£?óò1?μú?t2ù×÷êy
EQ4: CLR C
LCALL RR1 £?μúò?2ù×÷êyóò1?ò?′?
ORL A,R3 £??2êy?aá?·?£?
JNZ EQ £?2??aá?£??ìD????×
MOV A,R5 £??2êy?aá?£?ìá?°?áê????×
MOV R2,A
AS4: JB F0,AS5 £??2êy?ó???D??
MOV A,R4 £??2êy?à?ó
ADD A,R7
MOV R4,A
MOV A,R3
ADDC A,R6
MOV R3,A
JNC AS2
LJMP RR1 £?óD????£?óò1?ò?′?
AS5: CLR C £?±è???????μ′óD?
MOV A,R4
SUBB A,R7
MOV B,A
MOV A,R3
SUBB A,R6
JC AS6
MOV R4,B £?μúò??2êy??μú?t?2êy
MOV R3,A
LJMP RLN £??á1?1????ˉ
AS6: CPL 1FH £??á1?μ?·?o?ó?μúò?2ù×÷êy?à·′
CLR C £??á1?μ??????μ?aμú?t?2êy??μúò??2êy
MOV A,R7
SUBB A,R4
MOV R4,A
MOV A,R6
SUBB A,R3
MOV R3,A
RLN: MOV A,R3 £???μ?êy1????ˉ
ORL A,R4 £??2êy?aá?·?£?
JNZ RLN1
MOV R2,#0C1H£??×??è?×?D??μ
RET
RLN1: MOV A,R3
JB ACC.7,RLN2£??2êy×??????aò?·?£?
CLR C £?2??aò?£?×ó1?ò?′?
LCALL RL1
SJMP RLN £??ìD??D??
RLN2: CLR OV £?1????ˉ?áê?
RET
RL1: MOV A,R4 £?μúò?2ù×÷êy×ó1?ò?′?
RLC A £??2êyà?′óò?±?
MOV R4,A
MOV A,R3
RLC A
MOV R3,A
DEC R2 £??×????ò?
CJNE R2,#0C0H,RL1E£??×????ò?·?£?
CLR A
MOV R3,A £??×????ò?£?2ù×÷êyò?á???
MOV R4,A
MOV R2,#0C1H
RL1E: CLR OV
RET
RR1: MOV A,R3 £?μúò?2ù×÷êyóò1?ò?′?
RRC A £??2êy??D?ò?°?
MOV R3,A
MOV A,R4
RRC A
MOV R4,A
INC R2 £??×???óò?
CLR OV £???ò?3?±ê??
CJNE R2,#40H,RR1E£??×??é?ò?·?£?
MOV R2,#3FH £??×??ò?3?
SETB OV
RR1E: RET
£¨£′£? ±êo?£o £?£í£?£ì 1|?ü£o??μ?êy3?·¨
è??úì??t£o±?3?êy?ú[R0]?D£?3?êy?ú[R1]?D?£
3??úD??¢£oOV=0ê±£??yè??ú[R0]?D£?OV=1ê±£?ò?3??£
ó°?ì×ê?′£oPSW?¢A?¢B?¢R2??R7?¢??1EH?¢1FH ????Dè?ó£o£?×??ú
FMUL: LCALL MVR0 £???[R0]′??íμ?μúò?1¤×÷???D
MOV A,@R0
XRL A,@R1 £?±è??á???2ù×÷êyμ?·?o?
RLC A
MOV 1FH,C £?±£′??yμ?·?o?
LCALL MUL0 £??????yμ??????μ
LJMP MOV0 £????á1?′???μ?[R0]?D
MUL0: LCALL MVR1 £???[R1]′??íμ?μú?t1¤×÷???D
MUL1: MOV A,R3 £?μúò??2êy?aá?·?£?
ORL A,R4
JZ MUL6
MOV A,R6 £?μú?t?2êy?aá?·?£?
ORL A,R7
JZ MUL5
MOV A,R7 £?????R3R4?áR6R7£-?úR3R4
MOV B,R4
MUL AB
MOV A,B
XCH A,R7
MOV B,R3
MUL AB
ADD A,R7
MOV R7,A
CLR A
ADDC A,B
XCH A,R4
MOV B,R6
MUL AB
ADD A,R7
MOV R7,A
MOV A,B
ADDC A,R4
MOV R4,A
CLR A
RLC A
XCH A,R3
MOV B,R6
MUL AB
ADD A,R4
MOV R4,A
MOV A,B
ADDC A,R3
MOV R3,A
JB ACC.7,MUL2£??y?a1????ˉêy·?£?
MOV A,R7 £?×ó1?ò?′?
RLC A
MOV R7,A
LCALL RL1
MUL2: MOV A,R7
JNB ACC.7,MUL3
INC R4
MOV A,R4
JNZ MUL3
INC R3
MOV A,R3
JNZ MUL3
MOV R3,#80H
INC R2
MUL3: MOV A,R2 £??ó?yμ??×??
ADD A,R5
MD: MOV R2,A £??×??ò?3??D??
JB ACC.7,MUL4
JNB ACC.6,MUL6
MOV R2,#3FH £??×??é?ò?£?éèᢱê??
SETB OV
RET
MUL4: JB ACC.6,MUL6
MUL5: CLR A £??á1???á?£¨òò×ó?aá??ò?×????ò?£?
MOV R3,A
MOV R4,A
MOV R2,#41H
MUL6: CLR OV
RET
£¨£μ£? ±êo?£o £?£?£é£? 1|?ü£o??μ?êy3y·¨
è??úì??t£o±?3yêy?ú[R0]?D£?3yêy?ú[R1]?D?£
3??úD??¢£oOV=0ê±£?éìè??ú[R0]?D£?OV=1ê±£?ò?3??£
ó°?ì×ê?′£oPSW?¢A?¢B?¢R2??R7?¢??1EH?¢1FH ????Dè?ó£o £μ×??ú
FDIV: INC R0
MOV A,@R0
INC R0
ORL A,@R0
DEC R0
DEC R0
JNZ DIV1
MOV @R0,#41H£?±?3yêy?aá?£?2?±?????
CLR OV
RET
DIV1: INC R1
MOV A,@R1
INC R1
ORL A,@R1
DEC R1
DEC R1
JNZ DIV2
SETB OV £?3yêy?aá?£?ò?3?
RET
DIV2: LCALL MVR0 £???[R0]′??íμ?μúò?1¤×÷???D
MOV A,@R0
XRL A,@R1 £?±è??á???2ù×÷êyμ?·?o?
RLC A
MOV 1FH,C £?±£′??á1?μ?·?o?
LCALL MVR1 £???[R1]′??íμ?μú?t1¤×÷???D
LCALL DIV3 £?μ÷ó?1¤×÷????μ?3y·¨
LJMP MOV0 £???′??á1?
DIV3: CLR C £?±è???2êyμ?′óD?
MOV A,R4
SUBB A,R7
MOV A,R3
SUBB A,R6
JC DIV4
LCALL RR1 £?±?3yêyóò1?ò?′?
SJMP DIV3
DIV4: CLR A £??èó?R0R1R2×÷1¤×÷??′??÷
XCH A,R0 £???á?2¢±£?¤??
PUSH ACC
CLR A
XCH A,R1
PUSH ACC
MOV A,R2
PUSH ACC
MOV B,#10H £?3y·¨????£?R3R4£ˉR6R7£-?úR0R1
DIV5: CLR C
MOV A,R1
RLC A
MOV R1,A
MOV A,R0
RLC A
MOV R0,A
MOV A,R4
RLC A
MOV R4,A
XCH A,R3
RLC A
XCH A,R3
MOV F0,C
CLR C
SUBB A,R7
MOV R2,A
MOV A,R3
SUBB A,R6
ANL C,/F0
JC DIV6
MOV R3,A
MOV A,R2
MOV R4,A
INC R1
DIV6: DJNZ B,DIV5
MOV A,R6 £???éá??è?
CLR C
RRC A
SUBB A,R3
CLR A
ADDC A,R1 £????á1?′???R3R4
MOV R4,A
CLR A
ADDC A,R0
MOV R3,A
POP ACC £????′R0R1R2
MOV R2,A
POP ACC
MOV R1,A
POP ACC
MOV R0,A
MOV A,R2 £?????éìμ??×??
CLR C
SUBB A,R5
LCALL MD £??×???ì?é
LJMP RLN £?1????ˉ
£¨£?£? ±êo?£o £?£?£ì£ò 1|?ü£o??μ?êy??á?
è??úì??t£o2ù×÷êy?ú[R0]?D?£
3??úD??¢£o2ù×÷êy±???á??£
ó°?ì×ê?′£oA ????Dè?ó£o £2×??ú
FCLR: INC R0
INC R0
CLR A
MOV @R0,A
DEC R0
MOV @R0,A
DEC R0
MOV @R0,#41H
RET
£¨£·£? ±êo?£o £?£ú£?£ò 1|?ü£o??μ?êy?Dá?
è??úì??t£o2ù×÷êy?ú[R0]?D?£
3??úD??¢£oè?à??ó?÷A?aá?£??ò2ù×÷êy[R0]?aá?£?·??ò2??aá??£
ó°?ì×ê?′£oA ????Dè?ó£o £2×??ú
FZER: INC R0
INC R0
MOV A,@R0
DEC R0
ORL A,@R0
DEC R0
JNZ ZERO
MOV @R0,#41H
ZERO: RET
£¨£?£? ±êo?£o £?£í£?£? 1|?ü£o??μ?êy′??í
è??úì??t£o?′2ù×÷êy?ú[R1]?D£???±êμ??·?a[R0]?£
3??úD??¢£o[R0]=[R1]£?[R1]2?±??£
ó°?ì×ê?′£oA ????Dè?ó£o £2×??ú
FMOV: INC R0
INC R0
INC R1
INC R1
MOV A,@R1
MOV @R0,A
DEC R0
DEC R1
MOV A,@R1
MOV @R0,A
DEC R0
DEC R1
MOV A,@R1
MOV @R0,A
RET
£¨£1£? ±êo?£o £?£D£?£ó 1|?ü£o??μ?êy?1??
è??úì??t£o2ù×÷êy?ú[R0]?D?£
3??úD??¢£o2ù×÷êy?1è????¥?£
ó°?ì×ê?′£oA?¢R2?¢R3 ????Dè?ó£o £μ×??ú
FPUS: POP ACC £???·μ??μ??·±£′??úR2R3?D
MOV R2,A
POP ACC
MOV R3,A
MOV A,@R0 £???2ù×÷êy?1è?????
PUSH ACC
INC R0
MOV A,@R0
PUSH ACC
INC R0
MOV A,@R0
PUSH ACC
DEC R0
DEC R0
MOV A,R3 £???·μ??μ??·?1è?????
PUSH ACC
MOV A,R2
PUSH ACC
RET £?·μ???÷3ìDò
£¨£±£°£? ±êo?£o £?£D£?£D 1|?ü£o??μ?êy3???
è??úì??t£o2ù×÷êy′|óú???¥?£
3??úD??¢£o2ù×÷êyμˉ?á[R0]?D?£
ó°?ì×ê?′£oA?¢R2?¢R3 ????Dè?ó£o £2×??ú
FPOP: POP ACC £???·μ??μ??·±£′??úR2R3?D
MOV R2,A
POP ACC
MOV R3,A
INC R0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -