⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 status.asm

📁 FDOS Operating System
💻 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 + -