📄 子程序.txt
字号:
INC R0
POP ACC £???2ù×÷êyμˉ3?????£?′??íμ?[R0]?D
MOV @R0,A
DEC R0
POP ACC
MOV @R0,A
DEC R0
POP ACC
MOV @R0,A
MOV A,R3 £???·μ??μ??·?1è?????
PUSH ACC
MOV A,R2
PUSH ACC
RET £?·μ???÷3ìDò
£¨£±£±£? ±êo?£o £?£?£í£D 1|?ü£o??μ?êy′úêy?μ±è??£¨2?ó°?ì′y±è??2ù×÷êy£?
è??úì??t£o′y±è??2ù×÷êy·?±e?ú[R0]oí[R1]?D?£
3??úD??¢£oè?CY=1£??ò[R0] < [R1]£?è?CY=0?òA=0?ò [R0] = [R1]£?·??ò[R0] > [R1]?£
ó°?ì×ê?′£oA?¢B?¢PSW ????Dè?ó£o £2×??ú
FCMP: MOV A,@R0 £?êy·?±è??
XRL A,@R1
JNB ACC.7,CMP2
MOV A,@R0 £?á?êyòìo?£?ò?[R0]êy·??a×?
RLC A
MOV A,#0FFH
RET
CMP2: MOV A,@R1 £?á?êyí?o?£?×?±?±è???×??
MOV C,ACC.6
MOV ACC.7,C
MOV B,A
MOV A,@R0
MOV C,ACC.7
MOV F0,C £?±£′?[R0]μ?êy·?
MOV C,ACC.6
MOV ACC.7,C
CLR C £?±è???×??
SUBB A,B
JZ CMP6
RLC A £?è??×????2?μ?·?o?
JNB F0,CMP5
CPL C £?[R0]?a?oê±£??á1?è?·′
CMP5: MOV A,#0FFH £?á?êy2??àμè
RET
CMP6: INC R0 £??×???àí?ê±£?×?±?±è???2êy
INC R0
INC R1
INC R1
CLR C
MOV A,@R0
SUBB A,@R1
MOV B,A £?±£′?2?·?2?
DEC R0
DEC R1
MOV A,@R0
SUBB A,@R1
DEC R0
DEC R1
ORL A,B £?éú3éê?·??àμèD??¢
JZ CMP7
JNB F0,CMP7
CPL C £?[R0]?a?oê±£??á1?è?·′
CMP7: RET
£¨£±£2£? ±êo?£o £?£á£?£ó 1|?ü£o??μ??????μoˉêy
è??úì??t£o2ù×÷êy?ú[R0]?D?£
3??úD??¢£o?á1?è??ú[R0]?D?£
ó°?ì×ê?′£oA ????Dè?ó£o £2×??ú
FABS: MOV A,@R0 £??áè?2ù×÷êyμ??×??
CLR ACC.7 £???3yêy·?
MOV @R0,A £???′??×??
RET
£¨£±£3£? ±êo?£o £?£ó£?£? 1|?ü£o??μ?·?o?oˉêy
è??úì??t£o2ù×÷êy?ú[R0]?D?£
3??úD??¢£oà??ó?÷ A=1 ê±?a?yêy£?A=0FFHê±?a?oêy£?A=0 ê±?aá??£
ó°?ì×ê?′£oPSW?¢A ????Dè?ó£o £2×??ú
FSGN: INC R0 £??á?2êy
MOV A,@R0
INC R0
ORL A,@R0
DEC R0
DEC R0
JNZ SGN
RET £??2êy?aá?£??áê?
SGN: MOV A,@R0 £??áè?2ù×÷êyμ??×??
RLC A £?è?êy·?
MOV A,#1 £?°′?yêy3?ê??ˉ
JNC SGN1 £?ê??yêy£??áê?
MOV A,#0FFH £?ê??oêy£???±?±ê??
SGN1: RET
£¨£±£′£? ±êo?£o £?£é£?£? 1|?ü£o??μ?è???oˉêy
è??úì??t£o2ù×÷êy?ú[R0]?D?£
3??úD??¢£o?á1?è??ú[R0]?D?£
ó°?ì×ê?′£oPSW?¢A?¢R2?¢R3?¢R4?¢??1FH ????Dè?ó£o £?×??ú
FINT: LCALL MVR0 £???[R0]′??íμ?μúò?1¤×÷???D
LCALL INT £??ú1¤×÷??′??÷?Díê3éè???????
LJMP MOV0 £????á1?′???μ?[R0]?D
INT: MOV A,R3
ORL A,R4
JNZ INTA
CLR 1FH £??2êy?aá?£??×??ò2??á?£??áê?è???
MOV R2,#41H
RET
INTA: MOV A,R2
JZ INTB £??×???aá?·?£?
JB ACC.7,INTB£??×·??a?o·?£?
CLR C
SUBB A,#10H £??×??D?óú£±£?·?£?
JC INTD
RET £??×??′óóú£±£?£?ò??-ê???êy
INTB: CLR A £??????μD?óúò?£?è???oó?yêy?aá?£??oêy?a?oò?
MOV R4,A
MOV C,1FH
RRC A
MOV R3,A
RL A
MOV R2,A
JNZ INTC
MOV R2,#41H
INTC: RET
INTD: CLR F0 £?éá?2±ê??3?ê??ˉ
INTE: CLR C
LCALL RR1 £?óò1?ò?′?
ORL C,F0 £???ò?éá?2?é??
MOV F0,C
CJNE R2,#10H,INTE£??×??′?μ?£±£?£¨?2êyíêè??a??êy£?·?£?
JNB F0,INTF £?éáè¥2?·??aá?·?£?
JNB 1FH,INTF£?2ù×÷êy?a?yêy·?£?
INC R4 £???óú′?D?êyμ??oêy£??ò??è???
MOV A,R4
JNZ INTF
INC R3
INTF: LJMP RLN £????á1?1????ˉ
£¨£±£μ£? ±êo?£o £?£ò£?£D 1|?ü£o??μ?μ1êyoˉêy
è??úì??t£o2ù×÷êy?ú[R0]?D?£
3??úD??¢£oOV=0ê±£??á1?è??ú[R0]?D£?OV=1ê±£?ò?3??£
ó°?ì×ê?′£oPSW?¢A?¢B?¢R2??R7?¢??1EH?¢1FH ????Dè?ó£o £μ×??ú
FRCP: MOV A,@R0
MOV C,ACC.7
MOV 1FH,C £?±£′?êy·?
MOV C,ACC.6 £??????μ′??íμ?μú?t1¤×÷??
MOV ACC.7,C
MOV R5,A
INC R0
MOV A,@R0
MOV R6,A
INC R0
MOV A,@R0
MOV R7,A
DEC R0
DEC R0
ORL A,R6
JNZ RCP
SETB OV £?á?2??ü?óμ1êy£?éèá¢ò?3?±ê??
RET
RCP: MOV A,R6
JB ACC.7,RCP2£?2ù×÷êy??ê??ˉ·?£?
CLR C £???ê??ˉ??
MOV A,R7
RLC A
MOV R7,A
MOV A,R6
RLC A
MOV R6,A
DEC R5
SJMP RCP
RCP2: MOV R2,#1 £???êy?μ£±£?£°£°′??íμ?μúò?1¤×÷??
MOV R3,#80H
MOV R4,#0
LCALL DIV3 £?μ÷ó?1¤×÷????μ?3y·¨£??óμ?μ1êy
LJMP MOV0 £???′??á1?
£¨£±£?£? ±êo?£o £?£ó£?£? 1|?ü£o??μ?êy??·?
è??úì??t£o2ù×÷êy?ú[R0]?D?£
3??úD??¢£oOV=0ê±£???·??μè?è??ú[R0]?D£?OV=1ê±ò?3??£
ó°?ì×ê?′£oPSW?¢A?¢B?¢R2??R7?¢??1EH?¢1FH ????Dè?ó£o £1×??ú
FSQU: MOV A,R0 £???2ù×÷êy
XCH A,R1 £?í?ê±×÷?a3?êy
PUSH ACC £?±£′?£ò£±????
LCALL FMUL £???DD3?·¨????
POP ACC
MOV R1,A £????′£ò£±????
RET
£¨£±£·£? ±êo?£o £?£ó£?£ò 1|?ü£o??μ?êy?a??·?£¨?ì?ù±??ü??·¨£?
è??úì??t£o2ù×÷êy?ú[R0]?D?£
3??úD??¢£oOV=0ê±£???·??ùè??ú[R0]?D£?OV=1ê±£??oêy?a??·?3?′í?£
ó°?ì×ê?′£oPSW?¢A?¢B?¢R2??R7 ????Dè?ó£o £2×??ú
FSQR: MOV A,@R0
JNB ACC.7,SQR
SETB OV £??oêy?a??·?£?3?′í
RET
SQR: INC R0
INC R0
MOV A,@R0
DEC R0
ORL A,@R0
DEC R0
JNZ SQ
MOV @R0,#41H£??2êy?aá?£?2?±?????
CLR OV
RET
SQ: MOV A,@R0
MOV C,ACC.6 £????×??à??13é£?£a£é£?21??
MOV ACC.7,C
INC A £??óò?
CLR C
RRC A £?3y?t
MOV @R0,A £?μ?μ???·??ùμ??×??£???′???
INC R0 £????ò±??a·?êy?2êyμ???×??ú
JC SQR0 £??-±??a·?êyμ??×??ê???êy?e£?
MOV A,@R0 £?ê???êy£??2êyóò1?ò?′?
RRC A
MOV @R0,A
INC R0
MOV A,@R0
RRC A
MOV @R0,A
DEC R0
SQR0: MOV A,@R0
JZ SQR9 £??2êy?aá?£?2?±?????
MOV R2,A £????2êy′??íμ?R2R3?D
INC R0
MOV A,@R0
MOV R3,A
MOV A,R2 £??ì?ù?a·?£?2????¨μ?×ó3ìDò?μ?÷
ADD A,#57H
JC SQR2
ADD A,#45H
JC SQR1
ADD A,#24H
MOV B,#0E3H
MOV R4,#80H
SJMP SQR3
SQR1: MOV B,#0B2H
MOV R4,#0A0H
SJMP SQR3
SQR2: MOV B,#8DH
MOV R4,#0D0H
SQR3: MUL AB
MOV A,B
ADD A,R4
MOV R4,A
MOV B,A
MUL AB
XCH A,R3
CLR C
SUBB A,R3
MOV R3,A
MOV A,B
XCH A,R2
SUBB A,R2
MOV R2,A
SQR4: SETB C
MOV A,R4
RLC A
MOV R6,A
CLR A
RLC A
MOV R5,A
MOV A,R3
SUBB A,R6
MOV B,A
MOV A,R2
SUBB A,R5
JC SQR5
INC R4
MOV R2,A
MOV R3,B
SJMP SQR4
SQR5: MOV A,R4
XCH A,R2
RRC A
MOV F0,C
MOV A,R3
MOV R5,A
MOV R4,#8
SQR6: CLR C
MOV A,R3
RLC A
MOV R3,A
CLR C
MOV A,R5
SUBB A,R2
JB F0,SQR7
JC SQR8
SQR7: MOV R5,A
INC R3
SQR8: CLR C
MOV A,R5
RLC A
MOV R5,A
MOV F0,C
DJNZ R4,SQR6
MOV A,R3 £?????·??ùμ??2êy??′?μ?[R0]?D
MOV @R0,A
DEC R0
MOV A,R2
MOV @R0,A
SQR9: DEC R0 £?êy?Y??????1é?-??
CLR OV £??a·??á1?óDD§
RET
£¨£±£?£? ±êo?£o £?£D£ì£? 1|?ü£o??μ?êy?à??ê?????
è??úì??t£o×?±?á??ú[R0]?D£??à??ê??μêy?úμ÷ó???á???oó£?ò?£′£°£è?áê??£
3??úD??¢£oOV=0ê±£??á1?è??ú[R0]?D£?OV=1ê±£?ò?3??£
ó°?ì×ê?′£oDPTR?¢PSW?¢A?¢B?¢R2??R7?¢??1EH?¢1FH ????Dè?ó£o £′×??ú
FPLN: POP DPH £?è?3??à??ê??μêy′?·?μ??·
POP DPL
XCH A,R0 £?R0?¢R1??????é?£?×?±?á??ú[R1]?D
XCH A,R1
XCH A,R0
CLR A £???μúò?1¤×÷??
MOV R2,A
MOV R3,A
MOV R4,A
CLR 1FH
PLN1: CLR A £??áè?ò????μêy£?2¢×°è?μú?t1¤×÷??
MOVC A,@A+DPTR
MOV C,ACC.7
MOV 1EH,C
MOV C,ACC.6
MOV ACC.7,C
MOV R5,A
INC DPTR
CLR A
MOVC A,@A+DPTR
MOV R6,A
INC DPTR
CLR A
MOVC A,@A+DPTR
MOV R7,A
INC DPTR £????ò??ò????μêy
MOV C,1EH £?±è??á???êy·?
RRC A
XRL A,23H
RLC A
MOV F0,C £?±£′?±è???á1?
LCALL AS1 £???DD′úêy?ó·¨????
CLR A £??áè???ò????μêyμ?μúò???×??ú
MOVC A,@A+DPTR
CJNE A,#40H,PLN2£?ê??áê?±ê???e£?
XCH A,R0 £??????áê?£????′R0?¢R1?-à′μ???é?
XCH A,R1
XCH A,R0
LCALL MOV0 £????á1???′?μ?[R0]?D
CLR A
INC DPTR
JMP @A+DPTR £?·μ???÷3ìDò
PLN2: MOV A,@R1 £?±è??×?±?á?oí?D???á1?μ?·?o?
XRL A,23H
RLC A
MOV 1FH,C £?±£′?±è???á1?
LCALL MUL0 £???DD3?·¨????
SJMP PLN1 £??ìD???ò???????
£¨£±£1£? ±êo?£o £?£ì£?£? 1|?ü£oò?£±£°?aμ×μ???μ???êyoˉêy
è??úì??t£o2ù×÷êy?ú[R0]?D?£
3??úD??¢£oOV=0ê±£??á1?è??ú[R0]?D£?OV=1ê±£??oêy?òá??ó??êy3?′í?£
ó°?ì×ê?′£oDPTR?¢PSW?¢A?¢B?¢R2??R7?¢??1EH?¢1FH ????Dè?ó£o£1×??ú
FLOG: LCALL FLN £??èò?£??aμ×?ó??êy
JNB OV,LOG
RET £?è?ò?3??òí£?1????
LOG: MOV R5,#0FFH£??μêy£°£?£′£3£′£3£°£¨£±£ˉ£ì£?£±£°£?
MOV R6,#0DEH
MOV R7,#5CH
LCALL MUL1 £?í¨1y?à3?à′??μ×
LJMP MOV0 £?′????á1?
£¨£2£°£? ±êo?£o £?£ì£? 1|?ü£oò?£??aμ×μ???μ???êyoˉêy
è??úì??t£o2ù×÷êy?ú[R0]?D?£
3??úD??¢£oOV=0ê±£??á1?è??ú[R0]?D£?OV=1ê±£??oêy?òá??ó??êy3?′í?£
ó°?ì×ê?′£oDPTR?¢PSW?¢A?¢B?¢R2??R7?¢??1EH?¢1FH ????Dè?ó£o £·×??ú
FLN: LCALL MVR0 £???[R0]′??íμ?μúò?1¤×÷??
JB 1FH,LNOV£??oêy?òá??ó??êy£?3?′í
MOV A,R3
ORL A,R4
JNZ LN0
LNOV: SETB OV
RET
LN0: CLR C
LCALL RL1 £?×ó1?ò?′?
CLR A
XCH A,R2 £?±£′??-?×??£???á?1¤×÷??μ??×??
PUSH ACC
LCALL RLN £?1????ˉ
LCALL MOV0 £???′?
LCALL FPLN £?ó??à??ê??????2êyμ???êy
DB 7BH,0F4H,30H£?£°£?£°£2£1£?£°£?
DB 0FEH,85H,13H£?£-£°£?£±£2£1£1£?
DB 7FH,91H,51H£?£°£?£2£?£3£?£2
DB 0FFH,0FAH,0BAH£?£-£°£?£′£?£1£·
DB 0,0FFH,0CAH£?£°£?£1£1£1£±£?
DB 70H,0C0H,0£?£±£?£±£′£′£2?ᣱ£°-5
DB 40H £??áê?
POP ACC £?è?3??-?×??
JNZ LN1
RET £?è??aá?£??ò?áê?
LN1: CLR 1EH £???μú?t??êy·?
MOV C,ACC.7
MOV F0,C £?±£′??×·?
JNC LN2
CPL A £?μ±?×???a?oê±£??ó???????μ
INC A
LN2: MOV R2,A £??×??μ??????μ3?ò?£°£?£?£1£3£±£μ
MOV B,#72H
MUL AB
XCH A,R2
MOV R7,B
MOV B,#0B1H
MUL AB
ADD A,R7
MOV R7,A £?3??yμ??2êy?úR6R7R2?D
CLR A
ADDC A,B
MOV R6,A
MOV R5,#8 £?3??yμ??×??3?ê??ˉ£¨??êy2?·??aò?×??ú£?
LN3: JB ACC.7,LN4£?3??y??ê??ˉ
MOV A,R2
RLC A
MOV R2,A
MOV A,R7
RLC A
MOV R7,A
MOV A,R6
RLC A
MOV R6,A
DEC R5
SJMP LN3
LN4: MOV C,F0 £?è?3??×·?£?×÷?a3??yμ?êy·?
MOV ACC.7,C
LJMP ASN £?ó??2êyμ???êyo?2¢£?μ??-2ù×÷êyμ???êy
£¨£2£±£? ±êo?£o £?£?£±£° 1|?ü£oò?£±£°?aμ×μ???μ???êyoˉêy
è??úì??t£o2ù×÷êy?ú[R0]?D?£
3??úD??¢£oOV=0ê±£??á1?è??ú[R0]?D£?OV=1ê±£?ò?3??£
ó°?ì×ê?′£oDPTR?¢PSW?¢A?¢B?¢R2??R7?¢??1EH?¢1FH ????Dè?ó£o£?×??ú
FE10: MOV R5,#2 £??óè¨?μêy?a£3£?£3£2£±£1£¨£ì£?£?2£±£°£?
MOV R6,#0D4H
MOV R7,#9AH
SJMP EXP £??è??DD?óè¨????£?oóò?£2?aμ×í3ò??ó?Y
£¨£2£2£? ±êo?£o £?£?£?£D 1|?ü£oò?£??aμ×μ???μ???êyoˉêy
è??úì??t£o2ù×÷êy?ú[R0]?D?£
3??úD??¢£oOV=0ê±£??á1?è??ú[R0]?D£?OV=1ê±£?ò?3??£
ó°?ì×ê?′£oDPTR?¢PSW?¢A?¢B?¢R2??R7?¢??1EH?¢1FH ????Dè?ó£o£?×??ú
FEXP: MOV R5,#1 £??óè¨?μêy?a£±£?£′£′£2£·£2£¨£ì£?£?2£?£?
MOV R6,#0B8H
MOV R7,#0ABH
EXP: CLR 1EH £??óè¨?μêy?a?yêy
LCALL MVR0 £???[R0]′??íμ?μúò?1¤×÷??
LCALL MUL1 £???DD?óè¨????
SJMP E20 £?ò?£2?aμ×í3ò??ó?Y
£¨£2£3£? ±êo?£o £?£?£2 1|?ü£oò?£2?aμ×μ???μ???êyoˉêy
è??úì??t£o2ù×÷êy?ú[R0]?D?£
3??úD??¢£oOV=0ê±£??á1?è??ú[R0]?D£?OV=1ê±£?ò?3??£
ó°?ì×ê?′£oDPTR?¢PSW?¢A?¢B?¢R2??R7?¢??1EH?¢1FH ????Dè?ó£o£?×??ú
FE2: LCALL MVR0 £???[R0]′??íμ?μúò?1¤×÷??
E20: MOV A,R3
ORL A,R4
JZ EXP1 £??2êy?aá?
MOV A,R2
JB ACC.7,EXP2£??×·??a?o£?
SETB C
SUBB A,#6 £??×??′óóú£?·?£?
JC EXP2
JB 1FH,EXP0£?êy·??a?o·?£?
MOV @R0,#3FH£??y??êy1y′ó£??Yò?3?
INC R0
MOV @R0,#0FFH
INC R0
MOV @R0,#0FFH
DEC R0
DEC R0
SETB OV
RET
EXP0: MOV @R0,#41H£??o??êy1y′ó£??Y??ò?£???á?′|àí
CLR A
INC R0
MOV @R0,A
INC R0
MOV @R0,A
DEC R0
DEC R0
CLR OV
RET
EXP1: MOV @R0,#1 £???êy?aá?£??Y?a£±£?£°£°
INC R0
MOV @R0,#80H
INC R0
MOV @R0,#0
DEC R0
DEC R0
CLR OV
RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -