汇站编程
1. 编程都有哪些语言
使用较普遍的有FORTRAN、ALGOL、COBOL、BASIC、PROLOG、Ada、LISP、SNOBOL、Pascal、C、C++、VC、VB、Delphi、JAVA等。
1、编程语言(programminglanguage),是用来定义计算机程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。最早的编程语言是在电脑发明之后产生的。
2、编程语言的描述一般可以分为语法及语义。语法是说明编程语言中,哪些符号或文字的组合方式是正确的,语义则是对于编程的解释。有些语言是用规格文件定义,例如C语言的规格文件也是ISO标准中一部分,2011年后的版本为ISO/IEC9899:2011,而其他语言(像Perl)有一份主要的编程语言实现文件,视为是参考实现。
3、编程语言俗称"计算机语言",种类非常的多,总的来说可以分成机器语言、汇编语言、高级语言三大类。电脑每做的一次动作,一个步骤,都是按照已经用计算机语言编好的程序来执行的,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的。所以人们要控制计算机一定要通过计算机语言向计算机发出命令。目前通用的编程语言有两种形式:汇编语言和高级语言。
2. 编程好学吗,以后发展怎么样
编程因人而异,建议学习编程还是从小开始学起,学编程未来发展十分不错,在国内编程教学质量比较高的童程童美少儿编程的课程值得去试听一下。
编程是依靠计算机进行运算,并最终得到相应结果的过程。需要将解决的问题思路、方法和手段让计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。想学习编程,最好从小开始学起,人工智能发展越来越深入,AI将与日常生活的所有方面都交织在一起。在国家政策引导和少儿编程制作规模扩大的背景下,我国少儿编程教育在短时间内也呈现爆发式增长,2019年将继续保持火热态势。教育工作者、投资者和家长越来越重视少儿编程,越来越多的儿童进入少儿编程课堂。【学少儿编程可以提高孩子逻辑思维、专注力!】
想了解更多关于少儿编程的相关内容,推荐咨询童程童美。2017年至今,童程童美响应国务院“鼓励社会力量参与寓教于乐的编程教学软件、游戏的开发和推广”号召,将编程公开课带到全国各地的中小学校,让更多的学生接触编程,爱上编程。【童程童美少儿编程体验课,点击可免费报名试听】
3. 什么叫编程
编程即编定程序,就是让计算机解决某个问题。
编程是编定程序的中文简称,是让计算机代为解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。
为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程的本质。
(3)汇站编程扩展阅读
学习编程有很多好处:
1、学习编程, 不仅可以提升个人的未来的社会竞争力, 也可以为当下的升学竞争添加筹码。
2、编程不仅可以提升外在的竞争力, 也可以增强人们内在的逻辑思维能力和自信心。
3、编程是锻炼逻辑思维能力的重要"载体",学习编程可以让思维变得严谨和缜密。
4、学习编程可以增强对现实问题进行抽象、对复杂问题进行分解、对解决方案进行推演、对程序进行测试的能力。
4. 寄存器:我想了解多一些有关寄存器的知识,汇编编程时用的
寄存器(Register)是CPU内部的元件,所以在寄存器之间的数据传送非常快。用途:1.可将寄存器内的数据执行算术及逻辑运算。2.存于寄存器内的地址可用来指向内存的某个位置,即寻址。3.可以用来读写数据到电脑的周边设备。8086 有8个8位数据寄存器,这些8位寄存器可分别组成16位寄存器:AH&AL=AX:累加寄存器,常用于运算;BH&BL=BX:基址寄存器,常用于地址索引;CH&CL=CX:计数寄存器,常用于计数;DH&DL=DX:数据寄存器,常用于数据传递。为了运用所有的内存空间,8086设定了四个段寄存器,专门用来保存段地址:CS(Code Segment):代码段寄存器;DS(Data Segment):数据段寄存器;SS(Stack Segment):堆栈段寄存器;ES(Extra Segment):附加段寄存器。当一个程序要执行时,就要决定程序代码、数据和堆栈各要用到内存的哪些位置,通过设定段寄存器 CS,DS,SS 来指向这些起始位置。通常是将DS固定,而根据需要修改CS。所以,程序可以在可寻址空间小于64K的情况下被写成任意大小。 所以,程序和其数据组合起来的大小,限制在DS 所指的64K内,这就是COM文件不得大于64K的原因。8086以内存做为战场,用寄存器做为军事基地,以加速工作。除了前面所提的寄存器外,还有一些特殊功能的寄存器:IP(Intruction Pointer):指令指针寄存器,与CS配合使用,可跟踪程序的执行过程;SP(Stack Pointer):堆栈指针,与SS配合使用,可指向目前的堆栈位置。BP(Base Pointer):基址指针寄存器,可用作SS的一个相对基址位置;SI(Source Index):源变址寄存器可用来存放相对于DS段之源变址指针;DI(Destination Index):目的变址寄存器,可用来存放相对于 ES 段之目的变址指针。还有一个标志寄存器FR(Flag Register),有九个有意义的标志(
OF: 溢出标志位OF用于反映有符号数加减运算所得结果是否溢出。如果运算结果超过当前运算位数所能表示的范围,则称为溢出,OF的值被置为1,否则,OF的值被清为0.
DF: 方向标志DF位用来决定在串操作指令执行时有关指针寄存器发生调整的方向。
IF: 中断允许标志IF位用来决定CPU是否响应CPU外部的可屏蔽中断发出的中断请求。但不管该标志为何值,CPU都必须响应CPU外部的不可屏蔽中断所发出的中断请求,以及CPU内部产生的中断请求。具体规定如下:
(1)、当IF=1时,CPU可以响应CPU外部的可屏蔽中断发出的中断请求;
(2)、当IF=0时,CPU不响应CPU外部的可屏蔽中断发出的中断请求。
TF: 状态控制标志位是用来控制CPU操作的,它们要通过专门的指令才能使之发生改变
SF: 符号标志SF用来反映运算结果的符号位,它与运算结果的最高位相同。在微机系统中,有符号数采用补码表示法,所以,SF也就反映运算结果的正负号。运算结果为正数时,SF的值为0,否则其值为1。
ZF: 零标志ZF用来反映运算结果是否为0。如果运算结果为0,则其值为1,否则其值为0。在判断运算结果是否为0时,可使用此标志位。
AF: 下列情况下,辅助进位标志AF的值被置为1,否则其值为0:
(1)、在字操作时,发生低字节向高字节进位或借位时;
(2)、在字节操作时,发生低4位向高4位进位或借位时。
PF: 奇偶标志PF用于反映运算结果中“1”的个数的奇偶性。如果“1”的个数为偶数,则PF的值为1,否则其值为0。
CF: 进位标志CF主要用来反映运算是否产生进位或借位。如果运算结果的最高位产生了一个进位或借位,那么,其值为1,否则其值为0。)
以上是8086寄存器的整体概况, 自80386开始,PC进入
32bit时代,其寻址方式,寄存器大小, 功能等都发生了变化, 要想学习这方面知识请参考相应资料.
关于寄存器就写这么多了,学习汇编和学习别的语言一样
要多想,多练,多看, 这样才会有提高.
下面是一些汇编书籍和网站, 对你学习会有帮助的.
网站:
http://www.x86asm.com/ x86汇编小站
http://www.aogosoft.com/ Aogo汇编小站
http://211.90.225.98:22366/ 罗云彬的编程乐园
http://cn.codeof.com/articles/programming/masm/
里面有汇编学习资料.
书籍:
1. IBM-PC 汇编语言程序设计(2th)
2. <<80x86 IBM PC及兼容计算机(卷I和II) — 汇编语言、设计与接口技术>>; 这本书很牛, 建议入手;
中文的汇编好书比较少,如果你英语不错的话,可以看看
下面这些(都很经典!!!):
01. <<Mastering Turbo Assembler>>
02. <<Using Assembly Language>>
04. <<Assembly Language Primer for the IBM PC/XT>>
05. <<Assembly Language from Square One>>
06. <<Assembly Language for the IBM PC>>
07. <<Assembly Language and Systems Programming for the IBM PC and Compatables>>
08. <<Assembler Inside & Out>>
09. <<The Zen of Assembly>>
10. <<IBM Microcomputers: A Programmer's Handbook>>
11. <<Programmer's Problem Solver for the IBM PC, XT, and AT>>
12. <<IBM PC ASSEMBLER LANGUAGE AND PROGRAMMING>>
13. <<80386: A Programming and Design Handbook>>, 2nd Ed
14. <<80486 Programming>>
15. <<Master Class Assembly Language>>
16. <<Programmer's Guide to PC & PS/2 Video Systems>>
17. <<Power Graphics Programming>>
18. <<Programmers Guide to the EGA and VGA cards>>, 3rd Ed.
19. <<AdvancEd Programmers Guide to the EGA/VGA>>
20. <<UndocumentEd DOS>>
21. <<DOS Programmer's Reference>>
22. <<386SX Microprocessor Programmer's Reference Manual>>
23. <<i486 Microprocessor Programmer's Reference Manual>>
24. <<The Programmer's PC Sourcebook>>
25. <<System BIOS for IBM PCs, Compatables, and EISA Computers>>, 2nd Ed.
26. <<PC Magazine Programmers Technical Reference: The Processor and Coprocessor>>
27. <<Mastering Serial Communications>>
28. <<DOS Programmer's Reference>>, 2nd Ed.
29. <<MS-DOS Programmer's Reference>>
最后祝你学习愉快
5. 新手如何学习编程
熟悉以下关键东西,可以边学边做,定期训练,经常思考,长期积累:
1、语法。
2、基础理论(数学、数据结构、算法等)。
3、设计方法(编程原则、设计模式、框架设计等)。
4、库(核心、基础、UI、扩展、游戏引擎等)。
5、计算机相关(操作系统、网络、图形学等)。
6、领域知识(游戏设计、网站设计等)。
7、开发工具(编辑器、IDE、自动部署等)。
8、项目管理(进度管理、分工协作、Bug管理、版本控制等)。
最普遍也是最重要的能力:创造力。努力分析并理解好做什么以及怎么做。要知道上面那些东西一开始都是不存在的。
具体方法包括:
1、快速阅读入门教程和书籍,适合学习语言和基础库。比如我学Java读的《Java编程思想》,练习题做过一点,然后学ActionScript就没读过书,只读过Adobe官方文档《ActionScript 3.0编程》。
2、阅读库的文档、实例、源码。比如Flash、Flex开发,熟悉官方API很重要,很多细节要具体使用时才注意到,这时候最好做个笔记,虽然我从没看过我的笔记。
3、做一个自己感兴趣或熟悉的小项目,比如我就以黑白棋游戏作为多个语言的试水项目,一样的逻辑,便于把关注点放在语言特点上。
4、自己动手丰衣足食。厨师有菜谱,程序员可没菜谱。比如我做游戏,最关键的游戏编程知识全部是动手学出来的,很少有专门针对某个业务领域(如游戏)的编程书籍,要么是入门书,要么是模式书(如算法)、理论书(图形学),很少有书籍教你如何开发一个45度角地图系统加编辑器的,全靠自己思考,以及看前人的代码,需要时找些网络资料。关键是,可以培养最重要的创造力。
对于算法和设计模式,可以研读下,但是关键还是靠平时如何使用了。新手勉强不来的。
项目管理方面的,就得靠工作经验了,多思考多提意见不要只走流程。