文档库 最新最全的文档下载
当前位置:文档库 › 不要成为语言的奴隶-献给热爱软件开发的朋友

不要成为语言的奴隶-献给热爱软件开发的朋友

不要成为语言的奴隶-献给热爱软件开发的朋友
不要成为语言的奴隶-献给热爱软件开发的朋友

不要成为语言的奴隶!

-------献给热爱软件开发的朋友

呵呵,当然这句话是献给那些想成为高手的朋友的.

如果是初学者,当然必须先通过一门语言的学习磨练的.代码是软件的本质,再好的软件没有代码那肯定不是软件(废话!:)),当然我这里并没有说文档就不重要了.

对于软件的学习,我有几点建议与大家共享:

起步:最好能有些计算原理, 操作系统, 数据结构, 软件工程等方面的理解能力.

1.透过语言看本质.

任何语言的学习是不能脱离环境来单独用的!,所以学C#肯定是要结合.NET Framework.

我经历了.NET Framework1.0,1.1,2.0,包括现在也正在研究3.0的框架.框架都不外乎要做到:内存管理,安全管理,异常管理,编译环境管理,类库管理等.

a.内存管理:这是任何一个优秀语言和框架的招牌功夫,不要想像现在的内存条容量很大又如何的便宜,那些垃圾软件可以在半个小时内照样把你的内存空间吃得通光!

一个软件加载到内存中,占用的内存区可分二大部分.

u第一部分:代码区(存放程序代码的空间,空间大小也是差不多固定下来的).

u第二部分:数据区(存放程序代码加载的各种数据).

l数据区可分为:全局/静态数据区,常量数据区,栈,堆,对于全局/静态数据区,常量数据区会在程序编译阶段就已分配好了固定的空间,这样,消耗内存容

量的情况就关健看栈和堆了.

l栈的空间大小在程序中是按固定大小分配的,这个固定大小哪倒底是多大?

这是要由编译器决定的事啦,在https://www.wendangku.net/doc/8d12267508.html,2003中栈的大小默认是1MB,当

然我们可以通过编译选项来指定栈的大小,但通常栈也不会太大.由于栈上

的内存是系统自动分配,压栈和出栈都有相应的指令来进行操作,因此效率

较高,并且栈的内存空间是连续的,不会产生内存碎片,所以内存的分配管

理最后重任落在了堆上,

l堆的大小只受限于系统的有效虚拟内存大小,一般是用来分配一些占用内存较大的对象或数据,由于堆所占用的内存是由开发人员来动态分配和回

收的,当NEW(C#用new,C++用new,malloc)申请内存时,系统需要按一

定的算法在堆空间(虚拟内存)中寻找合适的大小的空闲堆,并修改相应的

维护堆空闲空间的链表,然后返回地址给程序,所以效率比栈要低,还易产

生内存碎片,针对这个重任,微软在.NET 框架中作了垃圾回收的管理(GC),

在.NET中引用类型的都是用堆来分布内存的,当然CG是一种被动的回收

机制,要想取得更好更高的性能,快速高效的利用内存,还得要利用成对编

码的原则:较晚的分配内存,最早的释放内存,在C++或C#中都提供了构造

与析构的方式,但我们也可以提前执行GC,但效率始终没有C++高,呵呵,

先天性的.

b.异常管理:很多人写代码时都是把代码一写上,编译一通过,跑一下,OK,就完成了,写代码最好是在写完一句或一个功能时,要看一下,如果有错误时程序是怎么处理的,把正确时的处理与异常时的处理都作好了,你的代码肯定是OK,这样的代码才有容错机制.

c.其他的有时间再谈

2.读代码.

不管你以后要作一个普通的软件工程师或高级软件研发人员,要想写出好的代码,不多读好代码,那肯定是闭门造车,所以成就软件人生,第一关是多读好的代码,现在书市上那有这样的书呀,很少,奇少!petshop,duwamish以及MSDN上的代码都是可以多读的,多读最好能练练手,自己写一写,看代码也有技巧,首先要把代码的类结构搞清楚,再去看具体实现!

3.调试.

写代码的第一关就是调试了,要想成为一个高手,除了多读好代码,多写,伴随着这个过程更多的是调试,所以调试技术最能衡量一个开发人员的重要指标,调试会让你更多的去理解软件是怎么运行的,以后会如何处理这类型的问题,常用的调试估计大学都学过,在.NET中作项

目,必须得学会应用程序的调试,脚本调试,window服务及Web服务的调试,数据库程序的调试.调试技术的书籍有一本书推荐:<<.net 和windows应用程序调试>>,清华出版社的,也是Visual https://www.wendangku.net/doc/8d12267508.html,产品组审校的

4.理解接口和抽像类.

这是.NET的核心之一了,大型的应用软件中,要设计成高可扩展性的应用程序,得依赖松散耦合的原则,高内聚低耦合,接口负责只作业务的定义,把定义和现实很好的剥离了,能够更好的满足这种原则,所以在.NET的设计中不用接口是不敢想像的,在C#中是采用单类多接口的继承方式来进行实现,C++中是多类继承的方式,在petshop4.0中整个的技术架构就是用的接口,在.net Framework(1.0,1.1,2.0,3.0)中也全部是采用接口的设计思想!

其实这一关也是学习JAVA和C++所共同的核心,当然C++是没有接口,只提供抽像类.

5.代码设计.

写出好的代码,得首先要有一个好的代码结构,学会用设计模式会有助于你取得一个更好的代码结构或一个好的框架,其实常用的设计模式不多,在.NET框架中接口和抽像类是你应用设计模式的基础,也可以这么讲吧,其他的如:MVC基于BS的,抽像工厂,工厂方法,外观模式,适配器模式,命令模式,单件模式等

6.文档.

一个好的产品或软件都是伴随着各种文档产生的,文档的好处不用多说,如要作好一个软件开发人员,熟练办公软件也是基本功!熟悉基本的软件文档内容写法是最好的.

直接实践,能直接参与到项目中当然是最好的,上面的写的这些东西不仅是只适用于C#,如果你有机会作C++或JAVA,都一样可参考

8.业务分析设计.

现在软件行业的门槛很高了,对于国外的软件大厂如SAP,ORACLE,等都已经提供了二次开发的平台,东软,金碟,用友,浪潮,普元等国内大厂商无一不是这样了.他们对软件代码的编写已上升到业务的建模和设计上了.代码是自动生成并编译的.

他们关注你的并不仅仅是写代码的一些能力,还要求你更多的掌握一些业务分析及设计的能力了.纯粹只知道写一些代码和SQL的人才需求越来越少,懂开发,熟悉业务,懂设计的人才更会受到公司的青睐.

永远要记住:

没有业务表现的代码只是一段垃圾代码.在学习技术的同时要不断的加强业务的学习!

后记:

我发现某些论坛上有一部分的朋友发言说,现在进入软件行业的门槛很低了-----他们觉得在外面花4块钱就可以买一张DVD安装碟把开发工具,数据库一装,网上找点资料就进入软件

呵呵,真奇怪他们这么说,更奇怪的是一些计算机专业或非计算机专业的在校生,在大一就开始大规模的.NET,或JAVA了,我不反对大一或高中就开始JAVA或.NET

但如果你真正想要比别人更高,学得更好,走得更远,就得老老实实,扎扎实实的在前期要多花点时间把一些基础的知识打牢!很多人认为这只是理论,不实际,你就大错特错.

可能有些朋友都装上了windows vista了,玩的是vistaul studio .net 2008了,但你知道这里面核心的东西是那些吗?你了解吗?微软公司的东西更新特别快,这也是大家的一个共认的事实.但你不要虻目的瞎跟,搞微软的东西是有规律可循,COM这个名词对于70年代出生的技术人是很熟悉了,COM是基于接口来设计的,微软的产品也是从COM开始大规模的面世了.但你不要认为现在都.NET了,还什么COM呀,你知道.NET平台最核心的东西之一就是CLR吧,CLR就是一个COM的封装.它是一个运行时的东西了.只要你装了.NET2003 ,还是.NET2005,这个家伙就在你机器一起动的时候就自动启动了.

十几年的东西了,你们都感觉它们远去了,但真的远去了吗?它每天都在你身边!!!!!只是你没去了解而已!!!!!!!

我讲这些也不是说你一定要精通操作系统,精通widnows,COM,学东西是要分层次的,全部一起搞不对,全部不搞也不对,要有重点,比如,你现在学习.NET或JAVA,可能在学习或开发的过程中适当的培养你一些分析的能力,在你学技术作开发的同时,适当学习或进修业务的知识,这样你的知识体系就不会形成一个断层,这样的人才,就是一个可发展的人才.你这样才会被公司看重.你这样才能胜过你的竞争对手.

奇怪的现象不只是上面说的,有些已经上班作开发的朋友,经常说作开发没意思,想要跳,但要他自己仔细问问自己.又不懂业务又不懂设计,跳个P呀,跳到哪里都是一样!

我很喜欢看武侠电影,像邵氏的功夫片几十上百部的收藏了.看了那么多,感觉有一个共同的东西,一个武林高手在成名之前,一般有两件事情少不了.

一是碰到一个高手,这个高手是一个武林前辈,也有可能是一个前辈留下的武功秘籍,我们可以理解为碰到高手(有形或无形的);二是努力的训练,好像一般都是一年几年的把功底练好,最后再练好一二手绝招.

呵呵,我们也不一定是要成名,关健是如何又好又快的把东西搞出来.我提到又好又快其实有三个含义,第一你要作得出这个东西,第二是要好,因为这一点你就可以跟别人作的不一样,第三是快,现在的社会如果东西你可以作出来,也作得好,但比对手慢了一二年,这样也不行,学东西也一样是这样的道理.

写给我的后来者:

文档规范有点老了,10年过去了,软件行业发生了翻天覆地的变化.但不管怎么变化,"输入输出input/output"的原则永远不会变(计算机只是容量的变大,速度的变大) 现在信息化是各行各业颠峰对决的焦点了.这要求对于从事信息化建设的要求也越来越高了,对于我的后来者你将要什么样的方式和什么样的心态来应对咧,我将提出下面几点建议:

(主要针对是软件开发方面)

三个方面:

-------------------------------------------------------

一.软件流程:(软件工程的学习)

二.业务知识:(相关行业的业务学习)

三.技术平台的学习:(计算机基础,语言,开发工具,数据库等学习)

详解

-------------------------------------------------------

一.软件流程部分:

现在的软件,体积一年比一年大,一年比一年复杂,项目组中成员也越来越多,如果没有一个好的规范化流程,是很难开发出好的软件,大家多多了解一些软件工程方面的知识软件开发流程及规范当然也是跟管理会有很紧的联系了,微软的windows及.NET开发都是好几千人的开发团队了,中国目前离这种程度还差距太远,技术的差距是其次,最主要的还是管理

.不过从这一个方面来看说明你们现在的加入也是有很大的机会,但也更多的是挑战.学会规范化的操作流程,是你首先从事软件开发中的当务之急,首要任务.不要认为现在只是几个人的开发团队

,公司就这么一点人,还搞什么规范,千万别这么想,以后你一但有机会跳到更大的公司去了,对这个要求就很严格了,所以规范从现在作起

记住:你要作大作强,规范是你的第一关.

二.业务知识

很多刚毕业的朋友和想进入这个行业的朋友都是很缺业务知识,作为一个合格的软件从业人员,你得必须要掌握必要的业务知识.其实这也是你和竞争者的一个重要考核指标了.

懂业务的人肯定能更好的知道软件是要如何表达业务的,需要表达什么样的业务.对于业务的学习,应该要提前对一些感兴趣的行业进行关注,收集一些业务知识的资料并进行学习.

要记住:不能表达业务的软件只是一堆垃圾代码.

三.技术平台的学习

估计大家花在这里的时间最多了,现在主流的平台.NET和SUN的J2EE都是日当正午,只要熟练一个平台,都是可以,很多在校的朋友建议先把计算机的基础打牢,如计算原理,操作系统原理,数据结构,数据库等.

想进入这个行业的其他朋友也应该要先适当的了解一下这些知识也是必要和必须的.

在这个学习过程中,技术框架和数据库是要多花点时间,语言的使用要结合具体的项目是最好的.

注意的事项:

-------------------------------------------------------

1.学东西忘记自己的基础和学历,专业

很多的人说,学软件开发有什么学历要求,如果因为学历你就想放弃吗?只要你喜欢,你就尽情的去学吧,不懂就去学.

不要说英语不好,英语过八级对于专业的英语单词也同样翻译不准的.从现在开始你都是可以积蓄.

2.学东西要当作工作的状态和心态去做

3.在没有高手带你的情况下,你最好不要学的面太广太多,先专一个技术平台.

上位机监控软件的开发

深圳PLC编程、深圳上位机编、承接自动化项目深圳变频节能改造项目、自动化设备改造 与维修、PLC程序修改解密、上位机软件定制、免费提供自动化解决方案咨询。 1、工业过程控制系统: 提供西门子、S7-200, S7-300, S7-400,三菱FX1N FX2N,施耐德、欧姆龙、松下、台达、LG、AB 等主流PLC编程,研华、泓格模块、安装于防爆区域P+F turck、MTL远程I/O产品 选型、组态编程,各种通讯转换模块、HM I 、现场温度、压力仪表选型。为您的项目提供解决方案咨询,技术方案、投标协议图纸等制作、现场设备程序编写、组态、调试、用户培训验收等技术服务。 2、上位机软件: 软件根据您的项目需求可以提供LabVIEW、VC、VB 等软件平台,同时为了方便您对数据的 查询和处理,提供SQLSERVE R MySq卜嵌入式数据库SQLite等数据库系统,软件具备实时曲线、棒图、历史曲线、打印报表、企业内部局域网连接客户端实现联网查询功能,界面友好丰富。可更具具体需求开发相应功能。软件支持串口RS485\RS422\RS232以太网接口、 下位机包括PLC采集模块、各种智能仪表等。 组态软件编程:Wincc、iFix、组态王等应用范围各工控项目监控软件、仪表模块初始化调试软件、数据采集和仪器控制软件 3、变频节能改造项目:变频节能改造:水泵、风机、空压机、注塑机、中央空调、恒压供水等 VB/VC 等上位机软件开发 硫化机PLC上位机监控软件的开发 作者:佚名来源:本站整理发布时间:2009-6-17 13:16:00 [收藏][评论]随着硫化机自动控制水平的不断提高,硫化机的温度压力数据采集记录方法经历了圆盘记录仪、打点式记录仪、智能化无纸记录仪乃至目前较先进的上位机监控系统。上位机监控系统界面友好、控制安全可靠、精度高、数据存储量大,已越来越受用户青睐。笔者采用电阻式触摸平板电脑作为上位机,把现场数据通过传感器采集经PLC处理后送入上位机,组成一个 监控系统。 1监控系统构成 整个监控系统由A/ D模块、D/ A模块、CPU传感器、电气转换器、平板电脑组成,如图 1 所示。 上位机对数据进行分析、存盘、综合处理、打印、报警、图形显示、人机对话,并可通过数据传送对PLC进行控制。 2监控软件的设计 2.1 窗体设计在软件的编程过程中,人机界面(MM ,)非常重要,因为它直接与操作员产生信息交流,友好的人机界面要求能真实再现控制设备的状态以及准确的采集所需参数的数据,这主要依靠

汇编语言程序设计课后习题解答宋人杰2版

第1章汇编语言基础知识 1.简述汇编语言源程序、汇编程序、和目标程序的关系。 答:用汇编语言编写的程序称为汇编源程序;汇编源程序在汇编程序的翻译下转换成计算机语言变成目标程序。 2. 简述汇编语言的优缺点。 答:(1) 汇编语言的优点: ①可有效地访问、控制计算机各种硬件设备,如磁盘、存储器、CPU、I/O端口等。. ②目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。 ③可与高级语言配合使用,应用十分广泛。 (2) 汇编语言的缺点: ①通用性和可移植性较差 ②相对于高级语言来说较繁锁、易出错、不够直观。 3.CPU的寻址能力为8KB,那么它的地址总线的宽度为多少? 答:13 4. 1KB的存储器有多少个存储单元? 答:1024个字节。 5. 指令中的逻辑地址由哪两部分组成? 答:指令中的逻辑地址由段基址和偏移量组成。 6. 以下为用段基址:偏移量形式表示的内存地址,试计算它们的物理地址。 (1) 12F8:0100 (2) 1A2F:0103 (3) 1A3F:0003 (4) 1A3F:A1FF 答: (1) 13080H (2) 1A3F3H (3) 1A3F3H (4) 245EFH 7. 自12FA:0000开始的内存单元中存放以下数据(用十六进制形式表示): 03 06 11 A3 13 01,试分别写出12FA:0002的字节型数据、字型数据及双字型数据 的值。 答:字节型数据:11H 字型数据:0A311H 双字型数据:0113A311H 8. 内存中某单元的物理地址是19318H,段基地址为1916H,则段内偏移地址为 多少?若段内偏移地址为2228H,则段基地址为多少? 答:若段基地址为1916H,则段内偏移地址为01B8H;若段内偏移地址为2228H,则段基地址为170FH 9. 在实模式环境中,一个段最长不能超过多少字节? 答:64KB 10. 实模式可寻址的内存范围是多少? 答:1MB

《汇编语言与接口技术》期末考试试题及答案

第一学期期末考试 汇编语言与接口技术 试卷A 卷 考试方式:闭卷 考试时间:120分钟 卷面总分:100分 一、选择题(本题共20小题,每题2分,共40分) 1. 汇编源程序的后缀名是 ( C ) A 、exe B 、.obj C 、.asm D 、.lib 2. 作为8位有符号数补码,80H 的真值是 ( C ) A 、0 B 、-2 C 、-128 D 、128 3. 8086 CPU 内部能够记录代码段段地址的寄存器是 ( D ) A 、DS B 、IP C 、CX D 、CS 4. 若(AX)=35F0H ,(CX)=00B8H ,当AND AX ,CX 指令执行后,AX 寄存器的值为 ( B ) A 、 1400H B 、 00B0H C 、 0000H D 、 0FFFFH 5. 若(SP)=1000H ,则执行指令PUSH AX 后SP 的值为 ( B ) A 、0FFFH B 、0FFEH C 、1002H D 、1001H 6. Mul BX 指令隐藏操作数的寄存器是 ( D ) A 、BX B 、CX C 、SI D 、AX

7.能够将AL中的1、3、5位取反的指令是 ( C ) A、AND AL , 2AH B、OR AL , 2AH C、XOR AL , 2AH D、TEST AL , 2AH 8.循环指令LOOP结束循环的条件是 ( D ) A、CX≠0 B、ZF=0 C、IF=0 D、CX=0 9.除法指令DIV BL中,被除数在寄存器 ( A ) A、AX B、DX C、DX:AX D、BX 10.输出单个字符的2号DOS功能调用的入口参数是 ( C ) A、AH B、AL C、DL D、DH 11.以下对伪指令的描述正确的是 ( D ) A、伪指令没有操作数 B、伪指令没有目标代码 C、汇编程序中伪指令可有可无 D、伪指令不会被执行 12.某伪指令X=12H中所定义的X是 ( B ) A、变量 B、常量 C、标号 D、段名 13.下面指令序列执行后完成的运算,正确的算术表达式应是( D ) MOV AL,BYTE PTR X SHL AL,1 DEC AL MOV BYTE PTR Y,AL A、Y=X*2+1 B、X=Y*2+1 C、X=Y*2-1 D、Y=X*2-1 14.下面指令结束后目标操作数不变化的是 (D ) A、INC BX B、SUB AX,BX

说把手教你编写LabView上位机程序

手把手教你从零开始用labview编写智能车上位机程序(1) labview, 智能, 手把手, 程序, 编写 软件安装和基础知识准备 其几天把我的上位机软件发布在里这里,发现大家对这个还是很感兴趣的,因为上位机软件对于做摄像头的来说是必备的工具(也许有人说他不需要,那我很佩服他的判断能力和程序调试能力,他肯定是天才级别的人物,希望我能拜他为师,呵呵!)。不过这种东西还是自己编写的用起来顺手。想显示什么就显示什么。选择labview编写是因为labview容易上手,我从完全不会到编写到完成那个上位机软件也就用了一个星期而已。如果学VC,MFC的话,你估计对用上1个月也许还做不出什么。但是labview功能也很强大,可是我们用到的并不多,网上教程多,可是我们能用上的也并不多,学起来麻烦。我下面就专门针对这个labview的智能车上位 机软件的编写来讲解吧! 首先发布一个关于labview的广告,大家了解一下labview主要是干什么的。 LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的 程序是框图的形式。 与C和BASIC一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函数库。LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及 其子程序(子VI)的结果、单步执行等等,便于程序的调试。 虚拟仪器(virtual instrumention)是基于计算机的仪器。计算机和仪器的密切结合是目前仪器发展的一个重要方向。粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。另一种方式是将仪器装入计算机。以通用的计算机硬件及操作系统为依托,实现各种仪器功能。虚拟仪器主要是指这种方式。下面的框图反映了常见的虚拟仪器方案。 虚拟仪器的主要特点有: 尽可能采用了通用的硬件,各种仪器的差异主要是软件。 可充分发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的仪器。 用户可以根据自己的需要定义和制造各种仪器。 虚拟仪器实际上是一个按照仪器需求组织的数据采集系统。虚拟仪器的研究中涉及的基础理论主要有计算机数据采集和数字信号处理。目前在这一领域内,使用较为广泛的计算机语言是美国NI公司的LabVIEW。 虚拟仪器的起源可以追溯到20世纪70年代,那时计算机测控系统在国防、航天等领域已经有了相当的发展。PC机出现以后,仪

指令系统和汇编语言程序的设计实验

第二章指令系统和汇编语言程序设计实验 本章实验主要包括指令系统和汇编语言程序设计两部分。采用软件模拟调试的方法, 目的在于通过这些实验可以使学生巩固所学知识, 加深对 MCS-51单片机部结构、指令系统的理解,更进一步掌握汇编语言程序设计的方法和技巧。 第一节指令系统实验 实验一熟悉键盘操作及数传指令编程设计 一、实验目的 1.熟悉软件模拟调试的环境及键盘操作。 2.掌握汇编语言程序设计的方法,加深对指令的理解。 3.学会软件模拟调试和察看修改观察项的方法。 二、实验容 印证数据传送指令的功能、寻址方式以及 PC 指针、 SP 指针、 DPTR 指针、Ri 指针分别对代码段、堆栈段、外扩数据存储器段、位寻址区等不同存储器的访问方式。 三、实验步骤 1.进入调试软件环境,输入源程序; 2.汇编源程序; 3.用单步方式运行程序; 4.检查并记录各寄存器和存储单元容的变化。 四、程序清单

1. 部 RAM 数据传送 需要查看的数据有 30H,31H,A,R0等。 ORG 0000H MOV R0,#30H MOV 30H,#45H MOV 31H,#46H MOV R2,30H MOV 02H,31H MOV A,#87H MOV 0E0H,30H MOV 30H,A MOV 31H,R0 SJMP $ END 2. 外部数据传送 需要查看的数据有外部数据存储器单元 2000H ,外部程序存储器单元2001H 。 ORG 0000H MOV A,#89H MOV DPTR,#2000H

MOVX DPTR,A INC DPTR CLR A MOVC A,A+DPTR SJMP $ ORG 2000H DB 44H DB 78H DB 67H END 3. 堆栈操作 需要查看的数据有 50H 、 51H 、 A 及 SP 指针和堆栈区中数据随 PUSH 和POP 指令执行后的变化情况和数据的存放次序等。 1 可用于保护现场和恢复现场的程序 ORG 0000H MOV SP,#5FH MOV 50H,#3BH MOV 51H,#2FH MOV A,#12H

汇编语言程序的设计试卷与答案

汇编语言程序设计试卷 一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题1分,共20分) 1.十六进制数88H,可表示成下面几种形式,请找出错误的表示()。 ① 无符号十进制数136 ② 带符号十进制数-120 ③ 压缩型BCD码十进制数88 ④ 8位二进制数-8的补码表示 2.指令指针寄存器是()。 ① IP ② SP ③ BP ④ PSW 3.当执行指令ADD AX,BX后,若AX的内容为2BA0H, 设置的奇偶标志位PF=1,下面的叙述正确的是()。 ① 表示结果中含1的个数为偶数 ② 表示结果中含1的个数为奇数 ③ 表示该数为偶数 ④ 表示结果中低八位含1的个数为偶数 4.完成将累加器AL清零,并使进位标志CF清零, 下面错误的指令是()。 ① MOV AL,00H ② AND AL,00H

③ XOR AL,AL ④ SUB AL,AL 5.下列指令执行后总是使CF=0,OF=0的是()。 ① AND ② NEG ③ NOT ④ INC 6.完成同指令XCHG AX,BX相同功能的指令或指令序列是()。 ① MOV AX,BX ② MOV BX,AX ③ PUSH AX POP BX ④ MOV CX,AX MOV AX,BX MOV BX,CX 7.设AH=0,AL=06H,BL=09H,执行指令 ADD AL,BL AAA 之后,其结果应是()。 ① AH=01,AL=05 ② AH=1 AL=15 ③ AH=0 AL=0FH ④ AH=0 AL=05 8.设AL=0B4H,BL=11H,指令“MUL BL”和指令“IMUL BL”分别执行后OF,CF的值为

1632位微机原理、汇编语言及接口技术第五章课后习题答案-

1632位微机原理、汇编语言及接口技术第五章课后习题答案-

习题 5.2 在半导体存储器中, RAM 指的是 随机存取存储器 ,他可读可写,但断电后信息一般会丢失 ; 而 ROM 指的是 只读存储器 , 正常工作时只能从中读取信息, 但断电后信息不会丢失。以EPROM 芯片 2764为例, 其存储容量为 8K ×8位, 共有 8 条数据线和 13 条 地址线。用它组成 64KB 的 ROM 存储区共需 8 片 2764芯片。 习题 5.7 什么是存储器连接中的 “ 位扩充 ” 和 “ 地址扩充 ” ? 欲组成 32KB 的 RAM 存储区,在采用容量 1K ×4位的静态 RAM 芯片或容量16K ×1位的静态 RAM 芯片的情况下,各需要多少芯片? 在位方向和地址方向上各要进行什么样的扩充?请画出采用 2114芯片时的连接示意图。解答: ?位扩充—— 存储器芯片数据位数小于主机数据线数时,利用多个存储器芯片在数据 “ 位 ” 方向的扩充; ?地址扩充 (字扩充——当一个存储器芯片不能满足系统存储容量时, 利用多个存储器芯片在 “ 地址 ” 方向的扩充 ?组成 32KB 存储空间,用 SRAM 2114(1K ×4需要 64个芯片; ?组成 32KB 存储空间,用 DRAM 4116(16K ×1需要 16个芯片; ?它们都需要进行位扩充和地址扩充

习题 5.8 ?存储芯片为什么要设置片选信号? ?它与系统地址总线有哪些连接方式? ?采用何种连接方式可避免地址重复? ?采用哪些连接方式可节省用于译码的硬件? 解答: ?片选信号说明该存储器芯片是否被选中正常工作, 设置它可以比较方便地实现多个存储器芯片组成大容量的存储空间 ?存储器片选信号通常与 CPU 地址总线的高位地址线相关联,可以采用“ 全译码 ” 、 “ 部分译码 ” 、 “ 线选译码 ” 方式 ?采用全译码方式可以避免地址重复 ?采用部分或线选译码可以节省译码硬件

高级语言、汇编语言及机器语言的区别

计算机语言具有高级语言和低级语言之分。而高级语言又主要是相对于汇编语言而言的,它是较接近自然语言和数学公式的编程,基本脱离了机器的硬件系统,用人们更易理解的方式编写程序。 低级语言分机器语言(二进制语言)和汇编语言(符号语言),这两种语言都是面向机器的语言,和具体机器的指令系统密切相关。机器语言用指令代码编写程序,而符号语言用指令助记符来编写程序。 高级语言并不是特指的某一种具体的语言,而是包括很多编程语言,如目前流行的java,c,c++,C#,pascal,python,lisp,prolog,FoxPro,VC,易语言,中文版的C语言习语言等等,这些语言的语法、命令格式都不相同。 高级语言与计算机的硬件结构及指令系统无关,它有更强的表达能力,可方便地表示数据的运算和程序的控制结构,能更好的描述各种算法,而且容易学习掌握。但高级语言编译生成的程序代码一般比用汇编程序语言设计的程序代码要长,执行的速度也慢。所以汇编语言适合编写一些对速度和代码长度要求高的程序和直接控制硬件的程序。高级语言、汇编语言和机器语言都是用于编写计算机程序的语言。 高级语言程序“看不见”机器的硬件结构,不能用于编写直接访问机器硬件资源的系统软件或设备控制软件。为此,一些高级语言提供了与汇编语言之间的调用接口。用汇编语言编写的程序,可作为高级语言的一个外部过程或函数,利用堆栈来传递参数或参数的地址。 机器语言(machine language)是一种指令集的体系。这种指令集,称机器码(machine code),是电脑的CPU可直接解读的数据。机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指指令系统 它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。机器语言具有灵活、直接执行和速度快等特点。 一条指令就是机器语言的一个语句,它是一组有意义的二进制代码,指令的基本格式如,操作码字段和地址码字段,其中操作码指明了指令的操作性质及功能,地址码则给出了操作数或操作数的地址。 用机器语言编写程序,编程人员要首先熟记所用计算机的全部指令代码和代码的涵义。手编程序时,程序员得自己处理每条指令和每一数据的存储分配和输入输出,还得记住编程过程中每步所使用的工作单元处在何种状态。这是一件十分繁琐的工作。编写程序花费的时间往往是实际运行时间的几十倍或几百倍。而且,编出的程序全是些0和1的指令代码,直观性差,还容易出错。除了计算机生产厂家的专业人员外,绝大多数的程序员已经不再去学习机器语言了。 汇编语言(AssemblyLanguage)是面向机器的程序设计语言。在汇编语合中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。汇编程序把汇编语言翻译成机器语言的过程称为汇编.

《汇编语言与接口技术》习题解答(第三章)

3.16 解: mov ah,1 ;只允许输入小写字母 int 21h sub al,20h ;转换为大写字母 mov dl,al mov ah,2 int 21h ;显示 3.18 解: mov ax, bufX cmp ax, bufY jge done mov ax, bufY done: mov bufZ, ax 3.19 解: .model small .stack .data bufX dw -7 signX db ? .code .startup cmp bufX,0 ;test bufX,80h

jl next ;jnz next mov signX,0 jmp done next: mov signX,-1 done: .exit 0 end 3.20 解: mov dl,’2’ mov ax,bufX cmp ax,bufY je next1 dec dl next1: cmp ax,bufZ je next2 dec dl next2: mov ah,2 int 21h 3.22 编制程序完成12H、45H、0F3H、6AH、20H、0FEH、90H、0C8H、57H和34H 等10个字节数据之和,并将结果存入字节变量SUM中(不考虑溢出和进位)。 ;wjxt322.asm .model small .stack .data b_data db 12h,45h,0f3h,6ah,20h,0feh,90h,0c8h,57h,34h ;原始数据num equ 10 ;数据个数 sum db ? ;预留结果单元 .code .startup xor si, si ;位移量清零 xor al, al ;取第一个数 mov cx, num ;累加次数 again: add al, b_data[si] ;累加 inc si ;指向下一个数 loop again ;如未完,继续累加 mov sum, al ;完了,存结果 .exit 0 end 3.30 解: lucase proc push bx mov bx,offset string cmp al,0 je case0

上位机人机界面组态软件HMIMaker

上位机人机界面组态软件HMIMaker HMIMaker专为易显工控机(工控电脑),VGA工控机开发的的界面编辑设计软件! 具有绘图、按钮、位开关、字符控件、数据监控、实时曲线、动态图片、用户与密码设置等功能,完善的界面设计控件和通讯协议,使用简单,灵活,方便。只需用单机机或PLC通过串口简单发送指令,您的显示部分就一切轻松搞定!"所见即所得"、"0"代码!快速生成超炫图形界面设计,如"制作PPT"一样容易、快速!支持离线和在线模拟,快速验证您的设计效果,方便设计和调试,大大减轻软件开发人员在人机界面开发的负担和提高开发效率,专心于专业产品的开发,避免重复性劳动。为您大大地短了产品的开发周期。 HMIMaker组态软件有以下几方面的功能: (1)强大的界面显示组态功能。可视化的风格界面、丰富的工具栏,操作人员可以直接进人开发状态,节省时间。丰富的图形控仵和工况图库,既提供所需的组件,又是界面制作向导。提供给用户丰富的作图工具,丰富的动画连接方式,如隐含、闪烁、移动等等,使界面生动、直观。可随心所欲地绘制出各种工业界面,并可任意编辑,从而将开发人员从繁重的界面设计中解放出来。 (2)良好的开放性。指组态软件能与多种通信协议互联,支持多种硬件设备。开放性是衡量一个组态软件好坏的重要指标。组态软件向下应能与低层的数据采集设备通信,向上能与管理层通信,实现上位机与下位机的双向通信。 (3) 丰富的功能模块。提供丰富的控件功能库,满足用户的测控要求和现场需求。利用各种功能模块,完成实时监控产生功能报表显示历史曲线、实时曲线、提示报警等功能,使系统具有良好的人机界面,易于操作,系统既叫适用于单机集中式控制、DCS分布式控制,也可以是带远程遇信能力的远程测控系统. (4)强大的数据库。配有实时数据库,可存储各种数据,如模拟量、离散量、字符型等,实现与外部设备的数据交换。

汇编语言程序设计

汇编语言程序设计 实验报告 实验名称上机过程及顺序结构与分支结构程序设计实验班级 学号 姓名 日期2017年10月26号 成绩 评阅人 软件学院

一、实验目的与意义 理解并熟练掌握汇编语言程序设计过程中的编辑、汇编、链接和调试等各个步骤,提高对汇编课程内容的理解和汇编语言的掌握,通过上机练习加深对课程内容的理解和掌握。通过汇编语言编制的程序上机调试、运行检验程序设计是否正确。熟悉和掌握编辑、汇编、连接和调试四个实用程序的使用方法,掌握调试程序中的几个常用命令的使用方法。熟悉其基本的指令操作,debug调试操作命令以及分支结构、顺序结构和循环结构的程序设计。 二、实验环境 操作系统:Microsoft Windows8 集成环境:Masm for Windows 上机地点:信息楼B405教室 三、实验的预习内容 预习的主要内容: 1. 使用DEBUG命令的方法; 2. 熟悉掌握从理论上定义数据的类型(即DB,DW,DD,); 3. 分支结构和顺序结构的步骤以及相关的指令; 4. 常用的标志位状态及相应的作用; 实验思路: 在对题目进行分析后,分析出解题方法,并做出与实验思路相对应的程序框图。依照程序框图的内容输入相对应的代码,最终在调试代码后,发现并解决一系列的汇编语言错误。进一步优化算法。实验之前必须了解十进制、十六进制和ASCII码之间的转换。预习查表法相关命令,掌握顺序程序的结构,从键盘输入数据的命令及显示到屏幕上的命令。 实验一: 题目1:将程序编辑、汇编、连接并通过集成环境中的debug调试,观察运行结果;用E命令修改指定地址的数据,再用G命令执行程序查看变化,用A 命令将加法指令修改成减法指令,再将其编译运行,查看寄存器值变化的异同。 题目2:分别用DB、DW和DD数据段9H,0FAH,41H,27H,编译链接之后生成exe文件,再用debug的r命令找到数据段地址,用d命令指定数据段地址,观察汇编后在机器内部对应的存储情况。 实验二: 先设置数据段地址和堆栈段地址;设置堆栈段指针;读取一个字符然后存储在AL中;用BX来存储AL中字符对应的数值;将BX中的值作为偏移地址;并在数据段中查找对应字符串;最终输出结果结束程序。 实验三: 先初始化数据段地址与堆栈段地址;设置堆栈段指针;然后将数据段中的data1放入AL中;读取数据段中的data2并判断data2是否大于0;然后读取数

汇编语言与接口技术 习题解答

习题一解答: 1.3(1)[0.0000]原=0.0000 [0.0000]反=0.0000 [0.0000]补=0.0000 (2)[0.1001]原=0.1001 [0.1001]反=0.1001 [0.1001]补=0.1001 (3)[-1001]原=11001 [-1001]反=10110 [-1001]补=10111 1.4[N]反=1.0101 [N]原=1.1010 [N]补=1.0110 N=-0.1010 1.5(1)原码运算:比较可知,正数较大,用正数减负数,结果为正 反码运算:01010011-00110011=[01010011]反+[-00110011]反=001010011 +[100110011]反=001010011+111001100=000100000 补码运算:01010011-00110011=[01010011]补+[-00110011]补=001010011 +[100110011]补=001010011+111001101=000100000 (2)原码运算:比较可知,负数较大,用负数减正数,结果为负 反码运算:0.100100-0.110010=0.100100+[1.110010]反=0.100100+ 1.001101=1.110001 补码运算:0.100100-0.110010=0.100100+[1.110010]补=0.100100+ 1.001110=1.110010 1.6(1) (11011011)2=(219)10=(001000011001)BCD (2) (456)10=(010*********)BCD (3) (174)8=(124)10=(000100100100)BCD (4) (2DA)16=(730)10=(011100110000)BCD 1.7(1)9876H看成有符号数时,默认为负数的补码,转换为十进制数是:-26506 (2)9876H看成无符号数时,转换为十进制数是:39030 1.8(1)98的压缩BCD码为:10011000B (2)98的非压缩BCD码为:0000100100001000B

什么叫上位机

什么叫上位机,下位机啊,它们是干什么用的啊? #4

级:

‘’‘ PLC组态软件上位机软件 悬赏分:0 - 解决时间:2009-3-25 11:53 PLC组态软件和上位机软件是一回事吗? 提问者:562727077 - 二级最佳答案 组态软件包含了人机界面的功能和与PLC通讯的功能,可以直接编写程序后,使PLC的状态得到形象的体现,同时也可以对PLC下达指令。 上位机包含的意义更广,它不紧包含了组态软件,也可能是VC\VB之类编写的人机界面,或者是类似触摸屏之类的控制件。 因此两者概念不同,不过,通常人所提的上位机一般都指组态软件。

组态软件 百科内容来自于: 组态软件 是指一些数据采集与过程控制的专用软件,它们是在自动控制系统监控层一级的软件平台和开发环境,使用灵活的组态方式,为用户提供快速构建工业自动控制系统监控功能的、通用层次的软件工具。 组态软件应该能支持各种工控设备和常见的通信协议,并且通常应提供分布式数据管理和网络功能。对应于原有的HMI(人机接口软件,Human Machine Interface)的概念,组态软件应该是一个使用户能快速建立自己的HMI的软件工具,或开发环境。在组态软件出现之前,工控领域的用户通过手工或委托第三方编写HMI 应用,开发时间长,效率低,可靠性差;或者购买专用的工控系统,通常是封闭的系统,选择余地小,往往不能满足需求,很难与外界进行数据交互,升级和增加功能都受到严重的限制。组态软件的出现,把用户从这些困境中解脱出来,可以利用组态软件的功能,构建一套最适合自己的应用系统。随着它的快速发展,实时数据库、实时控制、SCADA、通讯及联网、开放数据接口、对I/O设备的广泛支持已经成为它的主要内容,随着技术的发展,监控组态软件将会不断被赋予新的内容。 国外组态软件 1、InTouch:Wonderware的InTouch软件是最早进入我国的组态软件。在80年代末、90年代初,基于Windows3.1的InTouch软件曾让我们耳目一新,并且InTouch提供了丰富的图库。但是,早期的InTouch软件采用DDE方式与驱动程序通信,性能较差,最新的InTouch7.0版已经完全基于32位的Windows平台,并且提供了OPC支持。 2、Fix:Intellution公司以Fix组态软件起家,1995年被爱默生收购,现在是爱默生集团的全资子公司,Fix6.x软件提供工控人员熟悉的概念和操作界面,并提供完备的驱动程序(需单独购买)。Intellution将自己最新的产品系列命名为iFiX,在iFiX中,Intellution提供了强大的组态功能,但新版本与以往的6.x版本并

汇编语言程序设计第3章【课后答案】

汇编语言程序设计第四版 【课后习题答案】--囮裑為檤第3章汇编语言程序格式 〔习题〕伪指令语句与硬指令语句的本质区别是什么伪指令有什么主要作用 〔解答〕 伪指令语句与硬指令语句的本质区别是能不能产生CPU动作; 伪指令的作用是完成对如存储模式、主存变量、子程序、宏及段定义等很多不产生CPU动作的说明,并在程序执行前由汇编程序完成处理。 〔习题〕什么是标识符,汇编程序中标识符怎样组成 〔解答〕 为了某种需要,每种程序语言都规定了在程序里如何描述名字,程序语言的名字通常被称为标识符; 汇编语言中的标识符一般最多由31个字母、数字及规定的特殊符号(如-,$,,@)组成,不能以数字开头。 〔习题〕什么是保留字,汇编语言的保留字有哪些类型,并举例说明。 〔解答 保留字是在每种语言中规定了有特殊意义和功能的不允许再做其它用处的字符串;汇编语言的保留字主要有硬指令助记、伪指令助记符、运算符、寄存器名以及预定义符号等。汇编语言对大小写不敏感。如定义字节数和字符串的DB就是伪指令助记符。 〔习题〕汇编语句有哪两种,每个语句由哪4个部分组成 〔解答〕 汇编语句有执行性语句和说明性语句; 执行性语句由标号、硬指令助记符、操作数和注释四部分组成; 说明性语句由名字、伪指令助记符、参数和注释四部分组成 〔习题〕汇编语言程序的开发有哪4个步骤,分别利用什么程序完成、产生什么输出文件。 〔解答〕 ⒈编辑文本编辑程序汇编语言源程序.asm ⒉汇编汇编程序目标模块文件.obj ⒊连接连接程序可执行文件.exe或

⒋调试调试程序应用程序 〔习题〕区分下列概念: (1)变量和标号 (2)数值表达式和地址表达式 (3)符号常量和字符串常量 〔解答〕 (1)变量是在程序运行过程中,其值可以被改变的量;标号是由用户自定义的标识符,指向存储单元,表示其存储内容的逻辑地址。 (2)数值表达式一般是由运算符连接的各种常数所构成的表达式,地址表达式是由名字、标号以及利用各种的操作符形成的表达式。 (3)在程序中,为了使常量更便于使用和阅读,经常将一些常量用常量定义语句定义为符号常量,被一对双引号括起来的若干个字符组成的字符序列被称为字符串常量。 〔习题〕假设myword是一个字变量,mybyte1和mybyte2是两个字节变量,指出下列语句中的错误原因。 (1) mov byte ptr [bx],1000 (2) mov bx,offset myword[si] (3) cmp mybyte1,mybyte2 (4) mov al,mybyte1+mybyte2 (5) sub al,myword (6) jnz myword 〔解答〕 (1)1000超出了一个字节范围 (2)寄存器的值只有程序执行时才能确定,而offset是汇编过程计算的偏移地址,故无法确定,改为lea bx,myword[si] (3)两个都是存储单元,指令不允许 (4)变量值只有执行时才确定,汇编过程不能计算 (5)字节量AL与字量myword,类型不匹配 (6)Jcc指令只有相对寻址方式,不支持间接寻址方式 〔习题〕OPR1是一个常量,问下列语句中两个AND操作有什么区别 AND AL,OPR1 AND 0feh 〔解答〕

《汇编语言与接口技术》答案习题解答(第三章)

《汇编语言与接口技术》 答案习题解答(第三章) -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

3.16 解: mov ah,1 ;只允许输入小写字母 int 21h sub al,20h ;转换为大写字母 mov dl,al mov ah,2 int 21h ;显示 3.18 解: mov ax, bufX cmp ax, bufY jge done mov ax, bufY done: mov bufZ, ax 3.19 解: .model small .stack .data bufX dw -7 signX db .code .startup cmp bufX,0 ;test bufX,80h

jl next ;jnz next mov signX,0 jmp done next: mov signX,-1 done: .exit 0 end 3.20 解: mov dl,’2’ mov ax,bufX cmp ax,bufY je next1 dec dl next1: cmp ax,bufZ je next2 dec dl next2: mov ah,2 int 21h 3.22 编制程序完成12H、45H、0F3H、6AH、20H、0FEH、90H、0C8H、57H和34H等10个字节数据之和,并将结果存入字节变量SUM中(不考虑溢出和进位)。 ;wjxt322.asm .model small .stack .data b_data db 12h,45h,0f3h,6ah,20h,0feh,90h,0c8h,57h,34h ;原始数据 num equ 10 ;数据个数 sum db ;预留结果单元 .code .startup xor si, si ;位移量清零 xor al, al ;取第一个数 mov cx, num ;累加次数 again: add al, b_data[si] ;累加 inc si ;指向下一个数 loop again ;如未完,继续累加 mov sum, al ;完了,存结果 .exit 0 end 3.30 解:

上位机快速开发教程

https://www.wendangku.net/doc/8d12267508.html,上位机开发 10自动化胡志强

目录 一、准备工作 (3) 二、串口通信常识 (3) 常用属性和方法 (3) 三、开发步骤(仅供参考) (4) 四、源代码 (9) 五、程序中用到的几个函数解释: (13)

一、准备工作 一台装有VS2010的计算机,用于测试的虚拟串口软件。同时你必须具有VB基础知识,这个VB上位机开发是入门级的,仅将https://www.wendangku.net/doc/8d12267508.html,通信基础方法稍作介绍。 二、串口通信常识 在串口通信中,通过编写单片机程序知道,我们应对如下参数进行设置:波特率、数据位和停止位、奇偶校验位。如果自己编写上位机的时候,我们考虑的不能仅仅是这些了,下面介绍上位机开发过程中需要特别注意的知识点。 MSComm控件提供了两种处理通信的方式:一种为事件驱动方式,该方式相当于一般程序设计中的中断方式。当串口发生事件或错误时,MSComm控件会产生OnComm事件,用户程序可以捕获该事件进行相应处理。 常用属性和方法 利用MSComm控件实现计算机通信的关键是理解并正确设置MSComm控件众多属性和方法。以下是MSComm控件的常用属性和方法: ●Commport:设置或返回串口号。其值从COM1到COM16。 ●Settings:以字符串的形式设置或返回串口通信参数。 ●Portopen:设置或返回串口状态。 ●InputMode:设置或返回接收数据的类型。有文本和二进制两种类型。 ●Inputlen:设置或返回一次从接收缓冲区中读取字节数。 ●InBufferSize:设置或返回接收缓冲区的大小,缺省值为1024字节。 ●InBufferCount:设置或返回接收缓冲区中等待计算机接收的字符数。 ●Input:从接收缓冲区中读取数据并清空该缓冲区,该属性设计时无效,运行时只读。 ●OutBufferSize:设置或返回发送缓冲区的大小,缺省值为512字节。 ●OutBufferCount:设置或返回发送缓冲区中等待计算机发送的字符数。 ●Output:向发送缓冲区发送数据,该属性设计时无效,运行时只读。 ●Rthreshold:该属性为一阀值。当接收缓冲区中字符数达到该值时,MSComm控件设置Commevent属性为ComEvReceive,并产生OnComm事件。用户可在OnComm事件处理程序中进行相应处理。若Rthreshold属性设置为0,则不产生OnComm事件。例如用户希望接收缓冲区中达到一个字符就接收一个字符,可将Rthreshold设置为1。这样接收缓冲区中接收到一个字符,就产生一次OnComm事件。 ●Sthreshold:该属性亦为一阀值。当发送缓冲区中字符数小于该值时,MSComm控件设置Commevent属性为ComEvSend,并产生OnComm事件。若Sthreshold属性设置为0,则不产生OnComm事件。要特别注意的是仅当发送缓冲区中字符数小于该值的瞬间才产生OnComm 事件,其后就不再产生OnComm事件。例如Sthreshold设置为3,仅当发送缓冲区中字符数从3降为2时,MSComm控件设置Commevent属性为ComEvSend,同时产生OnComm事件,如发送缓冲区中字符始终为2,则不会再产生OnComm事件。这就避免了发送缓冲区中数据未发送完就反复发生OnComm事件。 ●CommEvent:这是一个非常重要的属性。该属性设计时无效,运行时只读。一旦串口发生通信事件或产生错误,依据产生的事件和错误,MSComm控件为CommEvent属性赋不同的代码,同时产生OnComm事件。用户程序就可在OnComm事件处理程序中针对不同的代码,进行相应的处理。

计算机组成原理及汇编语言.

计算机组成原理及汇编语言试卷 10 一、选择题(共20道题) 1.计算机硬件能直接执行的只有()。 A 符号语言 B 机器语言 C 机器语言和汇编语言 D 汇编语言 2.中央处理机(CPU)是指()。 A 运算器 B 控制器 C 运算器和控制器 D 运算器、控制器和主存贮器 3.MOV AX,ES:COUNT[DI] 源操作数的寻址方式是:()。 A 基址寻址 B 立即寻址 C 变址寻址 D 基址变址寻址 4.所谓第二代计算机是以()为主要元器件。 A 超大规模集成电路 B 集成电路 C 晶体管 D 电子管 5.大部分计算机内的减法是用( )来实现的。 A 将被减数加到减数中 B 从被减数中减去减数 C 补数的相加 D 从减数中减去被减数 6.个人计算机是属于()。 A 大型计算机 B 小型机 C 微型计算机 D 超级计算机 7.运算器的主要功能是进行()。 A 逻辑运算 B 算术运算 C 逻辑运算与算术运算 D 初等函数运算 8.计算机中()负责指令译码。 A 算术逻辑单元 B 控制单元 C 存储器译码电路 D 输入输出译码电路 9.如果要处理速度、温度、电压等连续性数据可以使用()。 A 数字计算机 B 模拟计算机 C 混合型计算机 D 特殊用途计算机 10.有些计算机将部分软件永恒地存于只读存储器中,称之为()。 A 硬件 B 软件 C 固件 D 辅助存储 E 以上都不对 11.下列()不属于系统程序。 A 数据库系统 B 操作系统 C 编译程序 D 编辑程序

12.一个完整的计算机系统应包括()。 A 运算器、存贮器、控制器 B 主机和外部设备 C 主机与应用程序 D 配套的硬件设备和软件系统 13.下列()不是输入设备。 A 磁盘驱动器 B 键盘 C 鼠标器 D 打印机 14.以真空管为主要零件的是()。 A 第一代计算机 B 第二代计算机 C 第三代计算机 D 第四代计算机 15.MOV AX,ES:[1000H] 源操作数的寻址方式是:()。 A 立即寻址 B 直接寻址 C 变址寻址 D 基址寻址 16.计算机经历了从器件角度划分的四代发展历程,但从系统结构来看,至今为止绝大多数计算机仍是()式计算机。 A 实时处理 B 智能化 C 并行 D 冯·诺依曼 17.将有关数据加以分类、统计、分析,以取有利用价值的信息,我们称其为()。 A 数值计算 B 辅助设计 C 数据处理 D 实时控制 18.下列()为计算机辅助教学的英文缩写。 A CAD B CAM C CAE D CAI 19.下列描述()是正确的。 A 控制器能理解、解释并执行所有的指令及存储结果 B 一台计算机包括输入、输出、控制、存储及运算五个单元 C 所有的数据运算都在CPU的控制器中完成 D 以上答案都正确 20.第三代计算机采用()。 A 晶体管 B 电子管 C 集成电路 D 超大规模集成电路 二、填空题(共20道题) 1.(D4E5)H ∨()H=(152345)H 2.主存储器的读取规则:“高高低低”规则,即____地址对应高字节,低地址对应____字节。 3.在浮点补码二进制加减运算中,当尾数部分出现_____和_____形式时,需进行左规,此时尾数______移一位,阶码_____,直到______为止。 4.设操作数字长16位(不包括符号位),机器作原码两位乘运算,共需作__次___操作,最多需做___次____操作,才能得到最后的乘积,乘积的符号位需_______。

相关文档
相关文档 最新文档