B,R4Р MUL ABР MOV R5,BР MOV R6,AР<4-8>Р MOV A,20HР ANL A,21HР ORL A,22HР XRL A,23HР ADD A,ACCР CPL AР MOV 25H,AР<4-9>Р MOV R0,#30HР MOV R2,#20Р MOV B,#0РLOOP:CJNZ @R0,#‘W’,NEXTР INC BРNEXT: INC R0Р DJNZ R2,LOOPР MOV A,BР JZ NEXT2Р MOV A,#‘Y’Р SJMP NEXT3 РNEXT2:MOV A,#‘N’РNEXT3:NOPР<4-10>Р MOV A,30HР MOV B,#10HР DIV AB //拆分BCD码,分别存入A,BР MOL ABР DA AР MOV 31H,AР MOV B,#10Р DIV A,BР SWAP AР ORL A,BР SWAP AР<4-11>Р当在30H区域找到一个最小值时,将相应单元置成FFH。从小到大找完后,再移动到50H区域。B保存最小值Р MOV R3,#10РLOOP2:MOV R1,#40HРMOV R2,#10Р MOV R0,#30HР MOV A,#0FFHРLOOP1:MOV B,@R0Р CJNE A,B,$+3Р JNC Р MOV A,@R0Р MOV DPH,R0;记忆地址Р INC ROР DJNZ R2,LOOP1Р MOV @R1,AР MOV R0,DPHР MOV @R0,#0FFHР INC R1Р DJNZ R3,LOOP2:倒转40H区域到50H区域Р MOV R2,#10Р MOV R0,#40HР MOV R1,#50+9РLOOP3:MOV A,@R0Р MOV @R1,AР INC R0Р DEC R1,LOOPР<4-12>Р MOV A,30H