΢»úÔ­Àí¿Î³ÌÉè¼Æ²¨Ðη¢ÉúÆ÷ ÏÂÔØ±¾ÎÄ

INC SI ;Ö¸ÏòϸöÊä³öÖµ

CMP SI,64 ;ÅжÏÊÇ·ñÒѾ­Êä³ö64µã JNZ LO ;Èô²»ÊÇÔòÌø×ªL0 MOV SI,0H ;·ñÔòSIÇåÁã LO: MOV JISHU,SI ;½«¼ÆÊýÖµ±£´æ JMP EOI ;Ìø×ªµ½ÖжϽáÊø TRIANGLE:

MOV SI,JISHU ;½«¼ÆÊýÖµ·ÅÈëSI

MOV AL,[SANBUF+SI] ;½«Êä³öµÄÊýÖµ·ÅÈëAL MOV DX,DA0832 OUT DX,AL

INC SI CMP SI,64 JNZ LO MOV SI,0H L1: MOV JISHU,SI JMP EOI SINE:

MOV SI,JISHU MOV AL,[SINBUF+SI] MOV DX,DA0832 OUT DX,AL

INC SI CMP SI,64 JNZ LO MOV SI,0H L2: MOV JISHU,SI JMP EOI

EOI: MOV DX,MY8259_OCW2 MOV AL,20H OUT DX,AL JMP QUERY

INPUT PROC NEAR XOR DX,DX XOR CX,CX MOV DX,OFFSET MESS2 MOV AH,09H INT 21H

MOV DL,0DH MOV AH,02H INT 21H

;½«Êä³öֵдÈë0832 ;Ö¸ÏòϸöÊä³öÖµ

;ÅжÏÊÇ·ñÒѾ­Êä³ö64µã ;Èô²»ÊÇÔòÌø×ªL0 ;·ñÔòSIÇåÁã ;½«¼ÆÊýÖµ±£´æ ;Ìø×ªµ½ÖжϽáÊø ;½«¼ÆÊýÖµ·ÅÈëSI

;½«Êä³öµÄÊýÖµ·ÅÈëAL ;½«Êä³öֵдÈë0832 ;Ö¸ÏòϸöÊä³öÖµ

;ÅжÏÊÇ·ñÒѾ­Êä³ö64µã ;Èô²»ÊÇÔòÌø×ªL0 ;·ñÔòSIÇåÁã ;½«¼ÆÊýÖµ±£´æ ;Ìø×ªµ½ÖжϽáÊø ;ÏòʵÑéϵͳÖÐ8259·¢ËÍÖжϽáÊøÃüÁî ;ÊäÈë´æ´¢³ÌÐò ;DXÇåÁã ;CXÇåÁã

;ÌáʾÊäÈëÆµÂÊ ;»»ÐÐ µÚ16Ò³

MOV DL,0AH MOV AH,02H INT 21H

MOV SI,OFFSET SHUJU ;SIÖ¸ÏòÊý¾ÝÆðʼµØÖ·

MOV DI,SI ;DIÖ¸ÏòÊý¾ÝÆðʼµØÖ· LL: MOV AH,01H ;ÊäÈëÊý¾Ý INT 21H

CMP AL,' ' ;ÈôΪ¿Õ¸ñÔò½áÊøÊäÈë·ñÔò¼ÌÐø JZ LL1

SUB AL,30H MOV [SI],AL INC SI JMP LL

LL1: DEC SI MOV AX,0H MOV CX,0AH DEC DI MOV DX,0H LL2: INC DI MUL CX ADD AL,[DI] ADC AH,0H CMP DI,SI JNZ LL2 MOV FREQZ,AX MOV DX,00H MOV AX,7080H DIV FREQZ MOV COUNT,AX MOV COUNT1,AL MOV COUNT2,AH RET

INPUT ENDP

DELAY PROC NEAR

DLY: PUSH CX MOV CX,0FFFH DLY0: LOOP DLY0 POP CX RET DELAY ENDP CODE ENDS

END START

;½«ÊäÈëÖµ±äÎªÕæÊµÖµ ;½«Êý¾Ý´æÈëÄÚ´æ ;Ö¸ÏòÏÂÒ»¸öÄÚ´æ¿Õ¼ä ;Ö¸ÏòÊý¾Ý×îºóÒ»¸öÓÐЧµØÖ· ;AXÇåÁã

;CX´æÈë³ËÊý10 ;DI×Ô¼õÒ»´Î ;DXÇåÁã

;DIÖ¸ÏòÊý¾ÝÆðʼµØÖ· ;AXÄÚÈݳËÊ®

;¼ÓÉÏDIËùÖ¸ÏòµÄÄÚÈÝ ;AH¼ÓÉϽøÎ»

;ÅжÏÊÇ·ñËùÓÐÊý¾Ý¶¼ÒÔ¼ÆËãÍê ;·ñ£¬Ôò¼ÌÐø

;½«¼ÆËã½á¹û´æÈëFREQZÖÐ ;DXÇåÁã ;AXÖÃÈë³ýÊý ;¼ÆËã¼ÆÊý³õÖµ

;¼ÆÊý³õÖµ´æÈëCOUNT ;µÍ×Ö½Ú´æÈëCOUNT1 ;¸ß×Ö½Ú´æÈëCOUNT1 ;CXÈëÕ»

;CX×°Èë³õÖµ ;Ñ­»·DLYO ;CX³öÕ» µÚ17Ò³