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