自己早期写的,主要做用是说明一下在没有操作系统的支持下利用BOIS读光驱引导系统的编写方法,自己设计一下从光驱安装操作系统的一个简单过程,好了,引用一下我空间的一段话吧:值得说了一点就是,光驱的引导代码和硬盘引导代码有一点不同,但BOIS也只读第一个扇区的内容并检查结尾处是否以“AA55”结束,这和硬盘是相同的,但光驱还有一点不同的是他的引导文件可以长达整个光盘内容(我从DOS光盘启动盘中读取过引导文件,是1.4M,我自己实验能把盘写入600M的引导文件)。
通过光盘引导代码把硬盘引导代码写入硬盘引导区从而为以后实现从光盘从安装系统到硬盘的过程打开重要的一关。
对了还要说一点的,光驱引导代码和硬盘的引导代码是分开编写的,这是因为BOIS读入引导代码时它们的物理地址都是一样的,如果两个代码写在一个文件内他们的指令逻辑地址会出错。
所以。


用nasm编译后用winhex把硬盘引导代码写入光盘引导代码之后,也就是光盘引导文件的第二个扇区的内容是硬盘引导代码。
光驱引导代码如下(cdboot.asm)只供参考而以,汇编交流,
2023/10/9 15:48:07 7.33MB 读光驱 源代码 BOIS 13h
1
基于施耐德M580PLC的编程教程,主要描述M580的硬件组态,变量定义,指令应用等
2023/10/9 6:49:47 3.16MB Unity Pro XL
1
应用程序调试技术作者:(美)JohnRobbins 译者:潘文林陈武目录结论第l部分调试概论第1章错误:问题出在那里,如何解决1.l错误及其调试1.1.l什么是错误1.1.2进程错误及其解决方案1.1.3制定调试计划1.2调试的先决条件1.2.l技能组合l.2.2学习技能组合1.3调试过程1.3.l第1步:复制错误1.3.2第2步:描述错误1.3.3第3步:始终假定错误是你自己的问题1.3.4第4步:分解并解决错误1.3.5第5步:进行有创见的思考1.3.6第6步:杠杆工具1.3.7第7步:开始繁重的调试工作1.3.8第8步:校验错误已被更正.1.3.9第9步:学习与交流1.3.10调试过程的决定性秘诀1.4小结第2章开始调试2.1跟踪变更直到项目结束2.1.l版本控制系统2.1.2错误跟踪系统2.1.3选择正确的系统2.2制定构建调试系统的进度表2.2.l用调试符来连编所有的构件2.2.2警告与错误同等重要2.2.3了解在何处装载DLL2.2.4设计发布构件的轻便诊断系统2.3日常连编和冒烟测试是必须遵循的2.3.l日常构件2.3.2冒烟测试2.4立即连编安装程序2.5QA必须对调试构件进行测试2.6小结第3章边编码边调试3.1注意声明3.1.l如何声明,声明什么3.l.2不同类型的VisualC+十和VisualBasic声明3.l.3SUPERASSERT3.2跟踪、跟踪、跟踪、再跟踪3.3注意注释3.4相信自己,但要校验(单元测试)3.5小结第II部分高效率的调试第4章调试器的工作原理4.1Windows调试器的类型4.1.1用户模式调试器4.1.2内核模式调试器4.2Windows2000操作系统为调试对象提供的支持4.2.1Windows2000堆阵检查4.2.2在调试器中自动启动4.2.3快速中断项4.3MinDBG:一个简单的Win32调试器4.4WDBG:真正的调试器4.4.l内存读写操作4.4.2断点和单步执行4.4.3符号表、符号引擎和堆栈遍历4.4.4StepInto、StepOver和StapOut功能4.4.5WDBG调试器的一个有趣的开发问题4.5如果需要编写自己的调试器4.6WDBG调试器之后是什么?4.7小结第5章使用Visual C+十调试器进行强有力的调试5.1高级断点及其用法5.1.l高级断点语法和位置断点5.1.2在任何函数上快速中断5.1.3在系统或输出的函数中设置断点5.1.4位置断点修饰符5.1.5全局表达式和条件断点5.1.6Windows消息断点5.2远程调试5.3技巧及窍门5.3.1设置断点5.3.2Watch窗口5.4小结第6章使用x86汇编语言和Visual C++调试器Disassembly窗口进行强有力的调试6.1CPU的基础知识6.1.l寄存器6.1.2指令格式和内存编址6.2关于VisualC+十内联汇编器6.3需要了解的指令6.3.1堆栈处理6.3.2最常用的几个简单指令6.3.3常见的序列:函数入口和出口6.3.4变量访问:全局变量、参数和局部变量6.3.5调用进程和返回指令6.4调用约定6.5需要了解的其他指令6.5.l数据处理6.5.2指针处理6.5.3比较和测试6.5.4条约和分文指令6.5.5循环6.5.6字符串处理6.6常见的汇编语言结构6.6.1FS寄存器访问6.6.2结构和类引用6.7完整的例子6.8Disassembly窗口6.8.1导航功能6.8.2在堆栈上查看参数6.8.3SetNextStatement命令6.8.4Memory窗口和Disassembly窗口6.9技巧和诀窍6.9.1Endians6.9.2垃圾代码6.9.3寄存器和Watch窗口6.9.4从ASM文件中学习6.10小结第7章使用VisualBasic调试器进行强
2023/10/7 11:13:46 9.92MB 应用程序调试技术
1
CPCL/TSPL指令查看工具,可以查看CPCL指令数据对应的效果图,方便调试。
只要打开工具,把数据文件(*.hex)放到同目录下,鼠标双击界面中央,即可查看CPCL/TSPL的效果。
1
直接用过ZPL指令打印,不通过报表打印和系统打印。
打印速度非常快!!
2023/10/4 8:40:24 34KB C# USB 打印机 指令打印
1
对于一个复杂的信号,在一个时刻会有多于一个的瞬时频率,所以为了使用这个关于瞬时频率的定义,还必须对信号进行经验模态分解,把数据序列分解成基本模式分量,从而可以对它们使用瞬时频率这一概念。
而且此种情况下定义的瞬时频率是目前广泛认可的。
对于瞬时频率的MATLAB实现,可用的函数指令是时频工具箱中的instfreq,和经验模态分解工具箱(即EMD工具箱)的hhspectrum指令
2023/10/4 3:40:57 1.89MB Matlab EMD TFTB
1
FX2N源码V3.8版,程序框架清晰,支持丰富PLC指令,本人亲自测试代码,PLC程序与三菱GXWorks完美兼容如果觉得宝贝好支持AD/DA模数和数模转换支持modbus总线通信支持高速脉冲输出功能PLSY支持RS232触摸屏通信支持RTC时钟支持浮点运算
2023/10/3 21:27:21 24.66MB STM32 PLC 源码 FX2N
1
本答案包含全部章节答案详解以下是前两章示例答案:第一章概述1-1简述计算机程序设计语言的发展历程。
解:迄今为止计算机程序设计语言的发展经历了机器语言、汇编语言、高级语言等阶段,C++语言是一种面向对象的编程语言,也属于高级语言。
1-2面向对象的编程语言有哪些特点?解:面向对象的编程语言与以往各种编程语言有根本的不同,它设计的出发点就是为了能更直接的描述客观世界中存在的事物以及它们之间的关系。
面向对象的编程语言将客观事物看作具有属性和行为的对象,通过抽象找出同一类对象的共同属性(静态特征)和行为(动态特征),形成类。
通过类的继承与多态可以很方便地实现代码重用,大大缩短了软件开发周期,并使得软件风格统一。
因此,面向对象的编程语言使程序能够比较直接地反问题域的本来面目,软件开发人员能够利用人类认识事物所采用的一般思维方法来进行软件开发。
C++语言是目前应用最广的面向对象的编程语言。
1-3什么是结构化程序设计方法?这种方法有哪些优点和缺点?解:结构化程序设计的思路是:自顶向下、逐步求精;
其程序结构是按功能划分为若干个基本模块;
各模块之间的关系尽可能简单,在功能上相对独立;
每一模块内部均是由顺序、选择和循环三种基本结构组成;
其模块化实现的具体方法是使用子程序。
结构化程序设计由于采用了模块分解与功能抽象,自顶向下、分而治之的方法,从而有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。
虽然结构化程序设计方法具有很多的优点,但它仍是一种面向过程的程序设计方法,它把数据和处理数据的过程分离为相互独立的实体。
当数据结构改变时,所有相关的处理过程都要进行相应的修改,每一种相对于老问题的新方法都要带来额外的开销,程序的可重用性差。
由于图形用户界面的应用,程序运行由顺序运行演变为事件驱动,使得软件使用起来越来越方便,但开发起来却越来越困难,对这种软件的功能很难用过程来描述和实现,使用面向过程的方法来开发和维护都将非常困难。
1-4什么是对象?什么是面向对象方法?这种方法有哪些特点?解:从一般意义上讲,对象是现实世界中一个实际存在的事物,它可以是有形的,也可以是无形的。
对象是构成世界的一个独立单位,它具有自己的静态特征和动态特征。
面向对象方法中的对象,是系统中用来描述客观事物的一个实体,它是用来构成系统的一个基本单位,由一组属性和一组行为构成。
面向对象的方法将数据及对数据的操作方法放在一起,作为一个相互依存、不可分离的整体--对象。
对同类型对象抽象出其共性,形成类。
类中的大多数数据,只能用本类的方法进行处理。
类通过一个简单的外部接口,与外界发生关系,对象与对象之间通过消息进行通讯。
这样,程序模块间的关系更为简单,程序模块的独立性、数据的安全性就有了良好的保障。
通过实现继承与多态性,还可以大大提高程序的可重用性,使得软件的开发和维护都更为方便。
面向对象方法所强调的基本原则,就是直接面对客观存在的事物来进行软件开发,将人们在日常生活中习惯的思维方式和表达方式应用在软件开发中,使软件开发从过分专业化的方法、规则和技巧中回到客观世界,回到人们通常的思维。
1-5什么叫做封装?解:封装是面向对象方法的一个重要原则,就是把对象的属性和服务结合成一个独立的系统单位,并尽可能隐蔽对象的内部细节。
1-6面向对象的软件工程包括哪些主要内容?解:面向对象的软件工程是面向对象方法在软件工程领域的全面应用,它包括面向对象的分析(OOA)、面向对象的设计(OOD)、面向对象的编程(OOP)、面向对象的测试(OOT)和面向对象的软件维护(OOSM)等主要内容。
1-7简述计算机内部的信息可分为几类?解:计算机内部的信息可以分成控制信息和数据信息二大类;
控制信息可分为指令和控制字两类;
数据信息可分为数值信息和非数值信息两类。
1-8什么叫二进制?使用二进制有何优点和缺点?解:二进制是基数为2,每位的权是以2为底的幂的进制,遵循逢二进一原则,基本符号为0和1。
采用二进制码表示信息,有如下几个优点:1.易于物理实现;
2.二进制数运算简单;
3.机器可靠性高;
4.通用性强。
其缺点是它表示数的容量较小,表示同一个数,二进制较其他进制需要更多的位数。
1-9请将以下十进制数值转换为二进制和十六进制补码:(1)2(2)9(3)93(4)-32(5)65535(6)-1解:(1)(2)10=(10)2=(2)16(2)(9)10=(1001)2=(9)16(3)(93)10=(1011101)2=(5D)16(4)(-32)10=(11100000)2=(E0)16(5)(65535)10=
2023/10/3 10:10:25 83KB C++ 语言程序设计 课后答案 郑莉
1
这是在名为的课程中使用的样板。
里面是什么?这个项目使用很多东西:入门首先,运行开发服务器:npmrundev#oryarndev使用浏览器打开以查看结果。
您可以通过修改pages/index.js来开始编辑页面。
当您编辑文件时,页面会自动更新。
指令dev:在localhost:3000上运行您的应用程序build:创建生产版本start:使用构建生产代码启动一个简单的服务器lint:在所有组件和页面中运行linttest:运行笑话来测试所有组件和页面test:watch:在手表模式下开玩笑storybook:在localhos
2023/9/30 14:19:43 308KB boilerplate babel typescript styled-components
1
亲测,以实现手机通信,控制功能,发送AT指令等。
我实在正点原子的基础上进行修改的。
我的32是f103zet6的,但不是正点原子的,所以探索了好几天,才终于修改完毕,无乱码,串口打印手机发送都可以,还可以通过手机发送指令控制LED亮灭,蜂鸣器等
2023/9/27 16:54:13 3.96MB kj;l
1
共 621 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡