Монітор використання ресурсів комп"ютера - Курсовая работа

бесплатно 0
4.5 76
Програми, які виводять на екран характеристики комп"ютера. Розробка програми "Монітор використання ресурсів комп’ютера" на мові програмування ASM-86. Алгоритм програми та її реалізація. Системні вимоги, інструкція для користувача, лістинг програми.

Скачать работу Скачать уникальную работу

Чтобы скачать работу, Вы должны пройти проверку:


Аннотация к работе
Міністерство освіти і науки України Кiровоградський Державний Технiчний Унiверситет Факультет автоматики енергетики та програмування Кафедра програмного забезпечення Курсовая работа з дисципліни “ASM-86 ” на тему: Монітор використання ресурсів компютера Зміст 1. Для визначення системної дати та дня тижня я використовував функцію 2AH переривання 21H. Для визначення розміру памяті я використовував память CMOS, порти 70h та 71h. ,13,10,$ dataCR db?,13,10,$ intel_id db GenuineIntel TYPEC DB Тип компютера,$ MJR DB PCjr ,$ MPC DB PC,$ MXT DB XT,$ MAT DB AT,$ VER DB ВЕРСIЯ MS-DOS ,$ STAR DB 2 DUP (?) TOCH DB . MLAD DB 2 DUP (?) TOCH1 DB . ,$ SDAT DB СИСТЕМНA ДАТА ,$ GOD1 DB 2 DUP (?) GOD2 DB 2 DUP (?),- MUNS DB 2 DUP (?),- DAY DB 2 DUP (?) TOCH2 DB . ,$ MEMMS DB Розмiр памятi,$ MEMMS1 DB Розмiр розширеноi памятi,$ MEM1 DB 2 DUP (?) MEM2 DB 2 DUP (?),$ DENTIG DB День тиждня,$ NED DB Недiля,13,10,$ PON DB Понедiлок,13,10,$ VIV DB Вiвторок,13,10,$ SER DB Середа,13,10,$ CHE DB Четверг,13,10,$ PYA DB Пятниця,13,10,$ SUB DB Субота,13,10,$ TIME DB Системний час,$ HOUR DB 2 DUP (?),: MIN DB 2 DUP (?),: SEC DB 2 DUP (?),$ COL DB 00 ROW DB 00 chast dw 00 sit db 10 dup ($); строка для вывода Space dw 00h; long dw 00h Buffer dw 17000 dup (00); prompt1 db 13,10, Кiлькiсть вiльних кластерiв на диску = ,$ prompt2 db 13,10, Доступне дискове пространство = ,$ prompt3 db 13,10, Кiлькiсть всього кластерiв на диску = ,$ prompt4 db 13,10, Загальне дискове пространство = ,$ MetkaToma db 13,10, Метка тому = ,11 dup (0),$ RFAT db 13,10, Формат FAT = ,8 dup (0),$ Sectors_Per_Cluster dw 00h free_cluster dw 00 zag_cluster dw 00 fat_format dw 00 crlf db 13,10,$ mnoj dd 00h for_eax dd 00h for_eax1 dd 00h ostt dd 00h memo dd 0ah DATASG ENDS ; - --------------------------------------------------- CODESG SEGMENT PARA Code; Код программы BEGIN PROC FAR ASSUME CS: CODESG,DS: DATASG,SS: STACKSG,ES: DATASG PUSH DS SUB AX,AX; Обнуление AX PUSH AX MOV AX,DATASG; Загрузка сегмента данных MOV DS,AX MOV ES,AX MOV AX,0600H CALL Q10SCR; Очистить экран CALL Q20CURS; Установить курсор CALL TABL; Выводит рамку CALL COMP1; Анализирует и выводит тип компютера CALL MSDOSVER; Анализирует и выводит версию MS-DOS CALL SYSTDAT; Анализирует и выводит день недели CALL SMM1; Анализирует и выводит текущую дату CALL TIME1; Подготовка вывода системного времени CALL MEMORY2; Анализирует и выводит размер памяти CALL DISC; Анализирует и выводит информацию о диске CALL CPUID; Анализирует и выводит информацию о микропроцессоре AS: CALL TIME2; Вызов процедуры вывода времени in al,60h; Чтение порта клавиатуры cmp al,1; Сравнение с ESC jne as; Если не ESC, продолжение вывода времени mov ah,004ch; Выход из программы int 21h RET BEGIN ENDP CPUID PROC .8086; This part of the program must run on an 8086 call get_cpuid call print RET CPUID ENDP get_cpuid proc ; 8086 CPU check ; Bits 12-15 are always set on the 8086 processor check_8086: pushf; save FLAGS pop bx; store FLAGS in BX mov ax, 0fffh; clear bits 12-15 and ax, bx; in FLAGS push ax; store new FLAGS calue on stack popf; replace current FLAGS value pushf; set new flags pop ax; store new flags in AX and ax, 0f000h; if bits 12-15 are set, then CPU cmp ax, 0f000h; is an 8086/8088 mov cpu_type, 0; save the CPU type je END1 JMP FF1 END1: RET FF1: ; Intel 286 CPU check ; Bits 12-15 are always clear on the Intel processor. check_80286: .286 or bx, 0f000h; try to set bits 12-15 push bx popf pushf pop ax and ax, 0f000h; if bits 12-15 are cleared, ; CPU=Intel 286 mov cpu_type, 2; turn on Intel 286 Cpu flag jz END2; if CPU is intel 286, check JMP FF2; for Intel 287 math coprocessor END2: RET FF2: ; Intel386 CPU check ; The AC bit (bit 18), is a new bit introduced in the EFLAGS ; register on the Intel486 DX CPU to generate alignment faults. ; This bit can not be set on the Intel386 CPU. ; check_intel386: .386 pushfd pop eax; get original EFLAGS mov ecx,eax; save original EFLAGS xor eax,40000h; flip AC bit in EFLAGS push eax; save for EFLAGS popfd; copy to EFLAGS pushfd; push EFLAGS pop eax; get new EFLAGS value xor eax,ecx; cant toggle AC bit, CPU=Intel386 mov cpu_type, 3; turn on Intel386 CPU flag je end_get_cpuid; if CPU is Intel386, now check ; for an Intel 287 or Intel387 MCP ; Intel486 DX CPU, Intel 487 SX MCP, and Intel486 SX CPU checking ; ; Checking for the ability to set/clear the ID flag (bit 21) in EFLAGS ; which diferentiates between Pentium (or greater) and the Intel486.

Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность
своей работы


Новые загруженные работы

Дисциплины научных работ





Хотите, перезвоним вам?