请将下面的程序画出一个流程图,悬赏1000分,订金100分。急用明天之前给我

DATA SEGMENT
S0 DB 0DH,0AH,'1.Set Password 2.Input Password 3.Exit $'
S1 DB 0DH,0AH,'Set Password: $'
S2 DB 0DH,0AH,'Input Password: $'
BUFF1 DB 255,255 DUP(0)
BUFF2 DB 255,255 DUP(0)
NEXT_H DB 0DH,0AH
S3 DB 0DH,0AH,'Password error!',0DH,0AH,'$'
S4 DB 0DH,0AH,'Password correct!',0DH,0AH,'$'
ERR_N DB 0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
MAIN PROC FAR
START:
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
PUSH DS
POP ES
MENU:
MOV AH,09
MOV DX ,OFFSET s0
INT 21H
AGAIN:
MOV AH,08
INT 21H
CMP AH,'1'
JE SET_P
CMP AL,'2'
JE IN_P
CMP AL,'3'
JE EXIT_DOS1
JMP AGAIN
EXIT_DOS1:
RET
SET_P:
MOV AH,09
MOV DX,OFFSET S1
INT 21H
MOV AH,0AH
MOV DX ,OFFSET BUFF1
INT 21H
MOV AL,0
MOV ERR_N,AL
JMP MENU
IN_P:
MOV AH,09
MOV DX,OFFSET S2
INT 21H
MOV AH,OAH
MOV DX ,OFFSET BUFF2
INT 21H
MOV BX ,OFFSET BUFF1+1
MOV AL,[BX]
MOV BX ,OFFSET BUFF2+1
MOV AH,[BX]
XOR AH,AL
JNZ ERR
MOV CH,0
MOV CL,AL
MOV SI,OFFSET BUFF1+2
MOV DI,OFFSET BUFF2+2
CLD
REPE CMPSB
JNZ ERR
MOV AH,09
MOV DX,OFFSET S4
INT 21H
JMP MENU
ERR:
MOV AH,09
MOV DX,OFFSET S3
INT 21H
INC ERR_N
MOV AL,ERR_N
CMP AL,3
JE EXIT_DOS
JMP MENU
EXIT_DOS:
RET
MAIN ENDP
CODE ENDS
END START
没人会么??跪求。

你这程序好像不少错误呀,不过不管了,意思还是能看明白。

为了你这100分我特意安了个visio。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-06
这个我不会。但是估计回答者也不会很多,主要是提问的时间不合适。

我建议你要提问的话,还是下午或者晚上19至22点提问比较好,因为这个时段的活跃用户和回答者比较多。本回答被网友采纳
第2个回答  2011-01-09
你可以编译好,导入到 IDA 中,然后导出流程图,自己用手来画这样的图太麻烦了。
PS: IDA 的汇编程序制图功能很强大的,
如果在反汇编界面中没有以流程图显示的话,就在主界面里按空格键。

我一直是这样进行反汇编分析的。
推荐 IDA 5.0,支持32/64位版本,还支持交叉平台调试

shinesnow_wy 同志提供的图不错,但不知道LZ要的是大致的流程还是每条指令的执行流程图,我提供的是后者。
相似回答
大家正在搜