--- np2/romimage/STARTUP.ASM 2003/12/10 13:52:57 1.2 +++ np2/romimage/STARTUP.ASM 2004/06/18 07:42:13 1.6 @@ -1,50 +1,45 @@ -.186 -CODE SEGMENT - ASSUME CS:CODE,DS:nothing,ES:nothing,SS:nothing - ORG 0000H + ORG 0 + USE16 + CPU 8086 FIXCS equ 2eh +segment .startup start=0x0000 + START: jmp short nosystems -START2: mov si, offset nobiosmsg +START2: mov si, nobiosmsg jmp short dispend -nosystems: mov si, offset nosysmsg - -dispend: mov cx, 1000h - mov bx, 8000h - mov ss, cx - mov sp, bx - add bh, 20h - mov es, bx +nosystems: mov si, nosysmsg - xor di, di +dispend: mov ax, 0x0a04 + int 0x18 + mov ah, 0x0c + int 0x18 + mov ah, 0x16 + mov dx, 0xe120 + int 0x18 + cli cld - lea ax, [di + 20h] - rep stosw - mov al, 0e1h - mov cx, 1fe0h -atrclr: stosb - inc di - loop atrclr - + mov ax, 0xa000 + mov es, ax db FIXCS lodsw mov di, ax -putmsg: db FIXCS +.loop: db FIXCS lodsw test ax, ax - je short putmsgend + je short .end stosw or ah, ah - je short putmsg + je short .loop inc di inc di - jmp short putmsg -putmsgend: cli - hlt - jmp short putmsgend + jmp short .loop + +.end: hlt + jmp short .end ; システムディスクをセットしてください @@ -59,6 +54,5 @@ nobiosmsg dw 12*160+46 dw 4b04h,4f04h,0020h,0042h,0049h,004fh,0053h,002eh dw 0052h,004fh,004dh,2c04h,2c29h,572dh,4704h,3904h,0 -CODE ENDS - END START + ends