大概是这样。 (1千字)
字母处理部分:016F:00481760 PUSH EBX
016F:00481761 PUSH ESI
016F:00481762 MOV [EBP-01],AL //将字母放入
016F:00481765 MOV BYTE [EBP-03],02 //
016F:00481769 MOV BYTE [EBP-02],01 //变量初始化
016F:0048176D MOV CL,[EBP-01] //读出字母
016F:00481770 DEC ECX
016F:00481771 SUB CL,02
016F:00481774 JC 004817A0
016F:00481776 INC ECX
016F:00481777 MOV BL,02
016F:00481779 XOR EAX,EAX
016F:0048177B MOV AL,[EBP-01]
016F:0048177E XOR EDX,EDX
016F:00481780 MOV DL,BL
016F:00481782 MOV ESI,EDX
016F:00481784 XOR EDX,EDX
016F:00481786 DIV ESI
016F:00481788 TEST EDX,EDX
016F:0048178A JNZ 0048178F
016F:0048178C INC BYTE [EBP-03]
016F:0048178F CMP BYTE [EBP-03],02
016F:00481793 JNA 0048179B //关键跳转
016F:00481795 MOV BYTE [EBP-02],00 //当[ebp-02]为0,则该字母不被选中(也就是说不显示)
016F:00481799 JMP SHORT 004817A0
016F:0048179B INC EBX
016F:0048179C DEC CL
016F:0048179E JNZ 00481779
016F:004817A0 MOV AL,[EBP-02] //return [ebp-02]
016F:004817A3 POP ESI
016F:004817A4 POP EBX
016F:004817A5 POP ECX
016F:004817A6 POP EBP
016F:004817A7 RET
