虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

生产准备状态检查

  • check_mysql_unknow检查mysql unknow状态

    check_mysql_unknow检查mysql unknow状态

    标签: check_mysql_unknow unknow mysql 状态

    上传时间: 2016-05-03

    上传用户:cccole0605

  • 在网络中,有时候会想检查自己电脑的端口的状态,这是端口扫描器的C语言源代码,

    在网络中,有时候会想检查自己电脑的端口的状态,这是端口扫描器的C语言源代码,

    标签: 端口 网络 电脑 状态

    上传时间: 2014-01-15

    上传用户:410805624

  • 可以检查网络欲行状态

    可以检查网络欲行状态,查看网络是否连通。

    标签: 网络 状态

    上传时间: 2014-08-20

    上传用户:ggwz258

  • Altium Designer 10 (64_32位) 绿色破解中文版软件安装包

    Altium Designer 10 提供了一个强大的高集成度的板级设计发布过程,它可以验证并将您的设计和制造数据进行打包,这些操作只需一键完成,从而避免了人为交互中可能出现的错误。发布管理系统简化规范了发布您的设计项目的流程,或者更具体地说,是那些项目中定义的配置, 直观,简洁而且稳定。更重要的是,该系统可以被直接链接到您的后台版本控制系统。 新增的强大的预发布验证手段的组合 - 用以确保所有包含在发布中的设计文件都是当前的,与存储在您的版本控制系统中的相应的文件“主人”保持同步的文件,并且通过了所有特定的规则检查(ERC, DRC, 等等) – 从而您可以在更高层面上控制发布管理,并可保证卓越的发布质量。亮点 ● 提供了将设计数据管理置于设计流程核心地位的全新桌面平台● 提供了新的维度,以供器件数据的搜寻和管理,确保输出到制造厂的设计数据具有准确性和可重复性● 为设计环境提供供应链信息的智能链接,确保对元器件的使用有更好的选择● 提供了涵盖整个设计与生产生命周期的器件数据管理方案,而结构性的输出流程更是确保了输出信息的完整性R10 系列的增强功能包括:输出Output Job编辑器、内电层分割加速改善、弹出式的多边形铺铜管理器、AtmelQTouch支持、自定制的笛卡尔直角和极坐标栅格、Aldec HDL 仿真功能、实现比使用指针更多的GUI增强,以及随着Altium Designer10临近发布日前,我们将构建其中的更多酷炫功能。而且,其平台稳定性也得到了增强。新功能与过去以季节性主题(如Winter09,Summer09)来命名的方案不同,而是采用新型的平实的编号形式来为新的发布版本进行命名。最新发布的Altium Designer - Release 10 将继续保持不断插入新的功能和技术的过程,使得您可以更方便轻松地创建您的下一代电子产品设计。 Altium 的统一的设计架构以将硬件,软件和可编程硬件等等集成到一个单一的应用程序中而闻名。它可让您在一个项目内,甚或是整个团队里自由地探索和开发新的设计创意和设计思想,团队中的每个人都拥有对于整个设计过程的统一的设计视图。在软件解决方案的开发过程中,偶尔脑子里会跳出不断进化的创意,跳出的每一个创意都在它能做么,并且能给用户带来什么好处方面,带领软件的解决方案到一个更高的台阶。Release 10 的到来是对于Altium Designer的又一个进化跳跃 – 是软件及其功能上的世代性的交替和革新,如果您愿意纵向追溯,其规模DXP平台推出以来,从未见过的以单一的统一模式交付的设计经验。 此次飞跃的亮点是收集了大量令人印象深刻而广泛全面的新技术,旨在不但帮助进化您管理您的设计信息的方式,而且还帮助您自动配置发布程。AD10 与Altium Vault Server -- 来自Altium的另一解决方案 -- 提供了一个设计数据管理系统,它可以有效地识别并解决许多导致设计,发布和制造等进程缓慢的各种问题。它是一种非常具有创造性和革命性的智能数据管理系统。该数据管理解决方案的重要组成部分是一个元器件管理系统。该元器件管理系统提供了真正的生命周期追踪功能和器件检验的独立性。 Altium Designer 10 提供了一个强大的高集成度的板级设计发布过程,它可以验证并将您的设计和制造数据进行打包,这些操作只需一键完成,从而避免了人为交互中可能出现的误差。发布管理系统简化规范了发布您的设计项目的流程,或者更具体地说,是那些项目中定义的配置, 直观,简洁而且稳定。更重要的是,该系统可以被直接链接到您的后台版本控制系统。 新增的强大的预发布验证手段的组合 - 用以确保所有包含在发布中的设计文件都是当前的,与存储在您的版本控制系统中的相应的文件“主人”保持同步的文件,并且通过了所有特定的规则检查(ERC, DRC, 等等) – 从而您可以在更高层面上控制发布管理,并可保证卓越的发布质量。通过AD10,您可以利用完整的生命周期(从概念和设计,经由原型和产品,到折旧和废弃 )来开发并管理您的电子产品,关于所有这些操作的正确性您都有足够的信心。我们很高兴能带给您这些富有灵感的新技术,和很多其他新功能一起,我们开发了这个发布系统并且得到了很多正面的反应,我们相信您也会很兴奋!通过全新的安装和内容交付系统,以及Altium Subscrption 订户计划可让您访问那些酷炫的新功能,并且随时保持更新。以可选择的插件方式交付各种功能模块,您再也不需要为下一个主体(或附体)发布而等待。相反,如果您愿意,您可以通过一个内容流水线 持续不断地从Altium获得最新的技术和解决方案的更新。Altium Designer 10 – ---所有一切将从这里开始。设计数据和发布管理设计数据管理系统Altium Designer 的统一平台 – 用一个统一的数据模型来代表所设计的系统 – 已被有效地运用,而且已有效地解决了在确保不断增长的产品性能增强和革新的要求的同时,提供更高的数据完整性的问题。其结果是一个设计数据管理模式的执行,允许关于设计世界和最终负责构建实际产品的供应链这二者之间的链接进行正式的定义。统一的数据模型会将设计数据映射到供应链将实际构建的特定的产品条目(裸装配板)。有了这种模型,并且配以各种功能和技术的广泛支持,该软件可使您轻松无痛苦地,流线式地,自动地传递来自设计领域的数据到产品领域 – 以高集成度的,直观的方式一键生成数据的输出。板级实现导出到 Ansoft HFSS™Updated in Beta 4对于那些需要用到RF和几G频率数字信号的PCB设计,您现在可以直接从PCB编辑器导出您的PCB文档到一个 Ansoft Neutral文件格式,这种格式可以被直接导入并使用 Ansys' ANSOFT HFSS™ 3D Full-wave Electromagnetic Field Simulation软件来进行仿真。 Ansoft 与Altium合作提供了在PCB设计以及其电磁场分析方面的高质量协作能力。导出到 SiSoft Quantum-SI™Altium Designer 的 PCB编辑器支持保存PCB设计时同时包括详细的层栈信息以及过孔和焊盘的几何信息,并保存为CSV文件,该文件可用于 SiSoft 的 Quantum-SI 系列信号完整性分析软件工具。 SiSoft 与 Altium 合作特别为Altium Designer的用户提供了最理想的 Quantum-SI 可接受的导入格式。PCB 3D 视频为了提供对于您的PCB板的更为生动和更为有用的文档, Altium Designer 的 Release 10 提供了生成PCB 3D视频文档的功能。 从您的主管那边所看到的PCB 3D视频的内容,就是简单的一系列关于您的PCB板3维画面的快照截图,类似于关键帧。对于这一系列按顺序排列的每一个后来的画面关键帧,您都可以调整其缩放程度,平移或者旋转,调整这些所有相对之前的关键帧的设置。输出时,画面帧的顺序采用强大的多媒体发布器导出为视频格式 – 一个可配置的输出媒介被单独添加到 Release 10 以用于生成PCB 3D 视频。 其结果就是一系列画面帧按顺序平滑地内插到关键帧系列。统一的光标捕获系统Altium Designer 的 PCB编辑器已经有了很好的栅格定义系统 – 通过可视栅格,捕获栅格,元件栅格和电气栅格等等都可以帮助您有效地放置您的设计对象到PCB文档。随着Altium Designer 10 的发布,该系统已休整而且随着统一的光标捕获系统的到来达到一个新的水平。该系统汇集了三个不同的子系统,共同驱动并达到将光标捕获到最优选的坐标集:用户可定义的栅格,直角坐标和极坐标之间可按照喜好选择;捕获栅格,它可以自由地放置并提供随时可见的对于对象排列进行参考的线索;以及增强的对象捕捉点,使得放置对象的时候自动定位光标到基于对象热点的位置。按照您觉得合适的方式,使用这些功能的组合, 可确保您轻松地搞定在PCB工作区放置和排列您的对象!PCB 中类的结构在将设计从原理图转移到PCB的时候,Altium Designer中已经提供了对于高质量,稳定的类(器件类和网络类)创建功能的支持。Release 10 将这种支持提升到一个新的水平,可以在PCB文档中定义生成类的层次结构。从本质上讲,这使得您可以按照图纸层次将元件或网络类组合到从那张图纸生成的一个母类,而这个母类本身也可以是它上面的一个母类的子类,如此一路到您的设计中的顶层图纸。而顶层生成的母类(或叫特级类)从本质上来讲即是类的结构层次的源头。这些所有生成的母类都被称为结构类。结构类,不仅允许在PCB领域中对原理图文档结构进行繁衍和高级导航 ,而且也可用于逻辑查询,例如,设计规则的范围,或者设置条件进行过滤查找。设计协作喜欢进行协同PCB设计,多个设计师可以同一时间对同一电路板进行工作,然后把他们的结果合并在一起的想法? Release 10 带来了真正的PCB设计过程中的协作。通过新的协作,比较和合并面板您会了解你的PCB板当前的状态,与您的协作同伴的结果进行比较。点击面板上的命令来显示差异,然后使用差异映射图得到关于谁在板上做了些什么的整体视图。在映射图中进行点击以所放到您感兴趣的区域,然后在工作区中使用右键单击命令来保留您的更改,或拖拽其他人所做的更改到您的PCB板。甚至还有一个自动命令,可以自动集成所有的与您的板子的当前版本不相冲突的更改 ,并且带来大量来自其他设计师的布线成果。当您一切准备就绪,可以将更新保存下来,并提交回储存库。每个设计师还可以定义工作区域,确保每个人都知道其他人在哪一块工作,以及不能在哪一块工作。对于 Atmel Touch Controls 的支持随便看一下如今任何最新的电子产品,您也许会发现一个很酷的用户界面 - 如按钮,滑条和滚轮等等触摸感应控制块。为了适应您的电子产品中对这种控制块的使用,Altium Designer 10 提供了在您的PCB中创建平面电容性的传感器模式的支持,用于 Atmel® QTouch® 和QMatrix® 传感器控制器。增强的多边形铺铜管理器Altium Designer 的Release 10 中的多边形铺铜管理器 对话框提供了更强大的功能性增强,提供了关于管理您的PCB板中所有多边形铺铜的附加功能。这些附加功能包括创建新的多边形铺铜,访问对话框的相关属性和多边形铺铜删除,等等都可以在这里进行操作 --- 全面地丰富了多边形铺铜管理器对话框的内容,并将多边形铺铜管理整体功能带到新的高度!为使设计师们成功协作的重要工具,是使得设计师们能够图形化地比较他们的工作成果,然后合并以保留任何他们认为合适的更改。但对于库方面的协作呢? Altium Designer 已经提供了在某一时间更新PCB到库元件的最新版本的功能,但Release 10 包含了一个功能强大,可视化比较的工具,以协助PCB设计师在更新和改变控制流程方面的工作。

    标签: Altium Designer软件下载

    上传时间: 2022-07-22

    上传用户:canderile

  • STM32,5110液晶显示超声波测距探鱼器200KHz,带电路图,精确到厘米

    STM32,5110液晶显示声纳探鱼器200KHz,带电路图,精确到厘米 MC34063升压,大声压发射,实际板子上滤波电路没要(电路图上的滤波电阻电容电感没焊,开路或者短路)。一般200KHz的换能器在水里面的耦合比较好,在空气中发射出来的(或者接收的)强度很低。 用的MOSFET Relay,contact和release时间都可以做到很小,不过选的是比较低端器件,所以最近测量距离为70cm。 开源啦开源啦 架构为状态机+任务流,Task都是放在函数指针数组里面的 Task分两种,routine的和错误处理的 5110液晶的SPI用的DMA 基本上STM32和C语言高阶的特征都用上了,稍微修改直接可以商用 Open Issue 偶尔会hardware fault或者memory fault,然后watchdog重启, 应该比较好解决,仔细检查下就好 有什么问题代码的file comment里面有我联系地址 有能搞到好的器件也请知会我,多谢了 接下来准备把它装到船模上,用以前四轴的那套东西,就看什么时候有时间了

    标签: 5110 STM 200 KHz

    上传时间: 2013-10-28

    上传用户:songyue1991

  • 微机灯光控制系统

    一、实验目的1.掌握定时/计数器、输入/输出接口电路设计方法。    2.掌握中断控制编程技术的方法和应用。3.掌握8086汇编语言程序设计方法。 二、实验内容与要求 微机灯光控制系统主要用于娱乐场所的彩灯控制。系统的彩灯共有12组,在实验时用12个发光二极管模拟。1. 基本要求:灯光控制共有8种模式,如12个灯依次点亮;12个灯同时闪烁等八种。系统可以通过键盘和显示屏的人机对话,将8种模式进行任意个数、任意次序的连接组合。系统不断重复执行输入的模式组合,直至键盘有任意一个键按下,退出灯光控制系统,返回DOS系统。2. 提高要求:音乐彩灯控制系统,根据音乐的变化控制彩灯的变化,主要有以下几种:第一种为音乐节奏控制彩灯,按音乐的节拍变换彩灯花样。第二种音律的强弱(信号幅度大小)控制彩灯。强音时,灯的亮度加大,且被点亮的数目增多。第三种按音调高低(信号频率高低)控制彩灯。低音时,某一部分灯点亮;高音时,另一部分点亮。 三、实验报告要求 1.设计目的和内容 2.总体设计 3.硬件设计:原理图(接线图)及简要说明 4.软件设计框图及程序清单5.设计结果和体会(包括遇到的问题及解决的方法) 四、设计原理我们以背景霓虹灯的一种显示效果为例,介绍控制霓虹灯显示的基本原理。设有一排 n 段水平排列的霓虹灯,某种显示方式为从左到右每0.2 秒逐个点亮。其控制过程如下: 若以“ 1 ”代表霓虹灯点亮,以“ 0 ”代表霓虹灯熄灭,则开始时刻, n 段霓虹灯的控制信号均为“ 0 ”,随后,控制器将一帧 n 个数据送至 n 段霓虹灯的控制端,其中,最左边的一段霓虹灯对应的控制数据为“ 1 ”,其余的数据均为零,即 1000 … 000 。当 n 个数据送完以后,控制器停止送数,保留这种状态(定时) 0.2 秒,此时,第 1 段霓虹灯被点亮,其余霓虹灯熄灭。随后,控制器又在极短的时间内将数据 1100 … 000 送至霓虹灯的控制端,并定时 0.2 秒,这段时间,前两段霓虹灯被点亮。由于送数据的过程很快,我们观测到的效果是第一段霓虹灯被点亮 0.2 秒后,第 2 段霓虹灯接着被点亮,即每隔 0.2 秒显示一帧图样。如此下去,最后控制器将数据 1111 … 111 送至 n 段霓虹灯的控制端,则 n 段霓虹灯被全部点亮。 只要改变送至每段霓虹灯的数据,即可改变霓虹灯的显示方式,显然,我们可以通过合理地组合数据(编程)来得到霓虹灯的不同显示方式。 五、总体方案论证分析系统设计思路如下:1) 采集8位开关输入信号,若输入数据为0时,将其修改为1。确定输入的硬件接口电路。采样输入开关量,并存入NUM的软件程序段。2) 以12个灯依次点亮为例(即灯光控制模式M1),考虑与其相应的灯光显示代码数据。确定显示代码数据输出的接口电路。输出一个同期显示代码的软件程序段(暂不考虑时隙的延时要求)。3) 应用定时中断服务和NUM数据,实现t=N×50ms的方法。4) 实现某一种模式灯光显示控制中12个时隙一个周期,共重复四次的控制方法。要求在初始化时采样开关输入数据NUM,并以此控制每一时隙的延时时间;在每一时隙结束时,检查有无键按下,若是退出键按下,则结束灯光控制,返回DOS系统,若是其他键就返回主菜单,重新输入控制模式数据。5) 通过人机对话,输入8种灯光显示控制模式的任意个数、任意次序连接组合的控制模式数据串(以ENTER键结尾)。对输入的数据进行检查,若数据都在1 - 8之间,则存入INBUF;若有错误,则通过屏幕显示输入错误,准备重新输入灯光显示控制模式数据。6) 依次读取INBUF中的控制模式数据进行不同模式的灯光显示控制,在没有任意键按下的情况下,系统从第一个控制模式数据开始,顺序工作到最后一个控制模式数据后,又返回到第一个控制模式数据,不断重复循环进行灯光显示控制。7) 本系统的软件在总体上有两部份,即主程序(MAIN)和实时中断服务程序(INTT)。讨论以功能明确、相互界面分割清晰的软件程序模块化设计方法。即确定有关功能模块,并画出以功能模块表示的主程序(MAIN)流程框图和定时中断服务程序的流程框图。    六、硬件电路设计   以微机实验平台和PC机资源为硬件设计的基础,不需要外加电路。主要利用了以下的资源:1.8255并行口电路8255并行口电路主要负责数据的输入与输出,可以输出数据控制发光二极管的亮灭和读取乒乓开关的数据。实验时可以将8255的A口、B口和一组发光二极管相连,C口和乒乓开关相连。2.8253定时/计数器8253定时/计数器和8259中断控制器一起实现时隙定时。本设计的定时就是采用的t=N×50ms的方法,50ms由8253定时/计数器的计数器0控制定时,N是在中断服务程序中软件计时。8253的OUT0接到IRQ2,产生中断请求信号。8253定时/计数器定时结束会发出中断信号,进入中断服务程序。3.PC机资源本设计除了利用PC机作为控制器之外,还利用了PC机的键盘和显示器。键盘主要是输入控制模式数据,显示器就是显示提示信息。   七、软件设计   软件主要分为主程序(MAIN)和中断服务程序(INTT),主程序包含系统初始化、读取乒乓开关、读取控制模式数据以及按键处理等模块。中断服务程序主要是定时时间到后根据控制模式数据点亮相应的发光二极管。1.主程序主程序的程序流程图如图1所示。

    标签: 微机 灯光控制

    上传时间: 2014-04-05

    上传用户:q986086481

  • 汇编+保护模式+教程

    九.输入/输出保护为了支持多任务,80386不仅要有效地实现任务隔离,而且还要有效地控制各任务的输入/输出,避免输入/输出冲突。本文将介绍输入输出保护。 这里下载本文源代码。 <一>输入/输出保护80386采用I/O特权级IPOL和I/O许可位图的方法来控制输入/输出,实现输入/输出保护。 1.I/O敏感指令输入输出特权级(I/O Privilege Level)规定了可以执行所有与I/O相关的指令和访问I/O空间中所有地址的最外层特权级。IOPL的值在如下图所示的标志寄存器中。 标  志寄存器 BIT31—BIT18 BIT17 BIT16 BIT15 BIT14 BIT13—BIT12 BIT11 BIT10 BIT9 BIT8 BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 00000000000000 VM RF 0 NT IOPL OF DF IF TF SF ZF 0 AF 0 PF 1 CF I/O许可位图规定了I/O空间中的哪些地址可以由在任何特权级执行的程序所访问。I/O许可位图在任务状态段TSS中。 I/O敏感指令 指令 功能 保护方式下的执行条件 CLI 清除EFLAGS中的IF位 CPL<=IOPL STI 设置EFLAGS中的IF位 CPL<=IOPL IN 从I/O地址读出数据 CPL<=IOPL或I/O位图许可 INS 从I/O地址读出字符串 CPL<=IOPL或I/O位图许可 OUT 向I/O地址写数据 CPL<=IOPL或I/O位图许可 OUTS 向I/O地址写字符串 CPL<=IOPL或I/O位图许可 上表所列指令称为I/O敏感指令,由于这些指令与I/O有关,并且只有在满足所列条件时才可以执行,所以把它们称为I/O敏感指令。从表中可见,当前特权级不在I/O特权级外层时,可以正常执行所列的全部I/O敏感指令;当特权级在I/O特权级外层时,执行CLI和STI指令将引起通用保护异常,而其它四条指令是否能够被执行要根据访问的I/O地址及I/O许可位图情况而定(在下面论述),如果条件不满足而执行,那么将引起出错码为0的通用保护异常。 由于每个任务使用各自的EFLAGS值和拥有自己的TSS,所以每个任务可以有不同的IOPL,并且可以定义不同的I/O许可位图。注意,这些I/O敏感指令在实模式下总是可执行的。 2.I/O许可位图如果只用IOPL限制I/O指令的执行是很不方便的,不能满足实际要求需要。因为这样做会使得在特权级3执行的应用程序要么可访问所有I/O地址,要么不可访问所有I/O地址。实际需要与此刚好相反,只允许任务甲的应用程序访问部分I/O地址,只允许任务乙的应用程序访问另一部分I/O地址,以避免任务甲和任务乙在访问I/O地址时发生冲突,从而避免任务甲和任务乙使用使用独享设备时发生冲突。 因此,在IOPL的基础上又采用了I/O许可位图。I/O许可位图由二进制位串组成。位串中的每一位依次对应一个I/O地址,位串的第0位对应I/O地址0,位串的第n位对应I/O地址n。如果位串中的第位为0,那么对应的I/O地址m可以由在任何特权级执行的程序访问;否则对应的I/O地址m只能由在IOPL特权级或更内层特权级执行的程序访问。如果在I/O外层特权级执行的程序访问位串中位值为1的位所对应的I/O地址,那么将引起通用保护异常。 I/O地址空间按字节进行编址。一条I/O指令最多可涉及四个I/O地址。在需要根据I/O位图决定是否可访问I/O地址的情况下,当一条I/O指令涉及多个I/O地址时,只有这多个I/O地址所对应的I/O许可位图中的位都为0时,该I/O指令才能被正常执行,如果对应位中任一位为1,就会引起通用保护异常。 80386支持的I/O地址空间大小是64K,所以构成I/O许可位图的二进制位串最大长度是64K个位,即位图的有效部分最大为8K字节。一个任务实际需要使用的I/O许可位图大小通常要远小于这个数目。 当前任务使用的I/O许可位图存储在当前任务TSS中低端的64K字节内。I/O许可位图总以字节为单位存储,所以位串所含的位数总被认为是8的倍数。从前文中所述的TSS格式可见,TSS内偏移66H的字确定I/O许可位图的开始偏移。由于I/O许可位图最长可达8K字节,所以开始偏移应小于56K,但必须大于等于104,因为TSS中前104字节为TSS的固定格式,用于保存任务的状态。 1.I/O访问许可检查细节保护模式下处理器在执行I/O指令时进行许可检查的细节如下所示。 (1)若CPL<=IOPL,则直接转步骤(8);(2)取得I/O位图开始偏移;(3)计算I/O地址对应位所在字节在I/O许可位图内的偏移;(4)计算位偏移以形成屏蔽码值,即计算I/O地址对应位在字节中的第几位;(5)把字节偏移加上位图开始偏移,再加1,所得值与TSS界限比较,若越界,则产生出错码为0的通用保护故障;(6)若不越界,则从位图中读对应字节及下一个字节;(7)把读出的两个字节与屏蔽码进行与运算,若结果不为0表示检查未通过,则产生出错码为0的通用保护故障;(8)进行I/O访问。设某一任务的TSS段如下: TSSSEG                  SEGMENT PARA USE16                        TSS     <>             ;TSS低端固定格式部分                        DB      8 DUP(0)       ;对应I/O端口00H—3FH                        DB      10000000B      ;对应I/O端口40H—47H                        DB      01100000B      ;对用I/O端口48H—4FH                        DB      8182 DUP(0ffH) ;对应I/O端口50H—0FFFFH                        DB      0FFH           ;位图结束字节TSSLen                  =       $TSSSEG                  ENDS 再假设IOPL=1,CPL=3。那么如下I/O指令有些能正常执行,有些会引起通用保护异常:                         in      al,21h  ;(1)正常执行                        in      al,47h  ;(2)引起异常                        out     20h,al  ;(3)正常实行                        out     4eh,al  ;(4)引起异常                        in      al,20h  ;(5)正常执行                        out     20h,eax ;(6)正常执行                        out     4ch,ax  ;(7)引起异常                        in      ax,46h  ;(8)引起异常                        in      eax,42h ;(9)正常执行 由上述I/O许可检查的细节可见,不论是否必要,当进行许可位检查时,80386总是从I/O许可位图中读取两个字节。目的是为了尽快地执行I/O许可检查。一方面,常常要读取I/O许可位图的两个字节。例如,上面的第(8)条指令要对I/O位图中的两个位进行检查,其低位是某个字节的最高位,高位是下一个字节的最低位。可见即使只要检查两个位,也可能需要读取两个字节。另一方面,最多检查四个连续的位,即最多也只需读取两个字节。所以每次要读取两个字节。这也是在判别是否越界时再加1的原因。为此,为了避免在读取I/O许可位图的最高字节时产生越界,必须在I/O许可位图的最后填加一个全1的字节,即0FFH。此全1的字节应填加在最后一个位图字节之后,TSS界限范围之前,即让填加的全1字节在TSS界限之内。 I/O许可位图开始偏移加8K所得的值与TSS界限值二者中较小的值决定I/O许可位图的末端。当TSS的界限大于I/O许可位图开始偏移加8K时,I/O许可位图的有效部分就有8K字节,I/O许可检查全部根据全部根据该位图进行。当TSS的界限不大于I/O许可位图开始偏移加8K时,I/O许可位图有效部分就不到8K字节,于是对较小I/O地址访问的许可检查根据位图进行,而对较大I/O地址访问的许可检查总被认为不可访问而引起通用保护故障。因为这时会发生字节越界而引起通用保护异常,所以在这种情况下,可认为不足的I/O许可位图的高端部分全为1。利用这个特点,可大大节约TSS中I/O许可位图占用的存储单元,也就大大减小了TSS段的长度。 <二>重要标志保护输入输出的保护与存储在标志寄存器EFLAGS中的IOPL密切相关,显然不能允许随便地改变IOPL,否则就不能有效地实现输入输出保护。类似地,对EFLAGS中的IF位也必须加以保护,否则CLI和STI作为敏感指令对待是无意义的。此外,EFLAGS中的VM位决定着处理器是否按虚拟8086方式工作。 80386对EFLAGS中的这三个字段的处理比较特殊,只有在较高特权级执行的程序才能执行IRET、POPF、CLI和STI等指令改变它们。下表列出了不同特权级下对这三个字段的处理情况。 不同特权级对标志寄存器特殊字段的处理 特权级 VM标志字段 IOPL标志字段 IF标志字段 CPL=0 可变(初POPF指令外) 可变 可变 0  不变 不变 可变 CPL>IOPL 不变 不变 不变 从表中可见,只有在特权级0执行的程序才可以修改IOPL位及VM位;只能由相对于IOPL同级或更内层特权级执行的程序才可以修改IF位。与CLI和STI指令不同,在特权级不满足上述条件的情况下,当执行POPF指令和IRET指令时,如果试图修改这些字段中的任何一个字段,并不引起异常,但试图要修改的字段也未被修改,也不给出任何特别的信息。此外,指令POPF总不能改变VM位,而PUSHF指令所压入的标志中的VM位总为0。 <三>演示输入输出保护的实例(实例九)下面给出一个用于演示输入输出保护的实例。演示内容包括:I/O许可位图的作用、I/O敏感指令引起的异常和特权指令引起的异常;使用段间调用指令CALL通过任务门调用任务,实现任务嵌套。 1.演示步骤实例演示的内容比较丰富,具体演示步骤如下:(1)在实模式下做必要准备后,切换到保护模式;(2)进入保护模式的临时代码段后,把演示任务的TSS段描述符装入TR,并设置演示任务的堆栈;(3)进入演示代码段,演示代码段的特权级是0;(4)通过任务门调用测试任务1。测试任务1能够顺利进行;(5)通过任务门调用测试任务2。测试任务2演示由于违反I/O许可位图规定而导致通用保护异常;(6)通过任务门调用测试任务3。测试任务3演示I/O敏感指令如何引起通用保护异常;(7)通过任务门调用测试任务4。测试任务4演示特权指令如何引起通用保护异常;(8)从演示代码转临时代码,准备返回实模式;(9)返回实模式,并作结束处理。

    标签: 汇编 保护模式 教程

    上传时间: 2013-12-11

    上传用户:nunnzhy

  • 状态转移图及步进指令

    教学提示:前章介绍的基本逻辑指令和梯形图主要用于设计满足一般控制要求的PLC程序。对于复杂控制系统来说,系统输入输出点数较多,工艺复杂,每一工序的自锁要求及工序与工序间的相互连锁关系也复杂,直接采用逻辑指令和梯形图进行设计较为困难。在实际控制系统中,可将生产过程的控制要求以工序划分成若干段,每一个工序完成一定的功能,在满足转移条件后,从当前工序转移到下道工序,这种控制通常称为顺序控制。为了方便地进行顺序控制设计,许多可编程控制器设置有专门用于顺序控制或称为步进控制的指令,FX2N PLC在基本逻辑指令之外增加了两条步进指令,同时辅之以大量的状态器S,结合状态转移图就很容易编出复杂的顺序控制程序 教学要求:本章要求学生熟练掌握FX2N的步进指令和状态转移图的功能、应用范围和使用方法。重点让学生掌握步进指令和状态转移图编程的规则、步骤与编程方法,并能编写一些工程控制程序 第四章 状态转移图及步进指令 5.1 状态转移图5.2 步进梯形图及步进指令5.2.1 步进梯形图5.2.2 步进指令5.3 步进梯形图指令编程基本方法5.4 状态转移图常见流程状态得编程5.4.1 单流程状态编程5.4.2 跳转与重复状态编程5.4.3 选择分支与汇合状态编程5.4.4 并行分支与汇合状态5.4.5 分支与汇合得组合5.5 状态转移图及步进指令的应用实例

    标签: 状态转移 步进 指令

    上传时间: 2013-11-05

    上传用户:钓鳌牧马

  • 由于时间紧迫及事先准备不足

    由于时间紧迫及事先准备不足,编译器最后定型时暴露出不少问题及不足之处,主要有以下一些方面:   不支持数组数据类型,这是文法分析器设计时的一个疏漏,由于时间关系,最后只得把扫描器中已做好的相关的数组部分删去。   对于float数据类型的支持,直到语义分析都是正常的,也能生成相应的汇编代码,但由于我们对8086/8088指令系统本身了解不足,这样的汇编代码将只能做到含义上完全忠实于源程序,但不能运行。   对于局部变量的支持,则于时间紧迫,所有的局部变量全被处理成静态变量。使递归函数不能得到正确的结果。    对于函数调用语句,不进行参数匹配检查,如果参数数量不对,也将能通过编译,但运行时将产生非法操作。   对&& !等逻辑操作在最后生成代码时处理比较粗燥,生成的代码在逻辑复杂时将不能保证运行正常。   接下来有一些,不能说是缺陷,但必须说明的问题:   对于main函数,没有参数表,通回类型也必须为void,但如果写上参数表及其他返回类型也能编译通过,生成代码时将简单地忽略,不影响最后的代码的运行。   对于while,for,if语句,其语句体不管是一句还是多句,必须都有{}围起来。这跟C语言中若是一句则可省略{}不同。

    标签:

    上传时间: 2015-03-14

    上传用户:gmh1314

  • 数字密码引爆器的输入描述:1、 在开始输入密码以前的等待状态

    数字密码引爆器的输入描述:1、 在开始输入密码以前的等待状态,首先要按READY键,表示目前准备就绪,可以输入数字密码;2、 当引爆事件发生后,应该回到等待状态,设置WAIT_T键;3、 如果输入密码不正确,此时要操作READY和WAIT_T是不起作用的,必须由设计人员重新设置到等待状态,设置SETUP键,SETUP为内部按键,操作人员应该不能接触;4、 确定密码输入后,要设计一个点火按键FIRE;

    标签: 密码 输入 数字 等待

    上传时间: 2015-03-17

    上传用户:chenlong