📄 status.asm
字号:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Project : FDOS 0.0.7
;; Author : Stefan Tappertzhofen (tappertzhofen@t-online.de)
;; Webpage : http://www.visual-opal.de
;; Date : 2. September 2003
;; Caption : PC Information
;; Filename : status.asm
;; Compile Syntax : nasm status.asm -f bin -o status.bin
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOV AX, CS ; Segment Register vorbereiten
MOV DS, AX
MOV ES, AX
begin:
MOV SI, MSG_PhyMemory ; Verweis zum String
MOV AH, 1 ; Funktion Stringausgabe
INT 21h ; Interrupt 21h
MOV AH, 14 ; Ermittle Systeminformationen
INT 21h ; Interrupt 21h
MOV BX, AX ; BX = AX
MOV AH, 12 ; Funktion WORD > String
MOV DI, Buffer ; DI = AusgabeString
INT 21h ; Interrupt 21h
MOV SI, Buffer ; Verweis zum String
MOV AH, 1 ; Funktion Stringausgabe
INT 21h ; Interrupt 21h
MOV SI, Crlf ; Verweis zum String
MOV AH, 1 ; Funktion Stringausgabe
INT 21h ; Interrupt 21h
MOV SI, MSG_ExtMemory ; Verweis zum String
MOV AH, 1 ; Funktion Stringausgabe
INT 21h ; Interrupt 21h
MOV AH, 14 ; Ermittle Systeminformationen
INT 21h ; Interrupt 21h
MOV BX, AX ; BX = AX
MOV AH, 12 ; Funktion WORD > String
MOV DI, Buffer ; DI = AusgabeString
INT 21h ; Interrupt 21h
MOV SI, Buffer ; Verweis zum String
MOV AH, 1 ; Funktion Stringausgabe
INT 21h ; Interrupt 21h
MOV SI, Crlf ; Verweis zum String
MOV AH, 1 ; Funktion Stringausgabe
INT 21h ; Interrupt 21h
MOV SI, MSG_PCMode ; Verweis zum String
MOV AH, 1 ; Funktion Stringausgabe
INT 21h ; Interrupt 21h
MOV AH, 14 ; Ermittle Systeminformationen
INT 21h ; Interrupt 21h
CMP BL, 1 ; BL = 1?
JE SHORT PMode ; Wenn ja, dann Sprung
MOV SI, MSG_RMode ; Verweis zum String
MOV AH, 1 ; Funktion Stringausgabe
INT 21h ; Interrupt 21h
JMP SHORT PResume ; Kein Protected Mode?
PMode:
MOV SI, MSG_PMode ; Verweis zum String
MOV AH, 1 ; Funktion Stringausgabe
INT 21h ; Interrupt 21h
PResume:
MOV SI, Crlf ; Verweis zum String
MOV AH, 1 ; Funktion Stringausgabe
INT 21h ; Interrupt 21h
MOV SI, MSG_CPUInfo ; Verweis zum String
MOV AH, 1 ; Funktion Stringausgabe
INT 21h ; Interrupt 21h
MOV AH, 15 ; Ermittle CPU Informationen
INT 21h ; Interrupt 21h
CMP AL, 1h ; AL = 1?
JE SHORT PP1 ; Wenn ja, dann Sprung
CMP AL, 2h ; AL = 2?
JE SHORT PP2 ; Wenn ja, dann Sprung
CMP AL, 3h ; AL = 3?
JE SHORT PP3 ; Wenn ja, dann Sprung
MOV SI, CPU_4 ; Verweis zum String
MOV AH, 1 ; Funktion Stringausgabe
INT 21h ; Interrupt 21h
MOV SI, Crlf ; Verweis zum String
MOV AH, 1 ; Funktion Stringausgabe
INT 21h ; Interrupt 21h
MOV AH, 0 ; Funktion Programm beenden
INT 21h ; Interrupt 21h
PP1:
MOV SI, CPU_1 ; Verweis zum String
MOV AH, 1 ; Funktion Stringausgabe
INT 21h ; Interrupt 21h
MOV SI, Crlf ; Verweis zum String
MOV AH, 1 ; Funktion Stringausgabe
INT 21h ; Interrupt 21h
MOV AH, 0 ; Funktion Programm beenden
INT 21h ; Interrupt 21h
PP2:
MOV SI, CPU_2 ; Verweis zum String
MOV AH, 1 ; Funktion Stringausgabe
INT 21h ; Interrupt 21h
MOV SI, Crlf ; Verweis zum String
MOV AH, 1 ; Funktion Stringausgabe
INT 21h ; Interrupt 21h
MOV AH, 0 ; Funktion Programm beenden
INT 21h ; Interrupt 21h
PP3:
MOV SI, CPU_3 ; Verweis zum String
MOV AH, 1 ; Funktion Stringausgabe
INT 21h ; Interrupt 21h
MOV SI, Crlf ; Verweis zum String
MOV AH, 1 ; Funktion Stringausgabe
INT 21h ; Interrupt 21h
MOV AH, 0 ; Funktion Programm beenden
INT 21h ; Interrupt 21h
Buffer times 10 db 0
Crlf db 13,10,0
%include "stat.inc"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -