MACRO stN Name? @Name? EQU txtCounter !txtCounter=txtCounter+1 ENDM MAIN_MSG: ; для удобства: .DIR_1 EQU .DIR_1_ .VERSION EQU .VERS_ .DATE EQU .DATE_ .TIME EQU .TIME_ .PAUSE EQU .PAUSE_ .DIR_ESCAPE EQU .DIR_ESC_ .INVALID EQU .INV_ .ECHO EQU .ECHO_ .ON EQU .ON_ .OFF EQU .OFF_ .DIR_2 EQU .DIR_2_ .DIR_3 EQU .DIR_3_ .DIR_4 EQU .DIR_4_ .HELP EQU .HELP_ .CALCULATING EQU .CALC_ .CRLF EQU .CRLF_ .INFO_1 EQU .INFO_1_ .INFO_2 EQU .INFO_2_ .DIRPAUSE EQU .DIRPAUSE_ .CLSLINE EQU .CLSLINE_ ; !txtCounter DEFL 0 ; ; не сдвигать____ .TABLE: : db 0; | stN .CRLF_ : db CR,LF,0; | ;________________/ ; ; 1 2 3 4 5 6 7 ; 01234567890123456789012345678901234567890123456789012345678901234567890123456789; stN .DIR_1_ : db "Volume in drive %1 %6 %7\r\n" db "Volume Serial Number is %2, file sistem is %8\r\n" DZ "\r\nDirectory of %3\r\n\n" stN .VERS_ : DZ "Estex DSS version %1. Shell version %2.\r\n" ;R13 stN .DATE_ : DZ "Current date: %1, %2\r\n" ; [x] вывод дня недели 26/01/2023 stN .TIME_ : DZ "Current time: %1\r\n" stN .PAUSE_ : DZ "Press any key to continue . . .\r" stN .DIR_ESC_ : DZ "Command 'DIR' cancelled by user\r\n\n" stN .INV_ : DZ "Invalid parametr\r\n" stN .ECHO_ : DZ "Echo is %1\r\n" stN .ON_ : DZ "on" stN .OFF_ : DZ "off" stN .DIR_2_ : db "\r\n %3 File(s)\r %1 byte(s)\r\n" DZ " %4 Dir(s)\r %5 byte(s) capacity\r\n" stN .DIR_4_ : DZ " Free space %5 byte(s)\r\n" stN .DIR_3_ : DZ "%4 %5 %3 %1 %2 \r\n" ;DATE TIME SIZE FILENAME EXT stN .HELP_ : db "COMMANDS:\r\n" db "CLS INFO REN = RENAME PATH HELP \r\n" db "CD = CHDIR DEL = ERASE SET VER = VERSION \r\n" db "MD = MKDIR TIME ECHO EXIT \r\n" DZ "RD = RMDIR DATE REBOOT DIR [path] [/p /f] \r\n\n" stN .CALC_ : DZ "Calculating free space...\r" stN .INFO_1_ : DZ "\r\nDrive File System Label Serial number Size in bytes\r\n" stN .INFO_2_ : DZ " %9 \r\t %8\r\t\t\t %7\r\t\t\t\t\t %4\r\t\t\t\t\t\t\t %5\r\n" stN .DIRPAUSE_ : DZ "Press ESC to cancel or any other key to continue . . .\r" stN .CLSLINE_ : DZ " \r" ; ;R11 db 0 DZ "Unknown command" ; ; .TABLE.Size EQU $-.TABLE ; !txtCounter=0 ; ;