栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

nasm做一个简单的操作系统写字本(3)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

nasm做一个简单的操作系统写字本(3)

实现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
       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可以让电源消耗减少,也算是一个关机吧。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1011253.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号