当前位置:文档之家› 第三章基本指令系统及编程

第三章基本指令系统及编程

编程语言种类及介绍

编程语言种类及其介绍 机器语言:纯粹的机器代码 汇编语言:8086汇编、Win32汇编、.NET的汇编 高级语言: Basic、Pascal、Object Pascal、C、C++、C#、Java、ASP、https://www.doczj.com/doc/556981492.html,、Perl、PHP、SQL、FORTRAN 、Visual Basic、Visual https://www.doczj.com/doc/556981492.html,、Delphi、Visual C++、C++ Builder、C# Builder、Visual Foxpro 等等 上面一排都是纯粹的编程语言,而下面一排都是经过发展过后的编程语言,下面我们对各种语言进行简单的介绍: 机器语言:机器语言是有0,1,0,1的二进制代码组成,可以有计算机直接执行。效率最高,但是通用性不强,对于不同的硬件需要不同的程序。说白了,不适合人来编程。 汇编语言:效率稍微低于机器语言,通过简单的助记符来替代繁琐而枯燥的0,1代码。同样的通用性不强,对于不同的硬件需要设计不同语言。学习曲线比较大,需要硬件知识很多。介于其特殊的性质,在某些行业中得到广泛的应用。 高级语言:通过人类可以识别的自然语言(主要是英语)来进行编程,效率再次降低,但是程序编制难度和可读性大幅提高。可移植性好,实用性较好。比较适合大规模开发,是现在大多数人选择的语言。而且Java语言和.NET平台的出现在一定程度上解决了由于平台的不同所导致的移植困难的情况。 ======================================= Basic 微软公司上个世纪八十年代(具体什么时候我不记得了)推出的计算机语言,当时造成了计算机软件开发世界的强烈震动,它的出现将很多程序员由枯燥的编码中解放出来,而有更多的精力来进行程序结构的开发。(因为我很早前曾经学习过这个语言,对其有一定程度的了解)但是,它同C、Pascal语言一样,是结构化语言,在对待大型开发中会觉得逐渐力不从心,程序员需要关注的内容实在太多了。其实现在来说,学习Basic已经没有什么意义了。因为它的改进版本Visual Basic和Visual https://www.doczj.com/doc/556981492.html,无论是在功能上还是在实用性上都大大地超过了他们的祖先。 Pascal 结构化语言,语法结构严谨,易于教学。相对于C语言,缺乏一定的灵活性。但是正是其严谨的语法,很多Pascal程序员倾心于其“诗篇一样的结构”,曾经一直是大专院校计算机专业必学的语言。它的改进版本Object Pascal和Delphi都超过了它。 Object Pascal 这是改进版的Pascal,它是面向对象的Pascal,是Delphi语言的核心。 C 上个世纪七十年代又贝尔实验室开发,当时他们是为了解决一个实际问题,将B语言改进后得到的,后来贝尔实验室又用它重写了UNIX操作系统。是所有工科学生和计算机学生必须学习的语言。它的特点很多了:贴近硬件,执行效率高,使用灵活,功能强大。但它毕竟还是结构化编程语言。在进行大型开发上显得还是有点力不从心,往往编程人员需要绞尽脑汁想出各种“精巧”的算法来实现某个目的。不过在学习操作系统和进行单片机开发上,它的作用是举足轻重的。

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

第二章指令系统和汇编语言程序设计实验 本章实验主要包括指令系统和汇编语言程序设计两部分。采用软件模拟调试的方法, 目的在于通过这些实验可以使学生巩固所学知识, 加深对 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、掌握计算机程序的概念 2、掌握计算机程序的概念、计算机语言分类及其特征。技能目标:通过阅读程序,学生主动探寻算法与程序的关系 情感态度与价值观:编程语言没有好坏之分,应选择适合自己的语言深入学习 二、教学重点和难点 重点:1、计算机语言的概念。 2、高级语言的特征 难点:程序的编译与解释 三、教学过程 以九歌机器人七秒成诗引入新课 (一)程序和程序设计 计算机能做很多的事情,包括各种控制活动,它们都是在程序的控制和指挥下进行的,可以这么说:离开了程序,计算机什么也干不了。 1、程序及其特征 (1)程序(Program):是一组操作的指令或语句的序列,是计算机执行算法的操作步骤。 (2)程序的特征: 一个或多个操作,每一个操作都有执行对象。

序执行。 2、程序的基本结构 (1)顺序结构 (2)选择结构 (3)循环结构 3、程序设计:从分析问题、建立模型、设计算法、编写修改程序,一直到程序正确运行的整个过程。 (二)程序设计语言 程序设计语言:是指人们编制程序所使用的计算机语言。 程序设计语言的分类: 机器语言 汇编语言 高级语言 1、机器语言 机器语言(machine language):把直接用二进制代码表示的计算机指令系统称为机器语言。 机器语言特点: ①用机器语言编写的程序可以被计算机直接执行,速度快,占用内存少。 ②编写程序相当繁琐。

③程序不具有通用性。 2、汇编语言 汇编语言(assembly language):用符号和数字来代替二进制代码的计算机语言称为汇编语言。 汇编语言特点: ①不能被计算机直接执行。 ②编写程序比机器语言方便得多。 ③程序不具有通用性。 3、高级语言 高级语言(high-level language):由一系列按一定语法规则的语句组成(与计算机内部结构无关、通用、用其编写的程序需要“翻译”后才可执行)。 高级语言特点: ①不能被计算机直接执行。 ②易读、易改,编写程序方便。 ③程序通用性好。 补充:Basic语言的发展历程 BASIC(Beginner’s All-purpose Symbolic Instruction Code的缩写,即初学者通用符号指令代码)语言简单易学,适合初学者。 BASIC语言于1964年问世作者:John.G.Kemeny 和Thomos E.Kurtz."Beginner's All-purpose Symbolic instruction Code" BASIC(第一代)

计算导论与程序设计知识点

计算导论与程序设计复习重点 一、计算、计算机发展史、计算模型 1、计算与计算思维 (1)什么是计算?转换/变换; 广义:计算就是把一个符号串f变换成另一个符号串g。 更广义:计算就是对信息的变换。 (2)什么是计算思维?抽象与自动化 2、图灵机的计算模型:组成,计算过程,状态及状态转移。 a.图灵机的组成: (1)一个无限长的纸带 (2)一个读写头(中间那个大盒子) (3)内部状态(盒子上的方块,比如A,B,E,H), (4)一个程序,用于对这个盒子进行控制。 b.计算过程:从读写头在纸带上读出一个方格的信息,并且根据它的内部状态开始对程序进行查表,得到一个输出动作和下一时刻所转移到的内部状态。 c.状态:可以将事物区分开的一种标识。 d.状态转移:当在某一状态下读入一个字符时,便使状态发生改变,从当前状态转换到后继状态。 3、结合图灵机,什么是程序?理解程序的含义 程序是一套控制规则,它可以根据当前机器所处的状态以及当前读写头所指的格子上的符号来确定读写头下一步的动作,并改变内部状态,令机器进入一个新的状态。 4、什么是存储程序的概念? 要求程序和数据一样,也必须存储在计算机的主存储器中,这样计算机就能够自动重复地执行程序,而不必每个问题都重新编程,从而大大加快运算进程。 二、计算机组成与原理 1、冯诺依曼计算机的组成结构 由运算器、控制器、存储器、输入设备、输出设备五大部分组成。 地址总线是控制器向存储器中的地址译码器传送地址编码的通路。 数据总线是在输入输出设备和存储器、存储器和CPU之间传送数据的通路。 控制总线用来传送控制部件向运算部件、存储器、输入输出设备发出的控制信号。

指令系统的习题

第2章指令系统及汇编语言程序设计 一.选择题 1.指令ADD CX,55H[BP]的源操作数的寻址方式是( )。 (A) 寄存器寻址(B) 直接寻址(C) 寄存器间接寻址(D) 寄存器相对寻址 2.设(SS)=3300H,(SP)=1140H,在堆栈中压入5个字数据后,又弹出两个字数据,则(SP)=( ) 。 (A) 113AH (B) 114AH (C) 1144H (D) 1140H 3.若SI=0053H,BP=0054H,执行SUB SI,BP后,则( )。 (A) CF=0,OF=0 (B) CF=0,OF=1 (C) CF=1,OF=0 (D) CF=1,OF=1 4.已知(BP)=0100H,(DS)=7000H,(SS)=8000H,(80100H)=24H,(80101H)=5AH,(70100H)=01H,(70101H)=02H,指令MOV BX,[BP]执行后,(BX)=( ) 。 (A) 0102H (B) 0201H (C) 245AH (D) 5A24H 5.实模式下80486CPU对指令的寻址由( )决定。 (A) CS,IP (B) DS,IP (C) SS,IP (D) ES,IP 6.使用80486汇编语言的伪操作指令定义: V AL DB 2 DUP(1,2,3 DUP(3),2 DUP(1,0)) 则在V AL存储区内前十个字节单元的数据是( )。 (A) 1,2,3,3,2,1,0,1,2,3 (B) 1,2,3,3,3,3,2,1,0,1 (C) 2,1,2,3,3,2,1,0 (D) 1,2,3,3,3,1,0,1,0,1 7.下列四条指令都可用来使累加器清"0",但其中不能清"进位"位的是( ) 。 (A) XOR AL,AL (B) AND AL,0 (C) MOV AL,0 (D) SUB AL,AL 8.若(AX)=96H,(BX)=65H,依次执行ADD AX,BX指令和DAA指令后,(AL)=( )。(A) 0FBH (B) 01H (C) 61H (D) 0BH 9.下列能使CF标志置1的指令是( ) 。 (A) CMC (B) CLC (C) STC (D) CLD 10.MOV AX,[BP+SI]隐含使用的段寄存器是( )。 (A) CS (B) DS (C) ES (D) SS 11.设AL=7FH,要使AL=80H,应使用下列哪一条指令( )。 (A) AND AL,80H (B) OR AL,80H (C) XOR AL,80H (D) NOT AL 12.在执行十进制调整指令DAA,DAS之前必须将结果存放于( )中。 (A) AX (B) AH (C) AL (D) BL 13.下列指令执行后影响标志位的是( ) 。 (A) MOV (B) PUSH (C) ADD (D) XCHG 14.唯一能对应存储单元的地址是( )。 (A) 物理地址(B) 端口地址(C) 有效地址(D) 逻辑地址 15.计算机能直接执行的语言是( )。 (A) 机器语言(B) 汇编语言(C) 高级语言(D) 程序设计语言 16.需采用先进后出原则操作的存储区是( )。 (A) 寄存器组(B) 地址缓冲器(C) 数据寄存器(D) 堆栈区 17.寄存器SP用于对( )的操作。 (A) 空闲单元(B) 堆栈单元(C) 数据单元(D) 指令单元 18.若(BX)=1000H,(DS)=2000H,(21000H)=12H,(21001H)=34H,执行LEA SI,[BX]指令后,SI寄存器的内容是( )。

第十章-程序设计语言

/ 程序设计语言 您现在的位置:希赛网> 云阅读> 软件设计师考试试题分类精解(2018 版)> 试题1(2017年下半年试题20) 第 10 章:程序设计语言作者:希赛软考学院来源:希赛软考学院2017年11月21日试题1(2017年下半年试题20) 更适合用来开发操作系统的编程语言是()。 (20)A.C/C++ 试题分析 现行操作系统均由C/C++开发。 试题答案 , (20)A 试题2(2017年下半年试题21) 以下关于程序设计语言的叙述中,不正确的是()。

(21)A.脚本语言中不使用变量和函数 B.标记语言常用于描述格式化和链接 C.脚本语言采用解释方式实现 D.编译型语言的执行效率更高 试题分析 脚本语言中使用变量和函数来完成程序。 试题答案 (21)A ! 试题3(2017年下半年试题22) 将高级语言源程序通过编译或解释方式进行翻译时,可以先生成与源程序等价的某种中间代码。以下关于中间代码的叙述中,正确的是()。 (22)A.中间代码常采用符号表来表示 B.后缀式和三地址码是常用的中间代码 C.对中间代码进行优化要依据运行程序的机器特性 D.中间代码不能跨平台 试题分析 B只是类似于三地址码, CD与具体的机器无关。 试题答案 (22)A

% 试题4(2017年下半年试题48) 编译过程中进行的语法分析主要是分析()。 (48)A.源程序中的标识符是否合法 B.程序语句的含义是否合法 C.程序语句的结构是否合法 D.表达式的类型是否合法 试题分析 语法分析主要是分析数据类型是否合法。 试题答案 (48)D 试题5(2017年下半年试题49) — 某确定的有限自动机(DFA)的状态转换图如下图所示(0是初态,4是终态),则该DFA能识别()。

指令系统及汇编语言程序设计

第3章指令系统及汇编语言程序设计 一、简答题 1、80C51系列单片机的指令系统有何特点? 2、80C51单片机有哪几种寻址方式?各寻址方式所对应的寄存器或存储器空间如何? 3、访问特殊功能寄存器SFR可以采用哪些寻址方式? 4、访问内部RAM单元可以采用哪些寻址方式? 5、访问外部RAM单元可以采用哪些寻址方式? 6、访问外部程序存储器可以采用哪些寻址方式? 7、为什么说布尔处理功能是80C51单片机的重要特点? 8、对于80C52单片机内部RAM还存在高128字节,应采用何种方式访问? 9、试根据指令编码表写出下列指令的机器码。 (1)MOV A,#88H (2)MOV R3,50H (3)MOV P1.1,#55H (4)ADD A,@R1 (5)SETB 12H 10、完成某种操作可以采用几条指令构成的指令序列实现,试写出完成以下每种操作的指 令序列。 (1)将R0的内容传送到R1; (2)内部RAM单元60H的内容传送到寄存器R2; (3)外部RAM单元1000H的内容传送到内部RAM单元60H; (4)外部RAM单元1000H的内容传送到寄存器R2; (5)外部RAM单元1000H的内容传送到外部RAM单元2000H。 11、11、若(R1)=30H,(A)=40H,(30H)=60H,(40H)=08H。试分析执行下列程序段 后上述各单元内容的变化。 MOV A,@R1 MOV @R1,40H MOV 40H,A MOV R1,#7FH 12、若(A)=E8H,(R0)=40H,(R1)=20H,(R4)=3AH,(40H)=2CH,(20)=0FH, 试写出下列各指令独立执行后有关寄存器和存储单元的内容?若该指令影响标志位,试指 出CY、AC、和OV的值。 (1)MOV A,@R0 (2)ANL 40H,#0FH (3)ADD A,R4 (4)SWAP A (5)DEC @R1 (6)XCHD A,@R1 13、若(50H)=40H,试写出执行以下程序段后累加器A、寄存器R0及内部RAM的40H、41H、 42H单元中的内容各为多少? MOV A,50H MOV R0,A MOV A,#00H MOV @R0,A MOV A,3BH MOV 41H,A MOV 42H,41H 14、试用位操作指令实现下列逻辑操作。要求不得改变未涉及的位的内容。

计算机编程语言如何分类

计算机有哪些编程语言_计算机编程语言如何分类 计算机编程语言分类 第一代机器语言 机器语言是由二进制0、1代码指令构成,不同的CPU具有不同 的指令系统。机器语言程序难编写、难修改、难维护,需要用户直 接对存储空间进行分配,编程效率极低。这种语言已经被渐渐淘汰了。 第二代汇编语言 汇编语言指令是机器指令的符号化,与机器指令存在着直接的对应关系,所以汇编语言同样存在着难学难用、容易出错、维护困难 等缺点。但是汇编语言也有自己的优点:可直接访问系统接口,汇 编程序翻译成的机器语言程序的效率高。从软件工程角度来看,只 有在高级语言不能满足设计要求,或不具备支持某种特定功能的技 术性能(如特殊的输入输出)时,汇编语言才被使用。 第三代高级语言 高级语言是面向用户的、基本上独立于计算机种类和结构的语言。其最大的优点是:形式上接近于算术语言和自然语言,概念上接近 于人们通常使用的概念。高级语言的一个命令可以代替几条、几十 条甚至几百条汇编语言的指令。因此,高级语言易学易用,通用性强,应用广泛。 第四代非过程化语言 4GL是非过程化语言,编码时只需说明“做什么”,不需描述算 法细节。 数据库查询和应用程序生成器是4GL的两个典型应用。用户可以用数据库查询语言(SQL)对数据库中的信息进行复杂的操作。用户只 需将要查找的内容在什么地方、据什么根条件进行查找等信息告诉

SQL,SQL将自动完成查找过程。应用程序生成器则是根据用户的需 求“自动生成”满足需求的高级语言程序。真正的第四代程序设计 语言应该说还没有出现。所谓的第四代语言大多是指基于某种语言 环境上具有4GL特征的软件工具产品,SystemZ、如PowerBuilder、FOCUS等。第四代程序设计语言是面向应用,为最终用户设计的一 类程序设计语言。它具有缩短应用开发过程、降低维护代价、最大 限度地减少调试过程中出现的问题以及对用户友好等优点。 程序设计语言分类 一、从应用角度分类 从应用角度来看,高级语言可以分为基础语言、结构化语言和专用语言。 (1)基础语言 基础语言也称通用语言。它历史悠久,流传很广,有大量的已开发的软件库,拥有众多的用户,为人们所熟悉和接受。属于这类语 言的有FORTRAN、COBOL、BASIC、ALGOL等。FORTRAN语言是目前国 际上广为流行、也是使用得最早的一种高级语言,从20世纪90年 代起,在工程与科学计算中一直占有重要地位,备受科技人员的欢迎。BASIC语言是在20世纪60年代初为适应分时系统而研制的一 种交互式语言,可用于一般的数值计算与事务处理。BASIC语言结 构简单,易学易用,并且具有交互能力,成为许多初学者学习程序 设计的入门语言。 (2)结构化语言 20世纪70年代以来,结构化程序设计和软件工程的思想日益为 人们所接受和欣赏。在它们的影响下,先后出现了一些很有影响的 结构化语言,这些结构化语言直接支持结构化的控制结构,具有很 强的过程结构和数据结构能力。PASCAL、C、Ada语言就是它们的突 出代表。 PASCAL语言是第一个系统地体现结构化程序设计概念的现代高 级语言,软件开发的最初目标是把它作为结构化程序设计的教学工

程序设计语言的分类及特点

程序设计语言的分类及特点: 1)机器语言(第一代语言):由机器指令构成的语言称机器语言,即用二进制编码组成。(如 01110101) 特点:○1费时费事○2难懂容易错○3只能在一种型号计算机上运行○4可以直接在计算机上运行 2)汇编语言(第二代语言:50年代初期出现):用容易记忆的符号来代替机器指令中操作码和 地址码的一种语言.(如:ADD 代表“+” SUB代表“-” MOV代表“传递”) 特点:优点——(1)程序直观容易阅读;(2)编程工作量相对小; 缺点——(1)只能在一种型号机器上运行;(2)不能直接在计算机上运行。 3)高级程序设计语言(第三代语言:50年代中期提出):高级程序设计语言是一种面向过程 或者面向对象的语言,不面向机器,用一些符号或者数字对求解的问题或者现实世界进行描述。 特点:a) 直观、易写、易读、工作量小 b) 不依赖于具体的机器 c) 便于程序交流 d) 不可直接在计算机上运行,经编译程序编译成机器语言后方可运行 4)超高级程序设计语言(第四代语言):只需指出所求问题、输入数据及输出形式,就能得到 输出结果,无需对算法和计算过程描述的语言。 特点:a) 语言功能强,效率高,使用方便; b) 开发应用系统修改方便、维护容易; c) 系统复杂,不但要编译还要生成程序。 1.三种翻译程序的定义 解释程序:将高级语言写的源程序作为输入数据,但并不产生目标程序,而是边解释边执行源程序本身的一种程序。 编译程序:是将高级语言写的源程序翻译成目标语言(汇编语言、机器语言)的程序。这种翻译过程称为编译。 编译系统:目标程序,再加上运行系统(如服务子程序、动态分配程序、装配程序等)就可获得计算结果,整个系统称为编译系统。 汇编程序:把汇编语言写的源程序翻译成机器语言的目标程序,这个翻译过程称为汇编。 4.编译基本过程 编译过程基本包括以下几个步骤:1.词法分析 2.语法分析 3.语义分析 4.中间代码生成 5.修饰优化 6.生成目标程序

指令系统及汇编语言程序设计

指令系统及汇编语言程序设计 2.4 伪指令 伪指令本身不会产生可执行的机器指令代码,它仅仅是告诉汇编程序有关源程序的某些信息,或者用来说明内存单元的用途。伪指令在汇编过程中由汇编程序进行处理。 2.4.1 数据定义伪指令 数据定义伪指令用于定义变量的类型、给存储器赋初值或给变量分配存储单元。常用的数据定义伪指令有DB、DW和DD等。 格式: [变量名] 伪指令助记符数据表项 功能:定义一个数据存储区,其类型由所定义的数据定义指令而指定。 操作说明:方括号中的变量名为任选项,变量名后面不跟冒号“:”。数据表项可以包含多个数据之间用逗号分隔开。数据定义伪指令助记符有以下三种: (1) DB定义变量类型为字节(BYTE),DB后面的每个数据占一个字节。 (2) DW 定义变量类型为字(WORD),DW后面的每个数据占一个字,即两个字节。在内存中,低字节在前,高字节在后。 (3) DD 定义变量类型为双字(DWORD),后面的每个数据占两个字。在内存中,低位字在前,高位字在后。 例如,有下列数据定义语句 D1 DB 1,-12 D2 DW 1,2010H D3 DD 1,10203040H 数据表项中除了常数、表达式和字符串外,还可以是问号“?”,它仅给变量保留相应的存储单元,而不给变量赋初值。相同的操作数重复出现时,可用重复符号“DUP”表示。 其格式为: n DUP(初值[,初值,……]);n表示重复的次数,圆括号中为重复的内容。 下面是用问号或DUP表示操作数的例子: ARRAY DB 1000 DUP(0) VAR DW ?,? 2.4.2 符号定义伪指令 1. 赋值伪指令 格式:变量名 EOU 表达式 功能:将右边表达式的值赋给左边的变量。 操作说明:表达式可以是一个常数、符号、数值表达式或地址表达式。 需要注意的是:EQU伪指令不允许对同一符号重复定义。 EQU伪指令具体应用举例如下: CR EQU ODH ;定义CR为常数(回车的ASCII代码) TAB EQU TABLE-ASCII ;定义变量 DIS EQU 1024*768 ;定义数值表达式 ADR EQU ES:[DI+3] ;定义地址表达式 M EQU MOV ;定义助记符 2.等号(=)伪指令 格式:变量名=表达式 功能:将右边表达式的值赋给左边的变量。 操作说明:等号(=)伪指令的功能与EQU伪指令相仿,它可以对同一个名字重复定义。

程序和程序设计语言(教学设计)

第 3 节程序和程序设计语言 、教学目标 知识目标:1、掌握计算机程序的概念 2、掌握计算机程序的概念、计算机语言分类及其特征。 技能目标:通过阅读程序,学生主动探寻算法与程序的关系 情感态度与价值观:编程语言没有好坏之分,应选择适合自己的语言深入学习 二、教学重点和难点 重点:1、计算机语言的概念。 2、高级语言的特征 难点:程序的编译与解释 三、教学过程 以九歌机器人七秒成诗引入新课 一)程序和程序设计 计算机能做很多的事情,包括各种控制活动,它们都是在程序的控制和指挥下进行的,可以这么说:离开了程序,计算机什么也干不了。 1、程序及其特征 (1)程序(Program):是一组操作的指令或语句的序列,是计算机执行算法的操作步骤。 2)程序的特征: 解决问题的每一个算法步骤对应着程序中的一个或多个语句实现一个或多个操作,每一个操作都有执行 对象。 在程序中被施行操作的对象称为数据。 除了有特殊的程序转向控制语句外,程序都是从第一条语句开始顺序执行。 2、程序的基本结构 1)顺序结构2)选择结构3)循环结构 3、程序设计:从分析问题、建立模型、设计算法、编写修改程序,一直到程序正确运行的整个过程。 (二)程序设计语言 程序设计语言:是指人们编制程序所使用的计算机语言。 程序设计语言的分类: 机器语言汇编语言高级语言

1、机器语言 机器语言(machine Ianguage):把直接用二进制代码表示的计算机指令系统称为机器 语言。 机器语言特点: ①用机器语言编写的程序可以被计算机直接执行,速度快,占用内存少。 ②编写程序相当繁琐。 ③程序不具有通用性。 2、汇编语言 汇编语言(assembly Ianguage):用符号和数字来代替二进制代码的计算机语言称为汇 编语言。 汇编语言特点: ①不能被计算机直接执行。 ②编写程序比机器语言方便得多。 ③程序不具有通用性。 3、高级语言 高级语言(high-level Ianguage ):由一系列按一定语法规则的语句组成(与计算机内部结构无关、通用、用其编写的程序需要“翻译”后才可执行) 咼级语言特点: ①不能被计算机直接执行。 ②易读、易改,编写程序方便。 ③程序通用性好。 补充:Basic语言的发展历程 BASIC ( Beginner' s All-purpose Symbolic Instruction Code 的缩写,即初学者通用符号指令代码)语言简单易学,适合初学者。

第2章 指令系统及汇编语言程序设计 题库和答案

第2章指令系统及汇编语言程序设计 ________________________________________ 一.选择题 1.指令ADD CX,55H的源操作数的寻址方式是( )。 (A) 寄存器寻址(B) 直接寻址(C) 寄存器间接寻址(D) 寄存器相对寻址 2.设(SS)=3300H,(SP)=1140H,在堆栈中压入5个字数据后,又弹出两个字数据,则(SP)=( ) 。 (A) 113AH (B) 114AH (C) 1144H (D) 1140H 3.若SI=0053H,BP=0054H,执行SUB SI,BP后,则( )。 (A) CF=0,OF=0 (B) CF=0,OF=1 (C) CF=1,OF=0 (D) CF=1,OF=1 4.已知(BP)=0100H,(DS)=7000H,(SS)=8000H,(80100H)=24H,(80101H)=5AH,(70100H)=01H,(70101H)=02H,指令MOV BX,执行后,(BX)=( ) 。 (A) 0102H (B) 0201H (C) 245AH (D) 5A24H 5.实模式下80486CPU对指令的寻址由( )决定。 (A) CS,IP (B) DS,IP (C) SS,IP (D) ES,IP 6.使用80486汇编语言的伪操作指令定义: V AL DB 2 DUP(1,2,3 DUP(3),2 DUP(1,0)) 则在V AL存储区内前十个字节单元的数据是( )。 (A) 1,2,3,3,2,1,0,1,2,3 (B) 1,2,3,3,3,3,2,1,0,1 (C) 2,1,2,3,3,2,1,0 (D) 1,2,3,3,3,1,0,1,0,1 7.下列四条指令都可用来使累加器清"0",但其中不能清"进位"位的是( ) 。 (A) XOR AL,AL (B) AND AL,0 (C) MOV AL,0 (D) SUB AL,AL 8.若(AX)=96H,(BX)=65H,依次执行ADD AX,BX指令和DAA指令后,(AL)=( )。(A) 0FBH (B) 01H (C) 61H (D) 0BH 9.下列能使CF标志置1的指令是( ) 。 (A) CMC (B) CLC (C) STC (D) CLD 10.MOV AX,[BP+SI]隐含使用的段寄存器是( )。 (A) CS (B) DS (C) ES (D) SS 11.设AL=7FH,要使AL=80H,应使用下列哪一条指令( )。 (A) AND AL,80H (B) OR AL,80H (C) XOR AL,80H (D) NOT AL 12.在执行十进制调整指令DAA,DAS之前必须将结果存放于( )中。 (A) AX (B) AH (C) AL (D) BL 13.下列指令执行后影响标志位的是( ) 。 (A) MOV (B) PUSH (C) ADD (D) XCHG 14.唯一能对应存储单元的地址是( )。 (A) 物理地址(B) 端口地址(C) 有效地址(D) 逻辑地址 15.计算机能直接执行的语言是( )。 (A) 机器语言(B) 汇编语言(C) 高级语言(D) 程序设计语言 16.需采用先进后出原则操作的存储区是( )。 (A) 寄存器组(B) 地址缓冲器(C) 数据寄存器(D) 堆栈区 17.寄存器SP用于对( )的操作。 (A) 空闲单元(B) 堆栈单元(C) 数据单元(D) 指令单元 18.若(BX)=1000H,(DS)=2000H,(21000H)=12H,(21001H)=34H,执行LEA SI,指令后,SI寄存器的内容是( )。 (A) 1234H (B) 3412H (C) 1000H (D)0010H 19.若(AL)=80H,执行NEG AL指令后,CF和OF标志位的状态分别为( )。

程序设计语言分为三大类

程序设计语言分为三大类 程序设计语言通常分为:机器语言、汇编语言、高级语言三类。 三者的区别如下: 一、定义不同 1、机器语言 机器语言是最底层的语言,只有“0”和“1”,二进制语言,就像开关一样,0是关,1是通过。一句话,就是写出一串串由“0”和“1”组成的指令序列交由计算机执行,这种语言,就是机器语言。 2、汇编语言 汇编语言指令是机器指令的符号化,与机器指令存在着直接的对应关系。通常用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串,比如,用“A D D”代表加法,“M O V”代表数据传递等等。 3、高级语言

高级语言是面向用户的、基本上独立于计算机种类和结构的语言。高级语言的一个命令可以代替几条、几十条甚至几百条汇编语言的指令。 二、语言类型不同 1、机器语言是纯粹的二进制数据表示的语言,是电脑可以真正识别的语言。汇编语言和高级语言经过编译连接最终都会变成机器语言才能被CPU识别和运行。 2、汇编语言是以人们比较熟悉的词句直接表述CPU动作形成的语言,是最接近CPU运行原理的较为通俗的比较容易理解的语言。 3、高级语言,是以“人”的思维逻辑来描述电脑运行的语言,完全脱离了CPU的“思维”模式,所以可移植性很高。 三、与计算机的相关程度 1、机器语言是机器能够直接识别的语言,能够直接作用在计算机上。 2、汇编语言程序与处理器指令系统密切相关,程序员可直接、有效

地控制系统硬件,形成的可执行文件运行速度快、占用主存容量少。汇编语言与处理器密切相关,且语言程序的通用性、可移植性较差。 3、高级语言与具体计算机无关,不针对具体计算机系统。高级语言程序可以在多种计算机上编译后执行,可以直接、有效地控制计算机硬件,易于产生速度快、容量小的高效率目标程序。

程序设计语言与编码

第9章程序设计语言与编码 9.1 典型问题分析和解答 【例1】设下图给出的程序流程图代表一个非结构化的程序,试问: (1) 为什么说它是一个非结构化的? (2) 设计一个等价的使用附加标志变量flag的结构化程序; (3) 设计一个使用break(用于代替goto)的程序。 答:(1) 它是一个单入口、两出口的结构,所以是一个非结构化的程序; (2) 等价的结构化程序: { do G; (3) 使用break的程序 { do G; if ( !Q ) break; 【例 2】下面给出一个求实函数方程F(x)在自变量区间 [a, b] 中的全部实根的算法。首先阅读此程序,然后 (1) 画出消去全部goto语句的结构化程序流程图; (2) 将它改成N_S图; (3) 计算该程序的McCabe复杂性度量。 在算法中,a与b是区间[a, b]的两端点值;eps1与eps2是用户要求的求解精度。如果区间中

点的函数值的绝对值小于eps1或新的小区间的长度小于eps2,就认为这个中点为根; float BinRoot ( float a,float b, float eps1, float eps2 ) { float low= a, high = b,mid,fmid; float flow = Func(low), fhigh := Func(high); label L1, L2, L3;//标号说明,给定某些程序地址 if ( flow * fhigh > 0.0 ) { BinRoot = 0;goto L3; }//无实根 L1:mid = (low + high) / 2;fmid = Func(mid); if ( abs ( fmid ) <= eps1 ) { L2: BinRoot = mid; goto L3; } else if ( high - mid <= eps2 ) goto L2; else if (flow * fmid > 0.0 ) { low = mid;flow = fmid; goto L1; } else { high = mid; goto L1 }; L3: } 答:(1) 结构化的程序流程图:

第3章 指令系统与程序设计

第3章指令系统与程序设计 7.完成某种操作可以采用几条指令构成的指令程序实现,试写出完成以下每种操作的指令程序。 (1)将R6的内容传送到R7; (2)内部RAM单元50H的内容传送到寄存器R6; (3)外部RAM单元2000H的内容传送到内部RAM单元70H; (4)外部RAM单元2000H的内容传送到寄存器R6; (5)外部RAM单元2000H的内容传送到外部RAM单元3000H。 8.若(R1)=30H,(A)=40H,(30H)=60H,(40H)=08H。试分析执行下列程序段后上述各单元内容的变化。 MOV A,@R1 ;(A)=60H MOV @R1,40H ; (30H)=08H MOV 40H,A ; (40H)=60H MOV R1,#7FH ; (R1)=7FH 9.若(A)=E8H,(R0)=40H,(R1)=20H,(R4)=3AH,(40H)=2CH,(20H)=0FH,试写出下列各指令独立执行后有关寄存器和存储单元的内容?若该指令影响标志位,试指出CY、AC、和OV的值。 (1)MOV A,@R0 ; (A)=2CH (2)ANL 40H,#0FH ; (40H)=0CH (3)ADD A,R4 ; (A)=22H (CY)=1 (4)SWAP A ; (A)=8EH (5)DEC @R1 ; (20H)=0EH (6)XCHD A,@R1 ; (A)=EFH (20H)=08H 10.若(50H)=40H,试写出执行以下程序段后累加器A、寄存器R0及内部RAM的40H、41H、42H单元中的内容各为多少? MOV A,50H ;(A)=40H MOV R0,A ;(R0)=40H MOV A,#00H ;(A)=0 MOV @R0,A ;(40H)=0 MOV A,#3BH ;(A)=3BH MOV 41H,A ;(41H)=3BH MOV 42H,41H ;(42H)=3BH 11.试用位操作和逻辑指令实现下列逻辑操作。要求不得改变未涉及的位的内容。 (1)使ACC.0置位;CLR ACC.0 (2)清除累加器高4位; ANL A, #0FH (3)清除ACC.3,ACC.4,ACC.5,ACC.6。 ANL A, #10000111B 12.试编写程序,将内部RAM的20H、21H、22H三个连续单元的内容依次存入2FH、2EH和2DH单元。 MOV R0, #20H MOV R1, #2FH MOV R7, #3 LOOP:MOV A, @R0 MOV @R1, A INC R0 DEC R1 DJNZ R7, LOOP SJMP $

第3章 程序设计语言(答案)

第3章程序设计语言 习题 一、选择题 1. A 2. A 3. D 4. A 5. AB 6. C 7. D 8. D 9. ABCD 10. B 11.A 12.A 二、简答题 1.简述程序的概念。 答:一个程序就是能够实现特定功能的一组指令序列的集合。或者程序=算法+数据结构。 2. 简述程序设计过程的一般步骤。 程序设计的过程一般有四个步骤。 1.分析问题 在着手解决问题之前,应该通过分析,充分理解问题,明确原始数据、解题要求、需要输出的数据及形式等。 2.设计算法 算法是解题的过程。首先集中精力于算法的总体规划,然后逐层降低问题的抽象性,逐步充实细节,直到最终把抽象的问题具体化成可用程序语句表达的算法。这是一个自上而下、逐步细化的过程。 3.编码 利用程序设计语言表示算法的过程称为编码。 4.调试程序 调试程序包括编译和连接等操作。编译程序将源程序转换为目标程序,它对程序员编写的源程序进行语法检查,程序员根据编译过程中的错误提示信息,查找并改正源程序的错误后再重新编译,直到没有语法错误为止。大多数程序设计语言还要使用连接程序把目标程序与系统提供的库文件进行连接以得到最终的可执行文件。在连接过程中若程序使用了错误的内部函数名,将会引起连接错误。对于经过编译和连接,并最终运行结束的程序,程序员还要对程序执行的结果进行分析,只有得到正确结果的程序才是所需的程序。 3. 简述机器语言和汇编语言的共同特点。 汇编语言具有一个本质上与机器语言一一对应的指令系统。大多数情况下,一条汇编指令直接对应一条机器指令,少数汇编指令对应几条机器指令,所以,汇编语言的实质和

机器语言是相同的。与机器指令一样,汇编指令直接针对计算机硬件进行操作,要求程序员具有较为深厚的计算机专业知识;每一条指令只能实现一个非常细微的操作(例如移动、自增),因而源程序一般比较冗长、复杂、容易出错。 4. 简述高级语言程序的运行过程。 使用高级语言编写程序的一般过程可以归纳为以下几个步骤: (1) 使用文本编辑工具,逐条编写源程序的语句。保存源程序的文件时,文件的后缀名与所用的高级语言有关。 (2) 编译源程序文件,生成目标文件,文件后缀名通常为obj。 (3) 链接目标文件,生成可执行文件,文件后缀名通常为exe。 (4) 在计算机上运行可执行程序,并进行调试和维护。 程序的执行环境由操作系统提供,一般分为命令行环境和图形用户界面环境。在DOS 与大多数Unix类操作系统中,提供的就是命令行用户界面,用户需要在系统命令提示符后面输入各种操作命令以实现需要的功能;在Windows操作系统中,提供的是图形用户界面,用户可以通过点击鼠标等操作完成希望的功能。“界面就是程序”反映了在程序设计中为用户提供良好的操作界面的重要性。用户使用界面的好坏直接影响着程序的质量,要树立以人为本的思想,尽量为用户提供便利。 5.简述编译程序的概念。 编译程序是把高级语言程序(源程序)作为一个整体来处理,在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),编译后与系统提供的代码库链接,形成—个完整的可执行的机器语言程序(目标程序代码)。 6.用图示法表示编译程序的框架。 答:编译程序的框架如图所示: 7.词法分析的任务是什么? 答:作为编译过程的第一个阶段,其任务是从左到右一个字符,一个字符地对源程序进行扫描,读入源程序,对构成源程序的字符流进行扫描和分解,通过词法分析从而识别出一个个单词(也称单词符号或符号)。 8.语法分析的任务是什么? 答:语法分析是编译过程的第二个阶段,任务是在词法分析的基础上将单词序列分解成各类语法短语,如“程序”、“语句”、“表达式”等等。 9.简述语义处理的功能。

第三章指令系统及汇编语言程序设计

第三章指令系统及汇编语言程序设计 3-1选择题 1、MOVX A,@DPTR指令中源操作数的寻址方式是( B ) (A)寄存器寻址(B)寄存器间接寻址(C)直接寻址(D)立即寻址 2、ORG 0003H LJMP 2000H ORG 000BH LJMP 3000H 当CPU响应外部中断0后,PC的值是( B ) (A)0003H (B)2000H (C)000BH (D)3000H 3、LCALL指令操作码地址是2000H,执行完相子程序返回指令后,PC=( D ) (A)2000H (B)2001H (C)2002H (D)2003H 4、51执行完MOV A,#08H后,PSW的一位被置位( D ) (A)C (B)F0 (C)OV (D)P 5、下面条指令将MCS-51的工作寄存器置成3区( B ) (A)MOV PSW,#13H (B)MOV PSW,#18H (C)SETB PSW.4 CLR PSW.3 (D) SETB PSW.3 CLR PSW.4 6、执行MOVX A,DPTR指令时,MCS-51产生的控制信号是( C ) (A)/PSEN (B)ALE (C)/RD (D)/WR 7、MOV C,#00H的寻址方式是( A ) (A)位寻址(B)直接寻址(C)立即寻址(D)寄存器寻址 8、ORG 0000H AJMP 0040H ORG 0040H MOV SP,#00H 当执行完左边的程序后,PC的值是( C ) (A)0040H (B)0041H (C)0042H (D)0043H 9、对程序存储器的读操作,只能使用( D ) (A)MOV指令(B)PUSH指令(C)MOVX指令(D)MOVC指令 10、MCS-51单片机可分为两个优先级别。各中断源的优先级别设定是利用寄存器( B ) (A)IE (B)IP (C)TCON (D)SCON 11、在寄存器间接寻址方式中,指定寄存器中存放的是( B ) (A)操作数(B)操作数地址(C)转移地址(D)地址偏移量 12、在MCS—51中,需双向传递信号的是( B ) (A)地址线(B)数据线(C)控制线(D)电源线 13、下列指令中于进位标志位CY无关的指令有( D ) (A)移位指令(B)位操作指令(C)十进制调整指令(D)条件转移指令 14、在程序储存器的读操作,只能使用( D ) (A)MOV指令(B)PUSH指令(C)MOVX指令(D)MOVC指令 15、以下运算中对溢出标志OV没有影响或不受OV影响的运算是( A ) (A)逻辑运算(B)符号数加减法运算(C)乘法运算(D)除法运算 16、指令AJMP的跳转范围是(C) (A)256B (B)1KB (C)2KB (D)64KB

相关主题
文本预览
相关文档 最新文档