当前位置:文档之家› 4.1程序设计语言的基础知识-粤教版(2019)高中信息技术必修一教案

4.1程序设计语言的基础知识-粤教版(2019)高中信息技术必修一教案

4.1程序设计语言的基础知识-粤教版(2019)高中信息技术必修一教案
4.1程序设计语言的基础知识-粤教版(2019)高中信息技术必修一教案

第四章程序设计基础

4.1程序设计语言的基础知识

课题程序设计语言的基础

知识

课时2课时

教学目标1、了解Python,掌握Python的常量和变量以及其命名规则。

2、掌握Python常用的基本数据类型。

3、掌握Python的运算符和表达式。

4、掌握Python常用函数。

5、激发学习兴趣,提升信息技术学科素养。

重点与难点重点:Python的常量、变量、数据类型、运算符和表达式。难点:熟练运用Python 的基础知识。

辅助手段多媒体,机房广播演示系统,Python软件

教法学法讲授法、任务驱动法,小组合作法,自主探究法,讨论法。课前准备课代表同学负责班级分组(4-6人一组)。

教学设计

创设情境激趣导入首先通过PPT请同学们思考:如何画一个圆形?

计算机可以帮我们画吗?

呈现一个利用python画圆的小程序,激发学生学习兴趣。

任务驱动与知识讲授任务一:阅读课本67 页,分析归纳Python的常量与变量。

常量:在程序运行过程中其值始终不发生变化。通常是固定的数值或字符串。变量:在程序运行过程中其值发生变化的量。变量由变量的标识符和变量的内容两部分组成。

变量的标识符由字母(A-Z,a-z)、数字(0-9)、下划线组成

注意:第一个字符必须是字母或下划线,不能是数字。字母大小写区分。

变量无需定义数据类型,数据类型不固定是动态的。

变量动态赋值代码示例

a=5 5

ABC

Print(a)

a=’ABC’

Print (a)

任务驱动与知识讲授思考:若改变代码为a=’我爱你中国’输出结果会怎么样?动手实操,并分享。

任务二:Python常用的基本数据类型

本环节由老师讲解+学生实际操作完成(提供运算符实例代码。学生只需要读懂,直接复制运行即可。)

Python 中有六个标准的数据类型:

Number(数字)

String(字符串)

List(列表)

Tuple(元组)

Set(集合)

Dictionary(字典)

Python3 的六个标准数据类型中:

不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

示例1:Number(数字)

counter =100# 整型变量

miles =1000.0# 浮点型变量

name ="runoob"# 字符串

print(counter)

print(miles)

print(name)

Python中的字符串用单引号'或双引号"括起来。

字符串的截取的语法格式如下:

变量[头下标:尾下标]

自主探究程序示例:

print(str)# 输出字符串

print(str[0:-1])# 输出第一个到倒数第二个的所有字符

print(str[0])# 输出字符串第一个字符

print(str[2:5])# 输出从第三个开始到第五个的字符

print(str[2:])# 输出从第三个开始的后的所有字符

print(str * 2)# 输出字符串两次,也可以写成 print (2 * str)

print(str + "TEST")# 连接字符串

执行以上程序会输出如下结果:

List(列表)是Python 中使用最频繁的数据类型。

列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,

它支持数字,字符串甚至可以包含列表(所谓嵌套)。

列表是写在方括号[] 之间、用逗号分隔开的元素列表。

和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所

需元素的新列表。

列表截取的语法格式如下:

变量[头下标:尾下标]

程序代码示例:

list=['abcd',786,2.23,'runoob',70.2]

tinylist =[123,'runoob']

print(list)# 输出完整列表

print(list[0])# 输出列表第一个元素

print(list[1:3])# 从第二个开始输出到第三个元素

print(list[2:])# 输出从第三个元素开始的所有元素

print(tinylist * 2)# 输出两次列表

print(list + tinylist)# 连接列表

程序代码结果:

与Python字符串不一样的是,列表中的元素是可以改变的:

元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号()里,元素之间用逗号隔开。

元组中的元素类型也可以不相同:

程序代码:

tuple = ( 'abcd', 786 , 2.23, 'runoob', 70.2 )

tinytuple = (123, 'runoob')

print (tuple) # 输出完整元组

print (tuple[0]) # 输出元组的第一个元素

print (tuple[1:3]) # 输出从第二个元素开始到第三个元素

print (tuple[2:]) # 输出从第三个元素开始的所有元素

print (tinytuple * 2) # 输出两次元组

print (tuple + tinytuple) # 连接元组

结果:

元组与字符串类似,可以被索引且下标索引从0开始,-1 为从末尾开始的位置。也可以进行截取(看上面,这里不再赘述)。

其实,可以把字符串看作一种特殊的元组。

集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。

基本功能是进行成员关系测试和删除重复元素。

可以使用大括号{ }或者set()函数创建集合,注意:创建一个空集合必须用 set ()而不是{ },因为{ }是用来创建一个空字典。

创建格式:

sites ={'Google','Taobao','Runoob','Facebook','Zhihu','Baidu '}

print(sites)# 输出集合,重复的元素被自动去掉

# 成员测试

if'Runoob'in sites :

print('Runoob 在集合中')

else :

print('Runoob 不在集合中')

# set可以进行集合运算

a =set('abracadabra')

b =set('alacazam')

print(a)

print(a - b)# a 和 b 的差集

print(a | b)# a 和 b 的并集

print(a & b)# a 和 b 的交集

print(a ^ b)# a 和 b 中不同时存在的元素

以上实例输出结果:

字典(dictionary)是Python中另一个非常有用的内置数据类型。

列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典是一种映射类型,字典用{ }标识,它是一个无序的键(key) : 值(value)的集合。

键(key)必须使用不可变类型。

在同一个字典中,键(key)必须是唯一的。

dict={}

dict['one']="1 - 菜鸟教程"

dict[2]="2 - 菜鸟工具"

tinydict ={'name': 'runoob','code':1,'site': 'https://www.doczj.com/doc/6f5184387.html,'}

print(dict['one'])# 输出键为 'one' 的值

print(dict[2])# 输出键为 2 的值

print(tinydict)# 输出完整的字典

print(tinydict.keys())# 输出所有键

print(tinydict.values())# 输出所有值

以上实例输出结果:

任务三:Python 运算符和表达式

(思考:程序中的运算符与表达式与数学中的运算符与表达式的不同?)

下方内容为第二课时内容。(本环节由老师讲解+学生实际操作完成(提供运算符实例代码。学生只需要读懂,直接复制运行即可。)

注:运算符代码查看资料包的运算符实例代码.doc。

任务四:Python 常用函数

函数名称及用法函数名称及用法

min(x) 返回变量x的最小值。chr(x) 返回整数x对应的ASCII字符。

max(x) 返回变量x的最大值。divmod(a,b) 返回ab的商和余数,以

元组的方式返回。

int(x) 把变量x转换成整型。all(x) x中的所有元素都是True才会

返回True。

float(x) 将变量x转换成浮点型。any(x) x中的所有元素中只要有一个

是True就会返回True。

sum(x) 计算变量x中元素的总和。input(x) 显示出信息x,并要求输入

数据。

print() 输出函数。

bin(x) 把数值x转换为二进制数字。Abs(x),计算变量x的绝对值。

bool(x) x如果是False、None或是空值就返回False。Len(x),计算变量x的长度,但x必须是可以计算长度的类型。

汇编语言程序设计实验教程

汇编语言程序设计实验教程

目录 第一章上机过程 (4) 1.1编辑源程序 (4) 1.2 汇编源程序 (5) 1.3连接目标程序 (6) 1.4运行程序 (7) 第二章DEBUG命令祥解 (8) 2.1 DEBUG程序使用 (8) 2.2 DEBUG的常用命令 (8) 第三章汇编语言程序设计实验 (13) 3.1实验一顺序与分支程序设计 (13) 3.2 实验二循环与子程序程序设计 (15) 3.3 实验三算术运算与代码转换程序设计 (16) 3.4 实验四字符串的匹配与替换程序设计 (18) 3.5 实验五输入输出程序设计 (19) 第四章部分实验参考答案 (21)

第一章上机过程 1.1编辑源程序 汇编语言源程序:用汇编语句编写的解决应用问题的程序。 汇编程序:将汇编语言源程序翻译成机器语言程序的系统。 汇编:将汇编语言程序翻译成机器语言程序的过程。 在编辑汇编语言源程序时,对计算机硬件工作环境无特殊要求,对软件工作环境要求也很简单,只需用建立ASCII码文本文件的软件即可。 (1)编辑软件 编辑软件:EDIT、QE、WORD、NOTEPAD等。 当输入、建立和修改源程序时,可任选一种编辑软件,不要用格式控制符,要求编辑完成的文件扩展名一定是.ASM。 (2)汇编程序 有汇编ASM.EXE、宏汇编MASM.EXE及TASM等,一般使用宏汇编MASM.EXE,因它比ASM.EXE功能强。TASM适用于8086/8088~Pentium系列指令系统所编写的汇编语言程序,是比较先进的汇编工具。 (3)连接程序 用连接程序LINK.EXE或TLINK.EXE,将MASM.EXE产生的目标代码程序(.OBJ)文件连接成可执行程序.EXE,TLINK比LINK更先进。 (4)辅助工具程序(.EXE) 进行汇编语言程序调试和文件格式转换的程序有: https://www.doczj.com/doc/6f5184387.html, 动态调试程序 EXE2BIN.EXE文件格式转换程序

汇编语言程序设计教学大纲

《汇编语言程序设计》课程教学大纲 二、课程简介 汇编语言是计算机能够提供给用户使用的最快最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言,因而,对程序的空间和时间要求很高的场合及需要直接控制硬件的应用场合,汇编语言的应用是必不可少三、课程目标 汇编语言课程是计算机专业的一门专业选修课。通过本课程的学习,应使学 生系统地了解计算机组成原理与内部的运行机理,掌握汇编语言程序设计及相关 知识,为学习本专业后继课程和进行与硬件有关的技术工作打下良好基础。通过 上机实验,使学生受到软硬件实验的初步训练,并培养学生分析问题和解决问题 的能力。 四、教学内容及要求 第一章基础知识 1.教学内容 (1) 为什么要用汇编语言编写程序 (2) 进位计数制与不同基数的数之间的转换 (3) 二进制数和十六进制数运算 (4) 计算机中数和字符的表示 (5) 几种基本的逻辑运算 2.基本要求 了解机器指令、代码指令、机器语言、汇编指令、汇编语言、汇编语言源程 序、汇编程序、汇编等概念;掌握进位计数制与不同基数的数之间的转换及

运算;计算机中数和字符的表示;“与”、“或”、“非”、“异或”等几种基本的逻辑运算; 第二章80X86计算机组织 1.教学内容 计算机系统概述、存储器、中央处理机和外部设备。 2.基本要求 理解计算机的硬件和软件系统及其关系。掌握计算机的基本结构及总线;存储器的内容、地址及存储器的分段;中央处理机的组成、80X86系列CPU工作寄存器构成和功能,特别是段寄存器和标志寄存器;外设接口、端口和8086/8088的端口地址范围和访问方法。 第三章80X86的指令系统 1.教学内容(重点内容) IBM PC机的寻址方式、IBM PC机的指令系统。 2.基本要求 熟练掌握IBM PC机寻址方式及物理地址的计算;数据传送、算术、逻辑、串处理、控制转移和处理机控制指令六组中的所有指令的格式、操作、及影响的标志位。了解机器语言的指令组成; 第四章汇编语言程序格式 1.教学内容 汇编程序功能、伪操作、汇编语言程序格式、汇编语言程序的上机过程。 2.基本要求 掌握DEBUG程序和命令及能用DEBUG 程序调试和运行简单小程序;汇编语言上机步骤、汇编程序的功能;数据定义及存储器分配、表达式赋值“EQU”和“=”、段定义、程序开始和结束、对准、基数控制等六类伪操作;汇编语言程序格式中的名字、操作、操作数和注释等项。 第五章循环与分支程序设计 1.教学内容 程序设计的一般步骤和基本结构、循环程序设计和分支程序设计 2.基本要求 掌握汇编语言程序的编制步骤和结构化程序设计的三种基本结构;循环的设计方法和多层循环的设计;分支程序的设计方法,并能编制相应的程序。第六章子程序结构 1.教学内容 子程序的设计方法、嵌套与递归子程序、子程序举例和DOS系统功能调用

汇编语言程序设计课后习题解答宋人杰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

80x86汇编语言程序设计教程》(清华大学出版社,黑色封面,杨季文著)

80x86汇编语言程序设计教程》(清华大学出版社,黑色封面,杨季文著) 《计算机操作系统原理》 《Inside Windows 2000》(微软出版社,我看的是E文版的,中文的书名想必是Windows 2000 技术内幕之类吧)。 《数据结构和算法》——这门课程能够决定一个人程序设计水平的高低,是一门核心课程。我首选的是清华版的(朱战立,刘天时) 《软件工程》——这门课程是越到后来就越发现它的重要,虽然刚开始看时就象看马哲一样不知所云。我的建议是看《实用软件工程》(黄色,清华) 《Windows 程序设计》——《北京大学出版社,Petzold著》我建议任何企图设计Windows 程序的人在学习VC以前仔细的学完它。而且前面的那本 建议:你还可以在CSDN上阅读到许多书评。这些书评能够帮助你决定读什么样的书 关于编程的网站 计算机编程 郭新明-FTP服务器体验式学习课程(张孝祥监制) https://www.doczj.com/doc/6f5184387.html,/so/so138.aspx?id=3997 https://www.doczj.com/doc/6f5184387.html,快速开发新闻系统在线播放 https://www.doczj.com/doc/6f5184387.html,/so/so138.aspx?id=4708 数字电路基础[宁波电大] https://www.doczj.com/doc/6f5184387.html,/so/so138.aspx?id=774 计算机组成与汇编语言程序设计(赵丽梅)宁波电大 https://www.doczj.com/doc/6f5184387.html,/so/so138.aspx?id=1242 操作系统(陈访荣)宁波电大(在线播放) https://www.doczj.com/doc/6f5184387.html,/so/so138.aspx?id=4708 计算机网络(马敏飞)宁波电大 https://www.doczj.com/doc/6f5184387.html,/so/so138.aspx?id=1243 https://www.doczj.com/doc/6f5184387.html, 2.0快速入门(12)-https://www.doczj.com/doc/6f5184387.html, 2.0网站快速导航 https://www.doczj.com/doc/6f5184387.html,/so/so138.aspx?id=2501 Internet和Intranet应用(薛昭旺)宁波电大 https://www.doczj.com/doc/6f5184387.html,/so/so138.aspx?id=1245 2004年电脑硬件安装调试维修视频教学讲授 https://www.doczj.com/doc/6f5184387.html,/so/so138.aspx?id=4825 https://www.doczj.com/doc/6f5184387.html, 高级排错技巧 https://www.doczj.com/doc/6f5184387.html,/so/so138.aspx?id=768 SQL Server 2000管理专家系列课程 https://www.doczj.com/doc/6f5184387.html,/so/so138.aspx?id=4832 开心三人行系列(2):使用Atlas 构建AJAX应用 https://www.doczj.com/doc/6f5184387.html,/so/so138.aspx?id=2564 Visual Basic 2005开发技巧系列课程(4): 在Visual Basic 2005中使用.NET Framework 2.0新增功能 https://www.doczj.com/doc/6f5184387.html,/so/so138.aspx?id=2526 SQL Server 2005 系列课程-使用ADO https://www.doczj.com/doc/6f5184387.html,开发SQL Server 2005 OLAP应用 https://www.doczj.com/doc/6f5184387.html,/so/so138.aspx?id=2535

51汇编语言程序设计

第四章MCS-51汇编语言程序设计 重点及难点: 单片机汇编语言程序设计的基本概念、伪指令、单片机汇编语言程序的三种基本结构形式、常用汇编语言程序设计。 教学基本要求: 1、掌握汇编语言程序设计的基本概念; 2、掌握伪指令的格式、功能和使用方法; 3、掌握顺序结构、分支结构和循环结构程序设计的步骤和方法; 4、掌握常用汇编语言程序设计步骤和方法。 教学内容 §4.1汇编语言程序设计概述 一、汇编语言的特点 (1)助记符指令和机器指令一一对应,所以用汇编语言编写的程序效率高,占用存储空间小,运行速度快,因此汇编语言能编写出最优化的程序。 (2)使用汇编语言编程比使用高级语言困难,因为汇编语言是面向计算机的,汇编语言的程序设计人员必须对计算机硬件有相当深入的了解。 (3)汇编语言能直接访问存储器及接口电路,也能处理中断,因此汇编语言程序能够直接管理和控制硬件设备。 (4)汇编语言缺乏通用性,程序不易移植,各种计算机都有自己的汇编语言,不同计算机的汇编语言之间不能通用;但是掌握了一种计算机系统的汇编语言后,学习其他的汇编语言就不太困难了。 二、汇编语言的语句格式 [<标号>]:<操作码> [<操作数>];[<注释>] 三、汇编语言程序设计的步骤与特点 (1)建立数学模型 (2)确定算法 (3)制定程序流程图 (4)确定数据结构 (5)写出源程序 (6)上机调试程序 §4.2伪指令 伪指令是程序员发给汇编程序的命令,也称为汇编命令或汇编程序控制指令。 MCS- 51常见汇编语言程序中常用的伪指令:

第四章MCS-51汇编语言程序设计91 1.ORG (ORiGin)汇编起始地址命令 [<标号:>] ORG <地址> 2.END (END of assembly)汇编终止命令 [<标号:>] END [<表达式>] 3.EQU (EQUate)赋值命令 <字符名称> EQU <赋值项> 4.DB (Define Byte)定义字节命令 [<标号:>] DB <8位数表> 5.DW (Define Word)定义数据字命令 [<标号:>] DW <16位数表> 6.DS (Define Stonage )定义存储区命令 [<标号:>] DW <16位数表> 7.BIT位定义命令 <字符名称> BIT <位地址> 8.DA TA数据地址赋值命令 <字符名称> DATA <表达式> §4.3单片机汇编语言程序的基本结构形式 一、顺序程序 [例4-1]三字节无符号数相加,其中被加数在内部RAM的50H、51H和52H单元中;加数在内部RAM的53H、5414和55H单元中;要求把相加之和存放在50H、51H和52H单元中,进位存放在位寻址区的00H位中。 MOV R0 ,# 52H ;被加数的低字节地址 MOV R1 ,# 55H ;加数的低字节地址 MOV A ,@ R0 ADD A ,@ R1 ;低字节相加 MOV @ R0 , A ;存低字节相加结果 DEC R0 DEC R1 MOV A ,@ R0 ADDC A ,@ R1 ;中间字节带进位相加 MOV @ R0 , A ;存中间字节相加结果 DEC R0 DEC R1 MOV A ,@ R0 ADDC A ,@ R1 ;高字节带进位相加 MOV @ R0 , A ;存高字节相加结果 CLR A

2位数计算器程序-汇编语言课程设计

信息学院课程设计题目:2位数计算器程序设计 __ 姓名: __ _____ 学号: ____ ___ 班级: 课程:汇编语言 ________ 任课教师:侯艳艳 ____ 2011年12月

课程设计任务书及成绩评定

目录 摘要 (2) 1.设计目的………………………………………………………………………………………………?2 2.概要设计………………………………………………………………………………………………?3 2.1系统总体分析…………………………………………………………………………?3 2.2程序流程图 (3) 3.详细设计......................................................................................................? (4) 3.1主程序及子程序说明 (4) 3.2程序代码编写 (4) 4.程序调试 (6) 4.1运行界面分析 (6) 4.2算法的分析 (6) 4.3调试过程及分析 (6) 5.心得体会 (7) 5.1设计体会...................................................................................................? (7) 5.2系统改进...................................................................................................? (7) 参考文献 (8)

8086汇编语言程序设计

实验1 简单汇编语言程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握简单汇编语言程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG 工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,汇编连接汇编源程序,并利用DEBUG 工具调试程序,验证程序的正确性。 1. 若X、Y、R、W 是存放8 位带符号数字节单元的地址,Z 是16 位字单元的 地址。试编写汇编程序,完成Z←((W-X) ÷5-Y)?(R+ 2) 。 2.试编写一个程序,测试某数是否是奇数。如该数是奇数,则把DL 的第0 位置1,否则将该位置0。 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

实验2 分支及循环程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握分支程序和循环程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,汇编连接汇编源程序,并利用DEBUG工具调试程序,验证程序的正确性。 1.编写汇编程序,统计某存储区若干个数据中英文字母的个数,并将结果在屏幕上显示。 2.从键盘任意输入一组字符数据,请编写汇编程序将该组数据加密后在屏幕上显示。参考加密方法是:每个数乘以2。(说明:本题的加密方法,同学们可以自己拟定) 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

实验3 子程序程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握子程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,并利用DEBUG工具调试程序,验证程序的正确性。 1.编程以十进制形式和十六进制形式显示AX的内容,并把两个显示功能分别封装成子程序dispDEC和dispHEX。 2.设在以EXAMSCORE为首地址的数据缓冲区依次存放某班10名同学5门功课的成绩,现要统计各位同学的总分,并将总分放在该学生单科成绩后的单元,并调用第1个程序封装好的子程序,以十进制方式显示统计情况,显示格式自行设计。请编程完成此功能。数据缓冲区参考数据定义如下: EXAMSCORE DB 01 ;学号 DB 89,76,54,77,99 ;单科成绩 DW ? ;该学生的总分 DB 02 ;学号 DB 79,88,64,97,92 ;单科成绩 DW ? ;该学生的总分 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

汇编语言程序设计(钱晓捷)课后答案

汇编语言程序设计(第二版) 钱晓捷习题答案 第二章(01) 2.1 (1)AX=1200h (2)AX=0100h (3)AX=4C2Ah (4)AX=3412h (5)AX=4C2Ah (6)AX=7856h (7)AX=65B7h 2.2(1) 两操作数类型不匹配 (2) IP指令指针禁止用户访问 (3) 立即数不允许传给段寄存器 (4) 段寄存器之间不允许传送 (5) 两操作数类型不匹配 (6) 目的操作数应为[ BP ] (7) 源操作数应为[BX+DI] (8) 立即数不能作目的操作数 2.3 lea bx,table ;获取table的首地址,BX=200H mov al,8 ;传送欲转换的数字,AL=8 xlat ;转换为格雷码,AL=12H 2.4 堆栈是一种按“先进后出”原则存取数据的存储区域。 堆栈的两种基本操作是压栈和出栈,对应的指令是PUSH和POP。 2.5 mov ax,8057h push ax mov ax,0f79h push ax pop bx ;bx=0f79h pop [bx] ;DS:[0f79h]=8057h 2.6 AL=89h CF ZF SF OF PF AL=12h 1 0 0 1 1 AL=0afh 0 0 1 0 1 AL=0afh 1 0 1 0 1 AL=00h 0 1 0 0 1 AL=0ffh 0 0 1 0 1 AL=00h 0 1 0 0 1 2.7 W=X+Y+24-Z

2.8 (1)ADD DX,BX (2)ADD AL,[BX+SI] (3)ADD [BX+0B2H],CX (4)ADD WORD PTR [0520H],3412H (5)ADD AL,0A0H 2.9;为了避免与操作数地址混淆,将题中X,Y,Z,V 字操作数改为A,B,C,D mov ax,X ;ax=A imul Y ;dx,ax = A*B (将操作数看作符号数,以下同) mov cx,ax mov bx,dx ;bx,ax <-- dx,ax =A*B mov ax,Z ;ax = C cwd ;dx,ax =C (扩展符号后为双字) add cx,ax adc bx,dx ;bx,cx <-- bx,cx+dx,ax=A*B+C sub cx,540 sbb bx,0 ;bx,cx<-- A*B+C-540 mov ax, V ;ax= D cwd ;dx,ax= D (扩展符号后为双字) sub ax, cx sbb dx, bx ;dx,ax = dx,ax - bx,cx = D-(A*B+C-540) idiv X ;运算结果:[D-(A*B+C-540h)]/A ;ax存商,dx存余数 2.10;(1)xchg的操作数不能是立即数 (2不能对CS直接赋值 (3)两个操作数不能都是存储单元 (4)堆栈的操作数不能是字节量 (5)adc的操作数不能是段寄存器 (6)没有确定是字节还是字操作 (7)in不支持超过FFH的直接寻址 (8)out只能以AL/AX为源操作数 第二章(02) 2.11; 指令AX的值CF OF SF ZF PF Mov ax,1407h1470h----- And ax,ax1470h00000 Or ax,ax1470h00000 Xor ax,ax000011 Not ax0ffffh----- Test ax,0f0f0h0ffffh00101 注意: 1. mov, not指令不影响标志位 2. 其他逻辑指令使CF=OF=0, 根据结果影响其他标志位。

汇编语言程序设计教程(第3版 卜艳萍)参考答案

汇编语言程序设计教程(第3版) 习题参考答案 第1章汇编语言基础知识 思考与练习 1.计算机系统分哪几个层次?简述计算机系统的硬件结构。 1)数字逻辑层 2) 微体系结构层 3) 指令系统层 4) 操作系统层 5) 汇编语言层 6) 高级语言层 7) 应用层 硬件系统是指构成计算机系统的物理实体或物理装置。它由控制器、运算器、存储器、输入设备和输出设备等部件构成。 2.简述用汇编语言进行程序设计的必要性。 1)程序要具有较快的执行时间,或者只能占用较小的存储容量。例如,操作系统的核 心程序段,实时控制系统的软件,智能仪器仪表的控制程序等。 2)程序与计算机硬件密切相关,程序要直接、有效地控制硬件。例如,I/O接口电路 的初始化程序段,外部设备的低层驱动程序等。 3)大型软件需要提高性能、优化处理的部分。例如计算机系统频繁调用的子程序、动 态连接库等。 4)没有合适的高级语言或只能采用汇编语言的时候。例如,开发最新的处理器程序时, 暂时没有支持新指令的编译程序。 5)汇编语言还有许多实际应用,例如分析具体系统尤其是该系统的低层软件、加密解 密软件、分析和防治计算机病毒等。 3.汉字编码主要分哪几类?每类的功能如何? 汉字编码主要分为四类:汉字输入码、汉字交换码、汉字机内码和汉字字形码。 1)为了能直接使用西文标准键盘进行输入,就必须为汉字设计相应的编码方法,即用 西文标准键盘上的字母数字串表示汉字的编码。目前,汉字输入编码方法主要有三 种:数字编码、拼音编码和字形编码。 2)汉字交换码:在不同汉字信息处理系统间进行汉字交换时所使用的编码,就是国标 码。无论采用哪种方法输入汉字,一旦输入到计算机中,必须采用统一的国标码标 识每个汉字。 3)汉字机内码是汉字在设备或信息处理系统内部最基本的表达形式,是在设备和信息 处理系统内部存储、处理、传输汉字用的编码。 4)字形编码也称为字模码,是用点阵表示的汉字字形代码,它是汉字的输出形式。4.计算机的字长是怎么定义的,试举例说明。 计算机能同时处理二进制信息的位宽定义为计算机的字长。如8086能同时进行16位二进制数据的运算、存储和传输等操作,该机器的字长为16位。 5.在汇编语言中,如何表示二进制、八进制、十进制和十六进制的数值? 用相应进制的数值加上进制标记即可。

新版汇编语言程序设计钱晓捷第1章习题答案

第1章汇编语言基础知识(全) 2010-10-18 19:32:40| 分类:答案集锦| 标签:|字号大中小订阅 第1章汇编语言基础知识 〔习题1.1〕简述计算机系统的硬件组成及各部分作用。 〔解答〕 CPU:包括运算器、控制器和寄存器组。运算器执行所有的算术和逻辑运算;控制器负责把指指令逐条从存储器中取出,经译码分析后向机器发出各种控制命令,并正确完成程序所要求的功能;寄存器组为 处理单元提供所需要的数据。 存储器:是计算机的记忆部件,它用来存放程序以及程序中所涉及的数据。 外部设备:实现人机交换和机间的通信。 〔习题1.2〕明确下列概念或符号: 主存和辅存,RAM和ROM,存储器地址和I/O端口,KB、MB、GB和TB 〔解答〕 主存又称内存是主存储器的简称,主存储器存放当前正在执行的程序和使用的数据,CPU可以直接存取,它由半导体存储器芯片构成其成本高、容量小、但速度快。辅存是辅助存储器的简称,辅存可用来长期保存大量程序和数据,CPU需要通过I/O接口访问,它由磁盘或光盘构成,其成本低、容量大,但速 度慢。 RAM是随机存取存储器的英语简写,由于CPU可以从RAM读信息,也可以向RAM写入信息,所以RAM也被称为读写存储器,RAM型半导体存储器可以按地址随机读写,但这类存储器在断电后不能保存信息;而ROM中的信息只能被读出,不能被修改,ROM型半导体通常只能被读出,但这类存储器断电 后能保存信息。 存储器由大量存储单元组成。为了区别每个单元,我们将它们编号,于是,每个存储单元就有了一个存储地址,I/O接口是由一组寄存器组成,为了区别它们,各个寄存器进行了编号,形成I/O地址,通常 称做I/O端口。 KB是千字节、MB是兆字节、GB是吉字节和TB是太字节,它们都是表示存储器存储单元的单位。 〔习题1.3〕什么是汇编语言源程序、汇编程序、目标程序? 〔解答〕 用汇编语言书写的程序就称为汇编语言源程序;完成汇编工作的程序就是汇编程序;由汇编程序编 译通过的程序就是目标程序。

IBM-PC汇编语言程序设计(第二版)课后习题答案(清华大学出版社)解析

IBM-PC汇编语言程序设计(第二版)课后习题答案(清华大学出版社) (沈美明,温冬蝉著) 第二章 1.解答:有256个 2.解答:如下图.第一个络子为000B0H字单元,注意,是字单元,第五个格子为000B3H字单元 E5 1E 3C 2A 3.解答: 30022H字节单元内容: ABH 30024H字节单元内容: EFH 30021H字单元内容: AB34H 30022H字单元内容: CDABH 4.解答: 这三个物理地址都是3017AH,说明了不同的段地址和偏移地址对应同一物理地址 5.解答: CS+IP 第一个字的物理地址为: 0AAA40H 6.解答: 条件标志OF,SF,ZF,CF,的值依次为:0,0,0,0 7.下列操作可使用那些寄存器? (1)加法和减法AX,BX,CX,DX,当然,还有这几个通用寄存器的高低位了,如AH ,AL等(2)循环计数 CX (3)乘法和除法DX,AX,AH,AL (4)保存段地址CS ,DS,ES,SS (5)表示运算结果为O FLAGS (6)将要执行的指令地址IP (7) 将要从堆栈取出数据的地址BP,SP,SS 8.可以用来指示存储器地址的寄存器有:BX,SP,BP,DI,CS,DS,SI,ES,SS,IP 9.一一对应; 5--A 4--B 2--C 3--D 12--E 9--F 11--G 10--H 13--I 8--J 7--K 6---L 1--M 15--N 14--O 第三章 1.(1)立即寻址没有 (2)直接寻址7237H (3)使用BX的寄存器寻址没有 (4)使用BX的间接寻址 637DH (5)使用BX的寄存器相对寻址0D5B4H (6)基址变址寻址8E18H (7)相对基址变址004FH 2.根据下列要求,写出相应的汇编指令。 (1)ADD DX,BX (2) ADD AL,[BX][SI] (3) ADD [BX][0B2H], CX (4) MOV AX,2A59H ADD [0524H] ,AX (5) ADD AL ,0B5H

汇编语言程序设计课程教学大纲

课程教学大纲 (理论课) 课程名称:汇编语言程序设计 适用专业:计算机科学与技术 课程类别:学科基础课 制订时间: 2006年8月 数学与计算机科学学院制

汇编语言程序设计课程教学大纲 (2002年制订,2006年修订) 一、课程代码:0502121009 二、课程类别:学科基础课程 三、预修课程:计算机导论、高级语言程序设计等 四、学分: 4学分 五、学时: 86学时(其中实验部分32学时) 六、课程概述: 汇编语言是计算机能提供给用户最快也最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言,因而在对于程序的空间和时间要求很高的场合,汇编语言是必不可少的,至于对于很多需要直接控制硬件的应用场合,则更是非用汇编语言不可。 汇编语言作为计算机专业的一门必修课程是了解计算机体系结构和操作系统的最佳切入点。通过汇编语言课程的学习,对计算机理论中包括CPU体系结构、指令调度方式、存储器管理、基本输入输出接口的理解都会有一个比较本质而且直观的认识。在对汇编语言实际运用的基础上同时还能帮助对高级语言程序设计的深入体会,包括变量的组织,地址的访问,循环与分支在机器码中的处理,调用函数时参数的传递等,所以汇编语言在本专业中是一门核心的课程,通过对本课程的学习是加深对后续课程认识的基础。 七、教学目的: 通过对本课程的学习,掌握8086微处理器的寄存器组和基本寻址方式,学生要达到对程序在计算机中的基本调度有一定认识,对二进制基础理论有深入的理解,同时熟练掌握8086汇编语言的编写方式,掌握基本的系统调用,具备良好的源程序调试能力以及最基本的、实模式下的反汇编能力。

实验一基础汇编语言程序设计

实验一基础汇编语言程序设计 实验目的 1.学习和了解TEC-XP十六位机监控命令的用法; 2.学习和了解TEC-XP十六位机的指令系统; 3.学习简单的TEC-XP十六位机汇编程序设计。 实验内容 1.使用监控程序的R命令显示/修改寄存器内容、D命令显示存储器内容、E命令修改存储器内容; 2.使用A命令写一小段汇编程序,U命令反汇编刚输入的程序,用G命令连续运行该程序,用T、P命令单步运行并观察程序单步执行情况。 3.学习联机使用TEC-XP教学试验系统和仿真终端软件。 实验要求 在使用该教学机之前,应先熟悉教学机的各个组成部分及其使用方法。 实验步骤 1.关闭电源,将大板上的COMl口与PC机的串口相连; 2.接通电源,在PC机上运行PCEC.EXE文件,设置所用PC机的串口为“l”或“2”,其它的设置一般不用改动,直接回车即可; 3.置控制开关为001110(连续、内存读指令、组合逻辑、16位、联机),开关拨向上方表示“1”,拨向下方表示“0”,“X”表示任意。其它实验相同; 4.按一下“RESET”按键,再按一下“START”’按键,主机上显示: 5.用R命令查看寄存器内容或修改寄存器的内容 1.用R命令查看寄存器或修改寄存器内容 1)在命令行提示符状态下输入: R↙;显示寄存器的内容 注:寄存器的内容在运行程序或执行命令后会发生变化。

2)在命令行提示符状态下输入: R R0↙;修改寄存器R0的内容,被修改的寄存器与所赋值之间可以无空格, 也可有—个或数个空格 主机显示: 寄存器原值:xxxx 在后面输入新的值0036 再用R命令显示寄存器内容,则R0的内容变为0036。 2.用D命令显示存储器内容 在命令行提示符状态下输入: D 2000↙ 会显示从2000H地址开始的连续128个字的内容; 连续使用不带参数的D命令,起始地址会自动加128(即80H)。

新版汇编语言程序设计习题答案(钱晓捷主编)

新版汇编语言程序设计习题答案(钱晓捷主编) 第一章汇编语言基础知识 1.1、简述计算机系统的硬件组成及各部分作用 1.2、明确下列概念或符号: 主存和辅存,RAM和ROM,存储器地址和I/O端口,KB、MB、GB和TB 1.3、什么是汇编语言源程序、汇编程序、目标程序? 1.4、汇编语言与高级语言相比有什么优缺点? 1.5、将下列十六进制数转换为二进制和十进制表示 (1)FFH (2)0H (3)5EH (4)EFH (5)2EH (6)10H (7)1FH (8)ABH 1.6、将下列十进制数转换为BCD码表示 (1)12 (2)24 (3)68 (4)127 (5)128 (6)255 (7)1234 (8)2458 1.7、将下列BCD码转换为十进制数 (1)10010001 (2)10001001 (3)00110110 (4)10010000 (5)00001000 (6)10010111 (7)10000001 (8)00000010 1.8、将下列十进制数分别用8位二进制数的原码、反码和补码表示 (1)0 (2)-127 (3)127 (4)-57 (5)126 (6)-126 (7)-128 (8)68 1.9、完成下列二进制数的运算 (1)1011+1001 (2)1011-1001 (3)1011×1001 (4)10111000÷1001 (5)1011 ∧~1011 (8)1011 ⊕1001 1001(6)1011 ∨1001(7) 1.10 数码0~9、大写字母A~Z、小写字母a~z对应的ASCII码分别是多少?ASCII码为0dh、0ah对应的是什么字符? 1.11、计算机中有一个“01100001”编码,如果把它认为是无符号数,它是10进制什么数?如果认为它是BCD码,则表示什么数?又如果它是某个ASCII码,则代表哪个字符? 1.12、简述Intel 80x86系列微处理器在指令集方面的发展。 1.13、什么是DOS和ROM-BIOS? 1.14、简述PC机最低1MB主存空间的使用情况。 1.15、罗列8086CPU的8个8位和16位通用寄存器,并说明各自的作用。 1.16、什么是标志,它有什么用途?状态标志和控制标志有什么区别?画出标志寄存器FLAGS,说明各个标志的位置和含义。

IBM-PC汇编语言程序设计课后习题答案(第二版 沈美明))

第五章 试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。答:程序段如下: BEGIN: MOV AH, 1 ;从键盘输入一个字符的DOS调用 INT 21H CMP AL, ‘a’ ;输入字符<‘a’吗 JB STOP CMP AL, ‘z’ ;输入字符>‘z’吗 JA STOP SUB AL, 20H ;转换为大写字母,用AND AL, 1101 1111B也可 MOV DL, AL ;显示一个字符的DOS调用 MOV AH, 2 INT 21H JMP BEGIN STOP: RET 编写程序,从键盘接收一个小写字母,然后找出它的前导字符和后续字符,再按顺序显示这三个字符。 答:程序段如下: BEGIN: MOV AH, 1 ;从键盘输入一个字符的DOS调用 INT 21H CMP AL, ‘a’ ;输入字符<‘a’吗 JB STOP CMP AL, ‘z’ ;输入字符>‘z’吗 JA STOP

DEC AL ;得到前导字符 MOV DL, AL ;准备显示三个字符 MOV CX, 3 DISPLAY: MOV AH, 2 ;显示一个字符的DOS调用 INT 21H INC DL LOOP DISPLAY STOP: RET 将AX寄存器中的16位数分成4组,每组4位,然后把这四组数分别放在AL、BL、CL和DL中。 答:程序段如下: DSEG SEGMENT STORE DB 4 DUP () DSEG ENDS ┇ BEGIN: MOV CL, 4 ;右移四次 MOV CH, 4 ;循环四次 LEA BX, STORE A10: MOV DX, AX AND DX, 0FH ;取AX的低四位 MOV [BX], DL ;低四位存入STORE中 INC BX SHR AX, CL ;右移四次 DEC CH

80X86汇编语言程序设计教程(杨季文)课后习题答案

第二章答案 题2.1 8086/8088通用寄存器的通用性表现在何处?8个通用寄存器各自有何专门用途?哪些寄存器可作为存储器寻址方式的指针寄存器? 答:8086/8088通用寄存器的通用性表现在: 这些寄存器除了各自规定的专门用途外,他们均可以用于传送和暂存数据,可以保存算术逻辑运算中的操作数和运算结果; 8个通用寄存器的专门用途如下: AX 字乘法,字除法,字I/O BX 存储器指针 CX 串操作或循环控制中的计数器 DX 字乘法,字除法,间接I/O SI 存储器指针(串操作中的源指针) DI 存储器指针(串操作中的目的指针) BP 存储器指针(存取堆栈的指针) SP 堆栈指针 其中BX,SI,DI,BP可作为存储器寻址方式的指针寄存器 题2.2 从程序员的角度看,8086/8088有多少个可访问的16位寄存器?有多少个可访问的8位寄存器? 答:从程序员的角度看,8086/8088有14个可访问的16位寄存器;有8个可访问的8位寄存器; 题2.3 寄存器AX与寄存器AH和AL的关系如何?请写出如下程序片段中每条指令执行后寄存器 AX的内容: MOV AX,1234H MOV AL,98H MOV AH,76H ADD AL,81H SUB AL,35H ADD AL,AH ADC AH,AL ADD AX,0D2H SUB AX,0FFH

答: MOV AX,1234H AX=1234H MOV AL,98H AX=1298H MOV AH,76H AX=7698H ADD AL,81H AX=7619H SUB AL,35H AX=76E4H ADD AL,AH AX=765AH ADC AH,AL AX=D15AH ADD AX,0D2H AX=D22CH SUB AX,0FFH AX=D12DH 题2.4 8086/8088标志寄存器中定义了哪些标志?这些标志可分为哪两类?如何改变这些标志的状态? 答: 8086/8088标志寄存器中定义了9个标志,如下: CF: Carry Flag ZF: Zero Flag SF: Sign Flag OF: Overflow Flag PF: Parity Flag AF: Auxiliary Carry Flag DF: Direction Flag IF: Interrupt-enable Flag TF: Trap Flag 这些标志可分为两类,分别为: 1、运算结果标志; 2、状态控制标志; 采用指令SAHF可把AH中的指定位送至标志寄存器低8位SF、ZF、AF、PF、CF; 采用CLC可清除CF,置CF到0 采用STC可置CF到1 采用CLD可置DF到0 采用sTD可置DF到1 采用CLI可置IF到0 采用STI可置IF到1 另外,在某些指令执行过程中会改变部分标志的状态; 题2.5 请说说标志CF和标志OF的差异。

汇编语言程序设计

《汇编语言程序设计》课程教学大纲 学时:32 学分:2 理论学时:24 实验学时:8 面向专业:电科、电信、通信课程代码:B2700009 先开课程:C语言程序设计课程性质:必修 执笔人:王艳春审定人:陈龙猛、张金政 第一部分:理论教学部分 一、说明 1、课程的性质、地位和任务 本课程属于专业基础课,是电科、电信和通信专业学生必修的核心课程之一,是进一步学习微机原理、操作系统等课程的基础。掌握它有助于提高学生对计算机系统的设计、研究、开发和应用能力。汇编语言是一种面向机器、实践性很强的程序设计语言,必须结合一种实际的计算机来组织教学。因此,本课程选择最广泛使用的IBM PC作为具体的机型来介绍。通过课堂教学和上机实践,培养学生用汇编语言进行编程的思路、方法,养成良好的程序设计习惯,并了解底层I/O 驱动软件的编程方法,熟悉源程序汇编、链接和调试运行的步骤和方法,掌握dos、BIOS功能的调用方法及使用debug工具的调试手段,为后续课的学习打下扎实的基础。 2、课程教学和教改基本要求 课程的目的与教学基本要求:本课程主要介绍汇编语言和宏汇编的基本概念,80X86CPU的指令系统和寻址方式;介绍汇编语言程序格式、伪操作和上机全过程。通过实际例子,详细叙述顺序、分支、循环、子程序等基本程序结构以及程序设计的基本方法和技巧。学习这门课程,应达到以下几个要求: ①掌握汇编语言的基本理论知识和有关概念;掌握用汇编语言编写源程序的基本原则、方法和技巧; ②具有阅读,分析汇编语言程序的能力; ③通过上机实践,能够熟练地掌握汇编语言程序的编辑、汇编、连接、运行 过程及debug工具的调试手段。

【精品】汇编语言程序设计习题答案

钱晓捷新版汇编语言程序设计习题答案 第一章汇编语言基础知识 1.1、简述计算机系统的硬件组成及各部分作用 1。2、明确下列概念或符号: 主存和辅存,RAM和ROM,存储器地址和I/O端口,KB、MB、GB和TB 1.3、什么是汇编语言源程序、汇编程序、目标程序? 1。4、汇编语言与高级语言相比有什么优缺点? 1.5、将下列十六进制数转换为二进制和十进制表示 (1)FFH (2)0H (3)5EH (4)EFH (5)2EH (6)10H (7)1FH (8)ABH 1。6、将下列十进制数转换为BCD码表示 (1)12 (2)24 (3)68 (4)127 (5)128 (6)255 (7)1234 (8)2458 1.7、将下列BCD码转换为十进制数 (1)10010001 (2)10001001 (3)00110110 (4)10010000

(5)00001000 (6)10010111 (7)10000001 (8)00000010 1.8、将下列十进制数分别用8位二进制数的原码、反码和补码表示 (1)0 (2)—127 (3)127 (4)—57 (5)126 (6)-126 (7)—128 (8)68 1。9、完成下列二进制数的运算 (1)1011+1001 (2)1011-1001(3)1011×1001(4)10111000÷1001 (5)1011 ∧~1011 (8)1011 ⊕10011001(6)1011 ∨1001(7) 1。10 数码0~9、大写字母A~Z、小写字母a~z对应的ASCII码分别是多少?ASCII 码为0dh、0ah对应的是什么字符? 1。11、计算机中有一个“01100001”编码,如果把它认为是无符号数,它是10进制什么数?如果认为它是BCD码,则表示什么数?又如果它是某个ASCII码,则代表哪个字符? 1。12、简述Intel80x86系列微处理器在指令集方面的发展。 1.13、什么是DOS和ROM—BIOS? 1。14、简述PC机最低1MB主存空间的使用情况。 1.15、罗列8086CPU的8个8位和16位通用寄存器,并说明各自的作用。

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