回 帖 发 新 帖 刷新版面

主题:发布CMOS 工具 5.00最后版本

废除行号,程序真正结构化
修复界面的1.0残余
内容全部用大写
============
CALL TOP

SUB TOP
  CLS
  CALL CHOICE
END SUB

SUB CHOICE
  PRINT "READ & WRITE & DISPLAY CMOS 5.00"
  PRINT "  THIS PROGRAM IS END OF UPDATE!"
  PRINT " 1. READ CMOS"
  PRINT " 2. WRITE CMOS"
  PRINT " 3. DISPLAY CMOS"
  PRINT " 0. EXIT THIS PROGRAM"
  INPUT " PRESS 0, 1, 2, 3"; AA
  IF AA = 0 THEN END
  IF AA = 1 THEN CALL READCMOS
  IF AA = 2 THEN CALL WRITECMOS
  IF AA = 3 THEN CALL DISPLAYCMOS
  CALL TOP
END SUB

SUB READCMOS
  IF COMMAND$ = "" THEN
    INPUT "FILE NAME:", FILENAME$
    IF FILENAME$ = "" THEN CALL TOP
  END IF
  IF COMMAND$ = "" THEN
    OPEN FILENAME$ FOR RANDOM AS #1 LEN = 1
  ELSE
    OPEN COMMAND$ FOR RANDOM AS #1 LEN = 1
  END IF
  FIELD 1, 1 AS A$
  FOR I = 1 TO 128
    OUT 112, I - 1
    B = INP(113)
    LSET A$ = CHR$(B)
    PUT 1, I
  NEXT
  CLOSE #1
  IF COMMAND$ = "" THEN
    PRINT "READ CMOS TO "; FILENAME$; " OK!"
    FILENAME$ = ""
  ELSE
    PRINT "READ CMOS TO "; COMMAND$; " OK!"
  END IF
  PRINT
  CALL CHOICE
END SUB

SUB WRITECMOS
  IF COMMAND$ = "" THEN
    INPUT "FILE NAME:", FILENAME$
    IF FILENAME$ = "" THEN CALL TOP
  END IF
  IF COMMAND$ = "" THEN
    OPEN FILENAME$ FOR RANDOM AS #1 LEN = 1
  ELSE
    OPEN COMMAND$ FOR RANDOM AS #1 LEN = 1
  END IF
  IF LOF(1) < 128 THEN CALL ERRORS
  FIELD 1, 1 AS A$
  FOR I = 17 TO 128
    GET 1, I
    OUT 112, I - 1
    B = ASC(A$)
    OUT 113, B
  NEXT
  CLOSE #1
  IF COMMAND$ = "" THEN
    PRINT "WRITE CMOS FROM "; FILENAME$; " OK!"
    FILENAME$ = ""
  ELSE
    PRINT "WRITE CMOS FROM "; COMMAND$; " OK!"
  END IF
  PRINT
  CALL CHOICE
END SUB

SUB ERRORS
  IF COMMAND$ = "" THEN
    PRINT filename$; " ERROR!"
    BEEP
    FILENAME$ = ""
  ELSE
    PRINT COMMAND$; " ERROR!"
    BEEP
  END IF
  CLOSE #1
  CALL CHOICE
END SUB

SUB DISPLAYCMOS
  FOR I = 1 TO 128
    OUT 112, I - 1
    B = INP(113)
    C$ = HEX$(B)
    IF B < 16 THEN C$ = "0" + C$
    PRINT C$; "";
    IF INT(I / 16) = I / 16 THEN PRINT
  NEXT
  PRINT "DISPLAY CMOS OK!"
  PRINT
  CALL CHOICE
END SUB
END

回复列表 (共6个回复)

沙发

根GOTO没两样

板凳

UP

3 楼

http://www.programfan.com/club/showbbs.asp?id=65984
http://www.programfan.com/club/showbbs.asp?id=62855

4 楼

错误了,注意不要喜欢上面的注释文!

5 楼

那个还不是最后版本,这个不要用的太多了,以免溢出死机!
==============================================
DECLARE SUB TOP ()
DECLARE SUB CHOICE ()
DECLARE SUB READCMOS ()
DECLARE SUB WRITECMOS ()
DECLARE SUB DISPLAYCMOS ()
DECLARE SUB ERRORS ()
CALL TOP
END

SUB CHOICE
  LOCATE 2, 1
  PRINT CHR$(201); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); _
CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(187)
  PRINT CHR$(186); "READ & WRITE & DISPLAY CMOS 5.10  "; CHR$(186)
  PRINT CHR$(186); " 1. READ CMOS                     "; CHR$(186)
  PRINT CHR$(186); " 2. WRITE CMOS                    "; CHR$(186)
  PRINT CHR$(186); " 3. DISPLAY CMOS                  "; CHR$(186)
  PRINT CHR$(186); " 0. EXIT THIS PROGRAM             "; CHR$(186)
  PRINT CHR$(186); "PLEASE CHOICE A OPTION:           "; CHR$(186)
  PRINT CHR$(200); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); _
CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(188)
  PRINT
  A$ = INPUT$(1)
  AA = VAL(A$)
  IF AA = 0 THEN END
  IF AA = 1 THEN CALL READCMOS
  IF AA = 2 THEN CALL WRITECMOS
  IF AA = 3 THEN CALL DISPLAYCMOS
  CALL TOP
END SUB

SUB DISPLAYCMOS
  PRINT CHR$(201); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); _
CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(187)
  FOR I = 1 TO 128
    IF I = 1 THEN PRINT CHR$(186); CHR$(32);
    OUT 112, I - 1
    B = INP(113)
    C$ = HEX$(B)
    IF B < 16 THEN C$ = "0" + C$
    PRINT C$; "";
    IF INT(I / 16) = I / 16 THEN
      PRINT CHR$(32); CHR$(186)
      IF I < 128 THEN
        PRINT CHR$(186); CHR$(32);
      ELSE
      END IF
    END IF
  NEXT
  PRINT CHR$(200); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); _
CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(205); CHR$(188)
  PRINT "DISPLAY CMOS OK! PRESS ANY KEY TO RETRUN."
  PRINT
  WHILE K$ = ""
    K$=INKEY$
  WEND
  CALL TOP
END SUB

SUB ERRORS
  IF COMMAND$ = "" THEN
    PRINT FILENAME$; " ERROR! PRESS ANY KEY TO RETRUN."
    BEEP
    FILENAME$ = ""
  ELSE
    PRINT COMMAND$; " ERROR! PRESS ANY KEY TO RETRUN."
    BEEP
  END IF
  CLOSE #1
  WHILE K$ = ""
    K$=INKEY$
  WEND
  CALL TOP
END SUB

SUB READCMOS
  IF COMMAND$ = "" THEN
    INPUT "FILE NAME:", FILENAME$
    IF FILENAME$ = "" THEN CALL TOP
  END IF
  IF COMMAND$ = "" THEN
    OPEN FILENAME$ FOR RANDOM AS #1 LEN = 1
  ELSE
    OPEN COMMAND$ FOR RANDOM AS #1 LEN = 1
  END IF
  FIELD 1, 1 AS A$
  FOR I = 1 TO 128
    OUT 112, I - 1
    B = INP(113)
    LSET A$ = CHR$(B)
    PUT 1, I
  NEXT
  CLOSE #1
  IF COMMAND$ = "" THEN
    PRINT "READ CMOS TO "; FILENAME$; " OK! PRESS ANY KEY TO RETRUN."
    FILENAME$ = ""
  ELSE
    PRINT "READ CMOS TO "; COMMAND$; " OK! PRESS ANY KEY TO RETRUN."
  END IF
  WHILE K$ = ""
    K$=INKEY$
  WEND
  CALL TOP
END SUB

SUB TOP
  COLOR 15, 1
  CLS
  CALL CHOICE
END SUB

SUB WRITECMOS
  IF COMMAND$ = "" THEN
    INPUT "FILE NAME:", FILENAME$
    IF FILENAME$ = "" THEN CALL TOP
  END IF
  IF COMMAND$ = "" THEN
    OPEN FILENAME$ FOR RANDOM AS #1 LEN = 1
  ELSE
    OPEN COMMAND$ FOR RANDOM AS #1 LEN = 1
  END IF
  IF LOF(1) < 128 THEN CALL ERRORS
  FIELD 1, 1 AS A$
  FOR I = 17 TO 128
    GET 1, I
    OUT 112, I - 1
    B = ASC(A$)
    OUT 113, B
  NEXT
  CLOSE #1
  IF COMMAND$ = "" THEN
    PRINT "WRITE CMOS FROM "; FILENAME$; " OK! PRESS ANY KEY TO RETRUN."
    FILENAME$ = ""
  ELSE
    PRINT "WRITE CMOS FROM "; COMMAND$; " OK! PRESS ANY KEY TO RETRUN."
  END IF
  WHILE K$ = ""
    K$=INKEY$
  WEND
  CALL TOP
END SUB

6 楼

http://www.programfan.com/club/showbbs.asp?id=65984
http://www.programfan.com/club/showbbs.asp?id=62855
你要想把这个程序做得更好,请点及上面的连接先看看怎么做一个简单的菜单!
教程简单易学!

我来回复

您尚未登录,请登录后再回复。点此登录或注册