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

📄 boot.asm

📁 一个简单的监控程序
💻 ASM
字号:
;;****boot.asm****

org 07c00h
    mov ax,cs
	mov ds,ax
	mov es,ax
    mov ax,3	       		
	int 10h		;调用中断,清屏	
call DispStr   ;调用显示字符串例程

main:
    mov ah,0h		
	int 16h	      ;调用中断,等待键盘输入
	cmp al,49
	je  program1  ;判断输入,为1则跳转program1
	cmp al,50
	je  program2	  ;为2则跳转program2
	cmp al,51
	je  exit	      ;为3则跳转exit
	jmp main			

program1:
    push es		
	mov ax,1000h	
	mov es,ax         ;给附加段寄存器es赋值
	mov bx,0
	mov ah,02h		;调用中断,设置磁盘扇区
	mov al,1		;扇区数为1
	mov ch,0		;柱面为0
	mov cl,2		;第二扇区
	mov dh,0		;磁头为0
	mov dl,0		;软盘
	int 13h			
	pop es		
	jmp 1000h:0	;跳转,执行program1


program2:
   push es		
	mov ax,2000h	
	mov es,ax
	mov bx,0	
	mov ah,02h	;调用中断,设置磁盘扇区
	mov al,1		;扇区数为1
	mov ch,0		;柱面为0
	mov cl,3		;第三扇区
	mov dh,0		;磁头为0
	mov dl,0		;软盘
	int 13h			
	pop es		
	jmp 2000h:0		;跳转,执行Program2	


exit:
	push es			
	mov ax,3000h		; es:bx=3000h:0000
	mov es,ax
	mov bx,0
	mov ah,02h	;设置读磁盘扇区中断功能号
	mov al,1		;扇区数为1
	mov ch,0		;柱面为0
	mov cl,4		;第4个扇区
	mov dh,0		;磁头为0
	mov dl,0		;0软盘
	int 13h			
	pop es			
	jmp 3000h:0	;跳转,执行exit	


DispStr:
	mov ax,BootMessage	
	mov bp,ax		;es:bp=串地址
	mov cx,271		;cx=串长度
	mov ax,01301h	
	mov bx,000ch 	;页号为0,黑底红字	
	mov dl,0
	int 10h			
	ret


BootMessage:	db    "Welcome to the Junjie Pan's 0S World Version 1.0!",10,13 ;换行
                  db    "(C) All Copyright Reserved: Junjie Pan  ",10,13
                  db    "Department of Computer Science,",10,13
                  db    "Sun Yat-sen University, P.R.China",10,13
                  db    "E-mail: henrypan123@tom.com ",10,13
			db    "  (1)Run Program1",10,13
                  db    "  (2)Run Pragram2",10,13
                  db    "  (3)Exit",10,13
                  db    "Please Enter the Number above:"

times 510-($-$$)	db 0  ;补足剩下的空间,直到占用512字节
dw	0xaa55            ;结束标志

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -