Прочее компьютерное

как выглядит ос (Windows к примеру) на языке программирования

; COMMAND version 1.17
;
; This version of COMMAND is divided into three distinct parts. First
; is the resident portion, which includes handlers for interrupts
; 22H (terminate), 23H (Cntrl-C), 24H (fatal error), and 27H (stay
; resident); it also has code to test and, if necessary, reload the
; transient portion. Following the resident is the init code, which is
; overwritten after use. Then comes the transient portion, which
; includes all command processing (whether internal or external).
; The transient portion loads at the end of physical memory, and it may
; be overlayed by programs that need as much memory as possible. When
; the resident portion of command regains control from a user program,
; a checksum is performed on the transient portion to see if it must be
; reloaded. Thus programs which do not need maximum memory will save
; the time required to reload COMMAND when they terminate.

;Use the following booleans to set assembly flags
FALSE EQU 0
TRUE EQU NOT FALSE

IBMVER EQU FALSE ;Switch to build IBM version of Command
MSVER EQU TRUE ;Switch to build MS-DOS version of Command

HIGHMEM EQU TRUE ;Run resident part above transient (high memory)

LINPERPAG EQU 23
NORMPERLIN EQU 1
WIDEPERLIN EQU 5

IF IBMVER
SYM EQU ">"
COMDRV EQU 1
ENDIF

IF MSVER
SYM EQU ":"
COMDRV EQU 0
ENDIF

FCB EQU 5CH
DSKRESET EQU 13
SETBASE EQU 38
SRCHFRST EQU 17
SRCHNXT EQU 18
RENAM EQU 23
INCHAR EQU 1
GETFAT EQU 27
OPEN EQU 15
CLOSE EQU 16
MAKE EQU 22
DELETE EQU 19
RDBLK EQU 39
WRBLK EQU 40
SETDMA EQU 26
SELDRV EQU 14
GETDRV EQU 25
PRINTBUF EQU 9
OUTCH EQU 2
INBUF EQU 10
GETDATE EQU 2AH
SETDATE EQU 2BH
GETTIME EQU 2CH
SETTIME EQU 2DH
RR EQU 33
RECLEN EQU 14
FILLEN EQU 16
OFFDATE EQU 20

;The following are all of the segments used in the load order

CODERES SEGMENT
CODERES ENDS

DATARES SEGMENT BYTE
DATARES ENDS

INIT SEGMENT BYTE
INIT ENDS

TAIL SEGMENT PARA
TAIL ENDS

TRANCODE SEGMENT PARA
TRANCODE ENDS

TRANDATA SEGMENT BYTE
TRANDATA ENDS

TRANSPACE SEGMENT BYTE
TRANSPACE ENDS

RESGROUP GROUP CODERES,DATARES,INIT,TAIL
TRANGROUP GROUP TRANCODE,TRANDATA,TRANSPACE

;Data for resident portion

DATARES SEGMENT BYTE
ORG 0
ZERO = $
MESBAS DW OFFSET RESGROUP:ERR0
DW OFFSET RESGROUP:ERR2
DW OFFSET RESGROUP:ERR4
DW OFFSET RESGROUP:ERR6
DW OFFSET RESGROUP:ERR8
DW OFFSET RESGROUP:ERR10
DW OFFSET RESGROUP:ERR12
ERR0 DB "Write protect$"
ERR2 DB "Not ready$"
ERR4 DB "Data$"
ERR6 DB "Seek$"
ERR8 DB "Sector not found$"
ERR10 DB "Write fault$"
ERR12 DB "Disk$"
READ DB "read$"
WRITE DB "writ$"
ERRMES DB " error "
IOTYP DB "writing"
DRVNUM DB " drive "
DRVLET DB "A"
NEWLIN DB 13,10,"$"
REQUEST DB "Abort, Retry, Ignore? $"
BADFAT DB 13,10,"File allocation table bad,$"
COMBAD DB 13,10,"Invalid COMMAND.COM"
NEEDCOM DB 13,10,"Insert DOS disk in "
IF IBMVER
DB "drive A"
ELSE
DB "default drive"
ENDIF
PROMPT DB 13,10,"and strike any key when ready",13,10,"$"
NEEDBAT DB 13,10,"Insert disk with batch file$"
ENDBATMES DB 13,10,"Terminate batch job (Y/N)? $"
LOADING DB 0
BATFCB DB 1,"AUTOEXECBAT"
DB 21 DUP(?)
DW 0
DW 0 ;Initialize RR field to zero
PARMTAB DW 10 DUP(-1)
Александр Sadwolf
Александр Sadwolf
88 219
Лучший ответ
Символами. Почти без картиночек.
T@
T.m.ofey @hip-Hop Man@
10 555
как хренова туча строк кода
Свои текстом я все Ответы MAIL сломаю...
Николай Тимин
Николай Тимин
1 579