nasm做一个简单的操作系统写字本(3)
时间:2022-08-16 07:30:00
实现esc关机代码
mov ah, 0eh
mov al,0x57
int 10h
mov al,0x72
int 10h
mov al,0x69
int 10h
mov al,0x74
int 10h
mov al,0x74
int 10h
mov al,0x69
int 10h
mov al,0x6e
int 10h
mov al,0x67
int 10h
mov al,0x20
int 10h
mov al,0x62
int 10h
mov al,0x6f
int 10h
mov al,0x6f
int 10h
mov al,0x6b
int 10h
mov al,0x00
int 10h
mov al,0x31
int 10h
mov al,0x2e
int 10h
mov al,0x30
int 10h
mov al,0x0d
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
jmp start
start:
mov ah, 0h
int 16h
mov ah, 0eh
cmp al,0x0d
JE msg
cmp al,0x09
JE TAP
cmp al,0x00
JE start
cmp al,0x1b
JE esc
cmp al,0x08
JE back
jmp show
esc:
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
&bsp; int 10h
mov al,0x0a
int 10h
mov al,0x0
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
mov al,0x0a
int 10h
jmp HLT
;------------------------------------(实在看不下去了所以画了个分切线)
back:
mov al,0x08
int 10h
mov al,0x00
int 10h
mov al,0x08
jmp show
TAP:
mov al,0x20
int 10h
mov al,0x20
int 10h
mov al,0x20
int 10h
mov al,0x20
jmp show
msg:
mov al,0x0d
int 10h
mov al,0x0a
jmp show
int 10h
show:
int 10h
jmp start
times 510-($-$$) db 0
db 0x55,0xaa
虽然这只是清空屏幕后待机,但循环HLT可以让电源消耗减少,也算是一个关机吧。