微型计算机原理教学大纲计算机各专业_第1页
微型计算机原理教学大纲计算机各专业_第2页
微型计算机原理教学大纲计算机各专业_第3页
微型计算机原理教学大纲计算机各专业_第4页
微型计算机原理教学大纲计算机各专业_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《微型计算机原理》教学大纲(计算机各专业,64学时)

课程名称:微型计算机原理

英文名称:PrinciplesofMicrocomputers

学时:50(理论教学)+14(实验)

学分:4

适用专业:计算机各专业

课程性质:必修

先修课程:计算机导论,模拟电子技术,数字电路逻辑设计等

一、课程性质与任务

本课程是计算机各专业非常重要的专业基础课之一。本课程以Intel

80x86CPU构成的微机为主讲机型,从应用角度系统深入地介绍微型计算机的

工作原理、微处理器结构、80x86指令系统、汇编语言程序设计、半导体存储

器、输入/输出与中断技术、常用可编程I/O接口芯片的特点和使用技巧;结合

典型微机系统的讲解,让学生开拓思路,拓展发展的空间,对先进的微处理器

技术(如多核处理器体系结构)有一定程度了解。学生在学完本课程之后,应

具备分析和设计微机应用系统的能力,能开展微机应用系统的研发工作,为后

续其他专业基础课或专业课如“嵌入式系统设计”、“微机接口技术”、“计算机

控制技术”等的学习打下坚实的基础。

二、教学内容、学习要求及重点难点

第1章微型计算机系统导论

(一)教学内容

本章简要介绍微型计算机的发展历史;根据冯・诺依曼计算机设计思想,

主要介绍微型计算机硬件系统的组成,三总线结构(地址总线AB、数据总线

DB、控制总线CB)以及组成计算机的五大部件(运算器、控制器、存储器、

输入及输出设备);介绍软件在计算机系统中的作用;通过在模型机上运行一

个简单的程序说明计算机的工作过程。具体内容如下:

1、计算机发展概况

2、微型计算机系统的组成

3、微型计算机硬件系统

4、微型计算机的工作过程

(二)学习要求

通过本章学习,应对微型计算机的基本概念、基本组成及工作过程有一个

基本了解,建立计算机整机概念,为后续各章节的学习打下基础。具体要求如

下:

1、了解微处理器及微型计算机的发展、分类和特点。

2、熟悉微型计算机系统各个组成部分的功能,掌握地址总线AB、数据总

线DB、控制总线CB的概念及其作用。

3、掌握CPU的概念、组成及基本工作原理。

4、了解存储器在微型计算机的作用和内存的读写操作过程,掌握有关概

念:位、字节、字、存储器容量、存储单元地址等。

5、熟悉微型计算机的工作过程,初步建立计算机整机的概念

(三)重点难点

微型计算机硬件系统的结构;地址总线AB、数据总线DB、控制总线CB

的概念及其作用;CPU的组成及基本工作原理;存储器的分类、作用及有关概

念。

第2章计算机中的数制与编码

(一)教学内容

本章首先简要介绍无符号数的表示方法、各种数制的相互转换以及二进制

数的运算规则等;然后重点介绍带符号数的表示方法、补码加减法运算以及运

算时溢出的判断方法;最后介绍十进制数的二进制编码(BCD编码)、字符

(包括字母、数字和符号)的ASCII编码以及数的定点和浮点表示方法等。具

体内容如下:

1、无符号数的表示方法

2、带符号数的表示方法

3、信息的编码

4、数的定点与浮点表示法

(二)学习要求

通过本章学习,应该熟练掌握数据(包括无符号数和有符号数)、信息等

在计算机中的表示方法,具体要求如下:

1、掌握十进制数、二进制数、十六进制数的表示方法及其相互转换。

2、熟练掌握带符号数的原码、反码、补码表示方法。

3、掌握进位和溢出的概念及其判断方法

4、了解BCD码、ASCII码的概念以及数的定点与浮点表示法。

(三)重点难点

带符号数的原码、反码、补码表示方法;进位与溢出的概念及其判断方法。

第3章80x86微处理器

(一)教学内容

本章在简要介绍80x86系列微处理器的发展概况及其性能特性的基础上,

首先重点介绍8086/8088CPU的内部结构、寄存器结构、引脚功能以及存储器

管理等;之后简要介绍具有代表性的Intel主流CPU系列的最新技术发展方向,

从应用角度介绍80x86系列微处理器内部寄存器结构及其使用方法;然后对

80x86存储器管理方式(实方式、保护方式和虚拟8086方式)进行介绍;最

后分别简要介绍80286到PentiumCPU的内部结构特点。具体内容如下:

1、80x86微处理器简介

2、8086/8088微处理器

3、8086/8088存储器和I/O组织

4、从80286到Pentium系列的技术发展

(二)学习要求

微处理器(CPU)是构成微型计算机的核心部件,是全机的控制中心,它控

制全机各功能部件协调工作,它的性能决定了整个微型计算机的性能和系统结

构。因此,学习和掌握微处理器的内部结构和工作原理是学习"微型计算机原

理"的重要基础。本章具体学习要求如下:

1、掌握8086/8088CPU的内部结构及工作原理。

2、掌握8086/8088CPU中14个寄存器的分类、作用及有关寄存器的特定

用法。

3、掌握8086/8088存储器的分段管理方式;掌握逻辑地址、物理地址的

概念以及如何由逻辑地址求物理地址。

4、了解8086/8088CPU的引脚及其功能。

5、从程序设计角度了解80286到Pentium系列CPU中的寄存器结构;了

解80x86存储器管理机制,了解实地址方式、保护虚地址方式、虚拟8086方

式的概念;了解80286到Pentium系列CPU的内部结构特点。

(三)重点难点

8086/8088CPU的内部结构及工作原理;寄存器结构;存储器分段管理方

式;逻辑地址和物理地址的概念等。对程序设计人员来讲,了解CPU内部寄

存器结构并掌握其使用方法是进行汇编语言程序设计的关键和基础,因此,牢

记8086/8088CPU内部的14个16位寄存器的名称和使用方法是本章学习的重

点,也是初学者一时难于理解和掌握的内容。

第4章80x86指令系统

(一)教学内容

本章重点介绍8086指令格式和寻址方式,包括操作数的寻址方式和转移

地址的寻址方式;然后介绍8086指令系统,包括数据传送、算术运算、位操

作、串操作、控制转移以及处理器控制等六大类指令。最后简要介绍

80x86/Pentium新增的寻址方式和增强与增加的指令。具体内容如下:

1、8086/8088指令格式

2、8086/8088指令系统的寻址方式

3、8086/8088指令系统

4、80X86寻址方式

5、80286到Pentium增强与增加的指令

(-)学习要求

指令系统是程序员编写程序的基础,因此很好地掌握本章内容是后续进一

步学习汇编语言程序设计的关键。通过本章学习,应该达到如下要求:

1、了解8086/8088指令格式。

2、熟练掌握8086/8088(包括后续CPU)的寻址方式。

3、掌握8086/8088指令系统中的各种指令的名称、功能及对操作数寻址

方式的约定。

4、熟悉80286到Pentium增强与增加的指令

(三)重点难点

操作数的寻址方式;指令中操作数允许的寻址方式,避免写出指令系统中

不存在的非法指令。

第5章汇编语言程序设计

(一)教学内容

本章以Microsoft公司的宏汇编程序MASM为背景,介绍面向80x86的汇

编语言程序设计方法。包括汇编语言源程序的格式、伪指令、宏指令以及顺序

结构、分支结构、循环结构、过程调用等汇编语言程序设计方法。具体内容如

下:

1、汇编语言源程序的格式及汇编语言上机过程

2、伪指令

3、宏指令

4、汇编语言程序设计的基本方法(包括顺序程序、分支程序、循环程序、

子程序)

5、80386及其后继机型编程

(二)学习要求

汇编语言程序设计是"微型计算机原理"课程非常重要的内容之一。通过本

章学习,应该达到如下要求:

1、熟练掌握汇编语言格式及调试方法。

2、掌握子程序和宏指令的概念、定义及其调用方法。

3、掌握DOS调用和BIOS调用的方法。

4、熟练掌握顺序程序、分支程序、循环程序设计的基本方法和一般技巧。

(三)重点难点

汇编语言源程序的编写及调试。只有通过大量的上机实践,才能真正掌握

汇编语言程序的设计。

第6章半导体存储器

(一)教学内容

本章在简要介绍半导体存储器的分类和基本存储元电路的基础上,重点介

绍了常用的几种典型存储器芯片及其与CPU之间的连接与扩展问题,并简要

介绍了目前广泛应用的几种新型存储器。具体内容如下:

1、半导体存储器的分类

2、陵机读写存储器

3、只读存储器

4、存储器与CPU的连接

5、新型存储器简介

(二)学习要求

1、了解各种半导体存储器的特点及应用场合。

2、了解随机读写存储器和只读存储器的结构原理及工作特点。

3、掌握存储器芯片的位扩展和字扩展方法。特别应注意掌握存储器芯片

与地址总线的连接问题。

(三)重点难点

存储器扩展时如何由高位地址产生片选信号。

第7章输入/输出与中断

(一)教学内容

本章介绍输入输出接口的基本概念,CPU与外设间的数据传送方式,中断

传送方式及相关技术,以及可编程中断控制器8259A的结构及编程方法。具体

内容如下:

1、I/O接口概述

2、CPU与外设之间数据传送的方式

3、中断技术

4、8086/8088中断系统

5、可编程中断控制器Intel8259A

(-)学习要求

1、了解I/O作用,掌握I/O的编址方式。

2、理解I/O设备与主机之间交换数据的控制方式。

3、了解8086/8088中断系统。

4、熟悉8259A中断控制器的结构及应用。

(三)重点难点

8259A的工作方式及编程。

三、教学进度

周实验

教学内容学时重点与难点作业

次学时

第1章微型计算机系统导论

1.1引言

微型计算机的组成

1.2计算机的发展概况

2微处理器和微型计算机P13/2.4、6,7

1.3微型计算机硬件系统

的工作过程

-1.4微型计算机软件系统

1.5微型计算机的工作过程

第2章计算机中的数制和编码

带符号数的表示、运算、P30/L2、4、6、7、9、

2.1无符号数的表示及运算2

溢出及其判断方法12、13

2.2带符号数的表示及运算

2.3信息的编码

2

2.4数的定点与浮点表示法

第3章80x86微处理器8086/8088的组成及基

2P87/1.2.3、4,5.9

3.180x86微处理器简介本工作原理

8086/8088寄存器结构

3.28086/8088微处理器

逻辑地址与物理地址的

3.38086/8088存储器和I/O2

概念

三组织

物理地址的形成

3.4从80286到Pentium系列的

2

技术发展

第4章80x86指令系统P158/1、2、3、4、6、

2

4.18086/8088指令格式8、9、11、12

四8086/8088指令系统的

4.28086/8088指令的寻址方式2

格式和寻址方式

指令中操作数寻址方式

4.38086/8088指令系统2

的常见错误形式

寻址方式与基本指令实

第一次实验2

4.38086/8088指令系统2

六汇编语言源程序的格式

4.480x86/Pentium指令系统2

第5章汇编语言程序设计汇编语言源程序的格式P213/E2、4、5、7、

2

5.1汇编语言的基本概念,15、19、

宏指令的定义与调用方

5.2伪指令语句2

5.3宏指令语句

宏指令的定义与调用方

5.4常用系统功能调用和BIOS2

调用

八5.5汇编语言程序设计的基本

方法(一)顺序及分支程序设计方

2

5.5.1顺序程序设计法

5.5.2分支程序设计

第二次实验2分支程序设计

5.5汇编语言程序设计的基本方

九循环程序设计方法

法(二)

2过程调用与宏调用的区

5.5.3循环程序设计

别与适用场合

5.5.4子程序设计

第三次实验2循环程序设计

十5.6发挥80386及其后继机型的

2

优势

第四次实验2宏指令及子程序设计

十第6章半导体存储器

6.1概述P247/E2、4、6、7、

2

6.2随机读写存储器(RAM)10

6.3只读存储器(ROM)

6.4存储器的扩展2存储器的扩展方法

6.4存储器的扩展

2

6.5几种新型存储器介绍

十第五次实验2存储器扩展实验

第7章输入/输出与中断

7.1I/O接口概述中断技术和8086/8088P280/1、2、4、5、6、

2

7.2CPU与外设之间数据传送终端系统14

的方式

7.3中断技术

十2

7.48086/8088中断系统

8086/8088中断服务程

第六次实验2

序设计

第8章可编程接口芯片及应用定时计数器的内部结构、

8.1可编程定时计数器芯片2基本工作原理、工作方式P338/1.4.6,7

8253/8254及应用

8253可编程定时器/计

第七次实验2

数器实验

并行接口芯片8255的结

可编程并行接口芯片构、基本工作原理及简单

十8.28255A2

应用

习题课、总结复习2

四、实验指导

实验一寻址方式与基本指令实验

1.1实验目的

1.熟悉80x86寻址方式及基本指令的功能,进一步理解和巩固课堂学习内

容。

2.掌握汇编语言程序设计上机过程,掌握汇编语言源程序结构,为后续汇编

语言程序设计打好基础。

3.熟悉Microsoft的DEBUG或Borland的TurboDEBUG调试工具的使用方

法。

1.2实验预习要求

1.认真阅读本书第一部分第1章,熟悉汇编语言程序设计上机步骤。

2.认真阅读本书第三部分,熟悉DEBUG调试工具的使用方法。

3.复习80x86操作数寻址方式及基本指令(数据传送、算术运算和逻辑运

算等)。

4.了解实验内容,并在实验前根据课堂所学知识回答有关问题(个别取决

于程序实际运行环境的问题除外),以便在实验时进行验证。

1.3实验内容

1.读懂下列源程序,使用EDIT生成名为EX11.ASM的源程序,汇编生成

EX11.OBJ文件和EX11.LST文件,连接生成EX11.EXE文件;用EDIT打开

EX11.LST文件,了解.LST文件包含的信息;使用DEBUG调试工具单步执行

EX1LEXE程序,注意观察IP值的变化,并回答下列问题。

(1)程序装入后,代码段寄存器CS的内容为H,代码段第一条可执

行指令MOVAX,DATA对应的机器代码为H,它是一个

字节指令,注意观察执行该指令时IP值的变化情况,该指令源操作数DATA的

寻址方式是,其值为.

(2)执行完MOVDS,DATA指令后,数据段寄存器DS的内容为H,

源程序在数据段中定义的数据82H、68H和88H被装入的存储单元的物理地址

分别为H、H和H.

(3)程序中第一条ADDAL,[BX]指令对应的机器代码为H,它

是一个字节指令,注意观察执行该指令时IP值的变化情况;该指令中

源操作数的寻址方式为,该操作数所在存储单元的逻辑地址(DS):

(BX)为,其物理地址为H;执行完该指令后(ALAH,

CF=,OF,ZF,SF,AF,PF;若两操

作数为无符号数,计算结果是否正确?若两操作数为带符号数,计算结

果是否正确?若计算结果正确,结果是正数还是负数?

(4)执行完第二条ADDAL,[BX]指令后(AL尸H,CF=,

OF,ZF,SF,AF,PF;若两操作数为无符号

数,计算结果是否正确?若两操作数为带符号数,计算结果是否正确

?

(5)指令MOVSUM,AL中目的操作数的寻址方式为。该指令执

行完后,注意观察(DS):0003H单元中值的变化,该单元的值变为H.

DATASEGMENT

NUMDB82H,68H,88H

SUMDB?

DATAENDS

CODESEGMENT

ASSUMECS:CODE,DS:DATA

START:MOVAX,DATA

MOVDS,AX

MOVBX,OFFSETNUM

MOVAL,[BX]

INCBX

ADDAL,[BX]

INCBX

ADDAL,[BX]

MOVSUM,AL

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

2,读懂下列源程序;编辑、汇编、连接生成EX12.ASM、EX12.OBJ,EX12,LST,

EX12.EXE文件;使用DEBUG单步执行EX12.EXE文件,并回答以下问题。

(1)代码段的前三条指令MOVAX,STACK,MOVSS,AX和MOVSP,

LENGTHSTL的功能为堆栈初始化,试问执行完这三条指令后,堆栈栈底所在

单元的逻辑地址(SS):(SP)为;执行PUSHAX指令后堆栈指针寄存器

(SP)=H,此时,(SS):(SP+1)和(SS):(SP)单元的值为H;执行完

PUSHBX后(SP)二_____H,此时,(SS):(SP+1)和(SS):(SP)单元的值为

H;执行完POPAX后(SP尸H;执行完POPBX后

(SP)=H;此时(AX尸_____H,(BX尸请读者通过对堆栈操作指

令执行情况的观察,进一步掌握进、出栈操作过程。

(2)执行ADDAX,BX指令后(AX尸_______H,CF=,OF

ZF,SF,AF,PF(注意考虑PF值与计算结果高8

位有无关系);若两操作数为无符号数,计算结果是否正确?若两操作

数为带符号数,计算结果是否正确?

(3)执行ANDAX,BX指令后(AX)=H,CF=,OF,

ZF,SF,AF,PF。

STACKSEGMENTstack

STLDW100HDUP(?)

STACKENDS

CODESEGMENT

ASSUMECS:CODE,SS:STACK

START:MOVAX,STACK

MOVSS,AX

MOVSP,LENGTHSTL

;表达式“LENGTHSTL”的功能为计算STL中定义的变量的个数,

;汇编后其值为100H,详见教材522

MOVAX,0101101100001010B

MOVBX,010011001010001IB

PUSHAX

PUSHBX

ADDAX,BX

POPAX

POPBX

ANDAX,BX

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

3.指出下列指令的错误原因,上机运行,观察汇编程序(MASM.EXE)给出的出

错信息,改正后再上机验证。

(1)MOVBP,BL(2)MOV[BX],[BP]

(3)MOV[BX],20H(4)INC[SI]

(5)ADDAX,[SI+DI](6)SHLAX,3

⑺PUSH2000H(8)POPAL

(9)MOVCS,AX(10)MOVDSJOOOH

有关常见汇编错误的详细内容见本书第三部分第3章“汇编语言程序常见汇

编错误分析

1.4实验报告要求

1,写出任务1和任务2中所有问题的正确答案;对实验前做错或做不出来

的问题,说明通过上机操作对这些问题有哪些新的认识。

2、写出任务3中10条错误指令的错误原因,对可以改正的指令给出其正确

形式,并分别记录汇编程序对每条错误指令给出的出错信息。

3、简要说明汇编语言程序设计的步骤,每一步使用什么工具软件,生成什

么类型的文件。

写出实验小结,内容包括实验心得(收获)、实验中遇到的问题及解决办

法、不足之处或今后应注意的问题等。

实验二分支程序设计实验

2.1实验目的

1.掌握分支程序的设计方法。

2.掌握宏定义及宏调用的基本方法。

3.了解小写和大写字母的ASCII码表示及其转换方法。了解数字及其它字

符在的ASCII码表示方法。

4.进一步掌握调试工具的使用方法

2.2实验预习要求

1.复习比较指令、条件转移指令的用法。

2.复习宏定义及宏调用的基本方法。

3.根据“2.3.3实验内容”中给出的流程图和程序框架编写源程序,以便上机

调试。

4.程序框架中显示提示信息的指令序列用宏调用实现。

5.从“2.3.4实验习题”中任选一道题目,编写源程序,以便上机调试。

2.3实验内容

从键盘输入一字符,判断该字符是小写字母、大写字母、数字或其它字符。

若输入为小写字母,显示“YouInputaLowercaseLetter!若输入为大写字母,

显示“YouInputaUppercaseLetter!5,;若输入为数字,显示“YouInputaDigit!5,;

若输入为其它字符,显示“YouInputOtherLetter!

数字0〜9的ASCII码为30H-39H;大写字母的ASCII码为41H-5AH,小

写字母的ASCII码为61H〜7AH。本题目将字符分为小写字母、大写字母、数

字及其它字符,根据键入字符的ASCII码值判断其所属类型,并显示相应的信

息。字符串显示使用功能号为09H的DOS功能调用,接收键盘输入的单个字

符使用功能号为01H的DOS功能调用。

2.4实验习题

1.在屏幕上显示信息“Areyoureallywanttoexit?”,然后从键盘输入一个字

符,若输入"Y"或"y",显示"Thankyoufdryourusing!”后程序结束;若

输入N或“n”,显示“Let'scontinue!”后程序结束;若输入其它字符,显

示“Youpressanerrorkey!”后程序结束(要求尽量使用宏指令以便使源程

序更加简洁)。

2.在屏幕上显示如下信息:

1-------------------------Panda

2-------------------------Cat

3Rabbit

4-------------------------Pig

5EXIT

(Pleasechoosel,2,3,4or5)-----

若输入1,显示“Ilikepanda”后程序结束;若输入2,显示“Ilikecat”后程序结

束;若输入3,显示“Ilikerabbit”后程序结束;若输入4,显示"Idon'tlikepig”

后程序结束;若输入5,程序直接结束;若输入其它字符,显示“Youpressanerror

key!”后程序结束(要求尽量使用宏指令以便使源程序更加简洁)。

2.5实验报告要求

1.补全“2.3.3实验内容”中源程序框架内未写出的程序代码,并说明你在调

试该程序过程中遇到了哪些问题,是如何处理的。

2.从“234实验习题”中任选一道题目,画出流程图,编写源程序,并说明

在调试过程中遇到了哪些问题,是如何处理的。

3.写出实验小结,内容包括实验心得(收获)、不足之处或今后应注意的

问题等。

实验三循环程序设计

3.1实验目的

1.掌握循环程序的设计方法。

2.掌握比较指令、转移指令和循环指令的使用方法。

3.进一步掌握调试工具的使用方法

3.2实验预习要求

1.复习比较指令、条件转移指令和循环指令。

2.复习循环程序的结构、循环控制方法等知识。

3.读懂“2.4.3实验内容”中给出的将十进制数转换为二进制数以及将二进

制数转换为十进制数的程序。

4.根据“243实验内容”中给出的流程图和程序框架编写源程序,以便上机

调试。

5.从“244实验习题”中任选一道题目,编写源程序,以便上机调试。

3.3实验内容

计算1+2+……n=?,其中n通过键盘输入。要求在屏幕上提供如下信息:

Pleaseinputanumber(l~627):;出现此信息后通过键盘输入一个小于628的

无符号整数

1+2+....n=sum;其中n为用户输入的数,sum为所求的累加和

程序运

行情况如

右图所示

(说明:图

中所运行

程序允许

累加和不大于一个32位二进制数所能表示的范围)。

1.编程指导

(1)键盘输入的十进制数如368在计算机中是以33H,36H,38H形式存放

的,如何将它们转换为一个二进制数101H0000B,以便对累加循环的循

环次数进行控制是本程序首先要解决的问题。将键盘输入的十进制数转换

为二进制数的程序清单如下:

DATASEGMENT

INFIDB"Pleaseinputanumber(0-65535):$"

IBUFDB7,0,6DUP(?)

DATAENDS

CODESEGMENT

ASSUMECS:CODE,DS:DATA

START:MOVAX,DATA

MOVDS,AX

MOVDX,OFFSETINFI

MOVAH,09H

INT21H

MOVDX,OFFSETIBUF;键入一个十进制数(<65535)

MOVAH,OAH

INT21H

MOVCL,IBUF+1;十进制数的位数送CX

MOVCH,0

MOVSI,OFFSETIBUF+2;指向输入的第一个字符(最高位)

MOVAX,0;开始将十进制数转换为二进制数

AGAIN:MOVDX,10;((OxlO+a4)xl0+...)xlO+ao

MULDX

ANDBYTEPTR[SI],OFH

ADDAL,[SI]

ADCAH,0

INCSI

LOOPAGAIN

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

本程序功能:从键盘接收一个无符号十进制整数(小于65535),将其转

换为二进制数,转换结果存在AX寄存器中。

(2)累加结果为一个16位的二进制数,为了显示结果,必需把它们转换为

十进制数。将二进制数转换为十进制数的程序清单如下:

DATASEGMENT

OBUFDB6DUP(?)

DATAENDS

CODESEGMENT

ASSUMECS:CODE,DS:DATA

START:MOVAX,DATA

MOVDS,AX

MOVBX,OFFSETOBUF+5

MOVBYTEPTR[BX],'$'

MOVCX,10;做(DX):(AX)/10运算

LOOP1:MOVDX,0;被除数高16位清0

DIVex

ADDDL,30H;将DL中的一位十进制数转换为ASCH码

DECBX

MOV[BX],DL

ORAX,AX

JNZLOOP1

;判断商是否为o,不为0继续

MOVDX,BX

MOVAH,09H

INT21H

;显示转换得到的十进制数

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

本程序功能:将存储在AX寄存器中的二进制数转换为十进制数并显示。

(1)程序框架

DATASEGMENT

INFIDB"Pleaseinputanumber(0-65535):$"

IBUFDB7,0,6DUP(?)

OBUFDB6DUP(?)

DATAENDS

CODESEGMENT

ASSUMECS:CODE,DS:DATA

START:MOVAX,DATA

接收从键盘输入的十进制数,并将其转换

为二进制数(存AX寄存器)的指令序列

MOVDS,AX

MOVCX,AX

MOVAX,0

MOVBX,1

LOOP2:ADDAX,BX

INCBX

将AX中存放的二进制数转换为十进制数

并显示的指令序列

LOOPLOOP2

CODEENDS

ENDSTART

3.4实验习题

1.从自然数1开始累加,直到累加和大于60000为止,显示累加的自然数

的个数和累加和。显示格式为:1+2+…+n=sum

其中n为累加个数,sum为累加和。

2.从键盘输入6个加数Ni、N2、N3、N4、N5和N6(均为1〜4位的无符号

十进制整数),求和并将计算结果在屏幕上显示出来。

3.从键盘输入一个无符号十进制整数(小于65536),将其转换为二进制数,

统计该二进制数中包含的1的个数,并将统计结果在屏幕上显示出来。

4.从键盘输入N个无符号十进制整数(小于256),将其转换为二进制数

后存放在字节变量BUF存储区中;对这N个数进行由大到小排序,排

序后将其仍存储在BUF中;最后将排序后的结果在屏幕上显示出来。

3.5实验报告要求

1.补全“2.4.3实验内容”中源程序框架内未写出的程序代码,并说明你在调

试该程序过程中遇到了哪些问题,是如何处理的;请考虑,如果输入的

数大于627会出现什么问题?如何解决?

2.从“244实验习题”中任选一道题目,画出流程图,编写源程序,并说明

在调试过程中遇到了哪些问题,是如何处理的。

3.写出实验小结,内容包括实验心得(收获)、不足之处或今后应注意的

问题等。

实验四宏指令及子程序设计实验

4.1实验目的

1.熟悉宏指令、宏定义、宏调用以及宏展开的概念;掌握宏指令的定义与

调用的方法。

2.掌握子程序的定义、调用以及调用程序与子程序之间参数的传递方法。

3.了解宏指令与子程序的异同以及各自的适用场合。

4.2实验预习要求

1.复习宏指令的定义与调用方法。

2.复习过子程序的定义与调用方法。

3.根据“2.5.3实验内容”中给出的流程图和程序框架编写源程序,以便上

机调试。

4.从“254实验习题”中任选一道题目,编写源程序,以便上机调试。

4.3实验内容

从键盘输入10个无符号十进制数(小于256),将其转换为二进制数并存

放在字节型变量中,

NUM飞MS-DOS方式■♦口向

找出其中的最大数,并将找

8x12.I口I嘲圆画囱国囚反

出的最大数在屏幕上显示

10

出来。12numbers:

56

要求:34

125

200

①在屏幕上显示字符234

36

串提示信息的功能由宏指89

23

令DSTRING实现;1

The

②将键盘输入的十进inthe10numbersis234

制数转换成二进制数由子

程序DTOB实现;

③在N个无符号字节型二进制数中找出最大数的功能由子程序FMAX实

现;

④将一个无符号字节型二进制数转换为十进制数并在屏幕上显示的功能

由子程序BTOAD实现。

程序运行结果如图所示。

4.4实验习题

1.从键盘输入N个十进制数,求它们的和(累加和要求不大于65535),

并将累加结果在屏幕上显示出来。要求给出必要的提示信息(用宏调用

完成);累加功能由子程序调用实现;二进制数形式的累加和转换为十

进制数并显示由子程序调用实现。

2.计算1+2+3+……No要求N由键盘输入;给出必要的提示信息(由宏

调用实现);累加功能由子程序调用实现;二进制数(累加和)转换为

十进制数并显示由子程序调用实现。

3.编写在屏幕上顺序显示ABC……Z的程序。要求两字符之间有一定的

时间延迟,通过调用宏指令实现;延迟时间常数由键盘输入;将键盘输

入的十进制数形式的延迟时间常数转换为二进制数由子程序实现。

4.5实验报告要求

1.补全“2.5.3实验内容”中源程序框架内未写出的程序代码,并说明你在

调试该程序过程中遇到了哪些问题,是如何处理的?若允许输入大于

255小于65536的十进制数,程序应如何修改?

2.从“254实验习题”中任选一道题目,画出流程图,编写源程序,并说

明在调试过程中遇到了哪些问题,是如何处理的。

3.写出实验小结,内容包括实验心得(收获)、不足之处或今后应注意的

问题等。

实验五存储器扩展实验

5.1实验目的

1.熟悉6116静态RAM的结构及使用方法。

2.掌握存储器扩展方法。

3.了解PC机总线信号的定义,领会总线及总线标准的意义

5.2实验预习要求

1.复习教材中存储器扩展的有关内容,熟悉存储器扩展时地址总线、控制总

线及数据总线的连接方法,了解6116静态RAM的工作原理。

2.预先编写好实验程序。

5.3实验内容

1.将实验台上跳线端子JB、JC(实验台右上角)的短路片插在“MEM”位置

上,拨动存储器地址范围选择开关K2,将其设置为:OFF、OFF、ON、

OFF,从而将存储器地址设置为D0000H开始的64KB空间(详见第3章)。

按图4.8-1连接线路,6116芯片插在通用插座D上。

DO

DI

D2

裁D3

D4地

线DS

D6址

D7登

MEMCS-

MEMR®

2.编写程序,将字母循环存储在扩展的SRAM6116存储器芯片

D0000H开始的单元中,然后再将其从6116中读出并在屏幕上显示。

5.4实验提示

如图5.4-1所示,6116芯片的容量为2Kx8位,芯片上的地址引脚A0-A10

(共11根)连接至系统的地址总线A0〜A10,用来对片内2K个存储单元进

行寻址。本实验中6116SRAM的片选信号CS接至实验台的MEMCS。请

注意,实验台上是如何产生MEMCS的,开关K2是如何设置地址总线A19、

A18、A17、A16的,详见第3章“存储器译码电路”的介绍。芯片上的8个

数据引脚D0~D7直接与系统的数据引脚相连。控制信号OE、WE分别连接

到实验台的MEMR和MEMW。写操作时,芯片上的控制信号CS=0,WE=0,

OE=1;读操作时,CS=0,OE=0,WE=L

5.5实验报告要求

1.根据流程图编写实验程序,并说明在实验过程中遇到了哪些问题,是如何

处理的。

2.总结存储器系统的基本扩展方法。

3.写出实验小结,内容包括实验心得(收获)、不足之处或今后应注意的问

题等。

实验六8086/8088中断服务程序设计实验

8259A中断控制器实验。该实验使用机器内部的可编程中断控制器8259A,

中断请求信号由实验台上8253定时/计数器发出,并接至内部8259A的IRQ2,

定时时间到时执行中断服务程序,显示"Thisisa8259Ainterrupt!"(或其

它字符串),中断10次后程序退出。

实验目的

①掌握8259A中断控制器的工作原理,熟悉实验中涉及到的中断屏蔽寄

存器IMR和中断服务寄存器ISR的使用方法。

②掌握中断服务程序的编写方法

实验七8253可编程定时/计数器实验

7.1实验目的

1.了解TPC-H微机接口实验台的组成;根据第3章介绍内容认知实验中将

要用到的各电路模块在实验箱中的位置,为以后的实验打下基础。

2.了解实验台如何通过插在微机主板上的ISA总线扩展槽中的接口卡经扁

平电缆将ISA总线信号(62个)引入实验箱,从而通过实验箱进行各种

接口电路的实验。

3.进一步掌握8253的基本工作原理和编程方法。

7.2实验预

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论