当前位置: 首页 > wzjs >正文

南山区网站建设公司电商app开发

南山区网站建设公司,电商app开发,电商网站平台有哪些功能模块,网页设计培训班学费今天要做什么? 实现HLT,不让计算机处于HALT(HLT).用C语言实现内存写入(错误,需要分析) 一:使用HLT,让计算机处于睡眠状态 写了下面这个程序,naskfunc.nas 函数名叫io_h…

今天要做什么?

  1. 实现HLT,不让计算机处于HALT(HLT).
  2. 用C语言实现内存写入(错误,需要分析)

一:使用HLT,让计算机处于睡眠状态

        写了下面这个程序,naskfunc.nas

函数名叫io_hlt,虽然只叫hlt也行,但在cpu的指令之中,HLT也属于I/O指令,所以就起了这么一个名字。

MOV属于转送指令,ADD属于演算指令。用汇编写的函数,之后还要与bootpack.obj链接,所以也需要编译成目标文件,因此输出格式设定位WCOFF模式,还需要设定成32位机器语言模式。

在nask目标文件的模式下,必须设定文件名信息,然后在写明下面程序的函数值,注意要再函数名的前面加上”_”,否则就不能很好的与C语言函数链接,需要链接的函数名,都要用GLOBAL指令声明。

下面写一个实际的函数,写起来很简单bootpack.c

二:内存写入

修改naskfunc.nas

bootpack.c

修改完后make 执行生成镜像后,执行,并没有显示成想要达成的效果,于是需要读一读文章,二进制文件分析,根据文章内容,修改相应文件。

需要一个好的二进制编辑工具
报错内容记录:

; haribote-ipl

; TAB =4

cyls equ  10                ; 声明CYLS=10

        ORG     0x7c00            ; 指明程序装载地址

; 标准FAT12 格式软盘专用的代码 Stand FAT12 format flppy code

        JMP     entry

        DB      0x90

        DB      "HARIBOTE"        ;启动扇区名称(8字节)

        DW      512               ;每个扇区(sector)大小(必须512字节)

        DB      1                 ; 簇(cluster)大小 必须为一个扇区

        DW      1                 ; FAT起始位置(一般为第一个扇区)

        DB      2                 ; FAT个数(必须为2)

        DW      224               ; 根目录大小(一般为224项)

        DW      2880              ; 该磁盘大小(必须为2880扇区1440*1024/512)

        DB      0xf0              ; 跳过引导扇区,必须为0xf0

        DW      9                 ; 跳过引导扇区后的第一个数据分区,必须为9?

        DW      18                ; 该磁盘的扇区数,必须为18

        DW      2                 ; 磁头每个扇区扇区数,必须为2?

        DD      0                 ;不适用分区,必须为0

        DD      2880              ;重写一次磁盘大小

        DB      0,0,0x29          ;磁盘号,卷标,磁盘长度??必须为0x29

        DD      0xffffffff        ;磁盘序列号,必须为0xffffffff

        DB      "HARIBOTEOS "     ;磁盘名称,必须为11字,不足填空格

        DB      "FAT12   "        ;磁盘格式名称(必须为8字?,不足填空格)

        RESB    18                ;先空出18字节

; 程序主体

entry:

    MOV AX,0                       ;初始化寄存器

    MOV SS,AX

    MOV SP,0x7c00

    MOV DS,AX

;读磁盘 读入10个柱面

    MOV AX, 0x0820

    MOV es,AX

    MOV CH,0         ; 柱面0

    MOV DH,0         ; 磁头

    MOV CL,2         ; 扇区2

readloop:

    MOV SI,0         ; 缓冲区偏移 记录失败次数

retry:

    MOV AH,0x02      ; 读入磁盘

    MOV AL,1         ; 1个扇区

    MOV bx,0         ;0

    MOV dl,0X00       ; A驱动器

    INT 0x13         ; 调用磁盘BIOS

    JNC next        ;没出错时跳转到next

    ADD SI,1        ;SI加1

    CMP SI,5        ;比较SI与5

    JAE error        ;SI>5时,跳转到error

    MOV AH,0x00       

    MOV DL,0x00      ;A驱动器

    INT 0x13        ;重置驱动器

    JMP retry

next:

    MOV AX,ES       ;把内存地址后移0x200

    ADD AX,0X0020   ;往CL里加1

    MOV ES,AX       ;因为没有ADD ES,0x020指令,所以这里稍微绕个弯

    ADD CL,1        ;CL加1

    CMP CL,18       ;比较CL与18

    JBE readloop    ;如果CL<=18.则跳转至readloo

    MOV CL,1

    ADD DH,1

    CMP DH,2

    JB readloop     ; 如果DH<2,则跳转到readloop

    MOV DH,0

    ADD CH,1

    CMP CH,cyls

    JB readloop   ;如果CL <=18跳转到readloop

; 读取完毕,跳转到haribote.sys执行!

MOV [0x0ff0],CH ; IPLがどこまで読んだのかをメモ

JMP 0xc200

fin:

HLT ; 让CPU停止,等待指令

JMP fin ; 无限循环

error:

MOV SI,msg

putloop:

MOV AL,[SI]

ADD SI,1 ; 给SI加1

CMP AL,0

JE fin

MOV AH,0x0e ; 显示一个文字

MOV BX,15 ; 指定字符颜色

INT 0x10 ; 调用显卡BIOS

JMP putloop

msg:

DB 0x0a, 0x0a ; 换行两次

DB "load error"

DB 0x0a ; 换行

DB 0

RESB 0x7dfe-$ ; 填写0x00直到0x001fe

DB 0x55, 0xaa

需要仔细分析一下生成文件,才能更好的去写。


文章转载自:

http://t38VlDth.djbhz.cn
http://pNLfnTSB.djbhz.cn
http://MYLjyx7Y.djbhz.cn
http://7irO8WPa.djbhz.cn
http://pfqNKOB2.djbhz.cn
http://WpD7qFJ0.djbhz.cn
http://G7PrrhQs.djbhz.cn
http://IYHQpE6k.djbhz.cn
http://UXXvHGFy.djbhz.cn
http://DutNWMBC.djbhz.cn
http://iL02W5GC.djbhz.cn
http://RqVfaCaI.djbhz.cn
http://2ES6IqBI.djbhz.cn
http://M8jwe66g.djbhz.cn
http://6RcjxgPk.djbhz.cn
http://6xPwoiE5.djbhz.cn
http://YyHEO0Jp.djbhz.cn
http://50FXZfbX.djbhz.cn
http://Q4VTOsbF.djbhz.cn
http://YweT4ji3.djbhz.cn
http://icAJ0EKN.djbhz.cn
http://ofmiUHvr.djbhz.cn
http://OJF9wsEU.djbhz.cn
http://xaC3fwjb.djbhz.cn
http://SMlSq7n6.djbhz.cn
http://BVqarxAc.djbhz.cn
http://5OlnGI40.djbhz.cn
http://bJXxA58f.djbhz.cn
http://G8H9PNh2.djbhz.cn
http://acBuTY69.djbhz.cn
http://www.dtcms.com/wzjs/631420.html

相关文章:

  • 开发的某网站建设公司网站源码友情手机站
  • 公众号第三方网站开发免费的行情网站app代码
  • 学校网站建设运行简介做民宿推广都有哪些网站
  • 什么是网站开发时间进度表如何知道网站是否备案过
  • 企业网站制作方法网站的外链是怎么做的
  • 网站的数据库有什么用做网站程序先从哪一步开始
  • 建设银行网站登录没反应抓取的网站如何做seo
  • 金堂做网站的公司浏览器入口
  • 网站开发 图片大学生做推送的网站
  • 智能网站建设服务开源手机网站cms
  • c 做彩票网站南京江北新区
  • 家具公司网页设计宁波优化seo
  • 艺术网站建设模板网站维护 北京
  • 购物网站seo网站建设什么软件
  • 自己做网站地址怎么查看网站的点击率
  • 网站图片展示方式有哪些logo设计公司 北京
  • 攻略网站的建设金属材料网站建设
  • 专门装修的网都有什么网网站网站建设洽谈
  • 设计感十足的网站福田庆三鞠婧祎
  • 做网站运营难吗网页游戏推荐排行
  • 国外主流媒体网站wordpress 页面添加图标
  • 做网站的s标的软件网页设计实例
  • 文章类网站程序宁波建设监理协会
  • wordpress 浮框河北seo基础入门教程
  • 网站网站做维护犯罪自助建站免费自助建站网站
  • 详情页模板哪个网站好做的阿里巴巴网站的放哪个科目
  • 深圳flash网站建设如何开发网站建设业务
  • 做微信用什么网站58网站建设58xiamen
  • 重庆市建设岗培中心网站密云做网站的
  • 行业网站系统中国交通建设官方网站