pseudo.s

来自「LINUX lilo-22.7 源代码。」· S 代码 · 共 72 行

S
72
字号
; pseudo.S -- produce a pseudo kernel header;;	This file is useful for booting arbitrary binary images;	at	0x1000:0000;; Copyright 2002 John Coffman.; All rights reserved.; ; Licensed under the terms contained in the file 'COPYING' in the ; source directory.;#define DEBUG 0#define DELL_DIRTY_HACKSYSSEG	=  0x1000	; DEF_SYSSEGSETUPSEG = 0x9020	; DEF_SETUPSEGCL_MAGIC_ADDR	= 0x20			! command line magic numberCL_MAGIC	= 0xa33f		! very unusual command sequenceCL_OFFSET	= 0x22			! command line offsetCL_LENGTH	= 256			! maximum length		.text#if 0.globl	_main_main:#endif		.globl	zerozero:; we want this to look like a bootable kernel image; so we include the following header;		jmp	begin		.ascii	"HdrS"		; looks like a real kernel		.word	0x0200		; header format version number		.word	0,0		; realmode switch, SETUPSEG		.word	SYSSEG		; SYSSEG -- load at 1000:0000		.word	id_string		.byte	0		; type of loader		.byte	0		; flags 0=load low		.word	2*512		; move size: 2 sectors		dd	0x10000		; load us here		dd	0		; ramdisk image		dd	0		; ramdisk size		.word	bs_helper,SETUPSEG	; kludge???;;		.word	modelist+1024	; heap end pointer;----------end of header------------		begin:	xor	di,di	cmp	word ptr [CL_MAGIC_ADDR],#CL_MAGIC	jne	gotoit	mov	di,[CL_OFFSET]gotoit:	jmpi	0000,SYSSEG			; jmp to 0x1000:0000bs_helper:      int     0x19			;label here for kludgeid_string:	.ascii	"pseudo.b"		.byte	0		.blkb	zero+512-*modelist:theend:

⌨️ 快捷键说明

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