用汇编语言编写程序,实现两台计算机之间的通信

用汇编语言编写程序,实现两台计算机之间的通信
用汇编语言编写程序,实现两台计算机之间的通信

学号:0120911360104

课程设计

题目串行通信程序设计

学院自动化学院

专业自动化专业

班级自动化0901

姓名冯成强

指导教师李志俊

2012 年 1 月13 日

课程设计任务书

学生姓名:冯成强专业班级:自动化0901

指导教师:李志俊工作单位武汉理工大学自动化学院题目: 串行通信程序设计

初始条件:

用汇编语言编写程序,实现两台计算机之间的通信。

要求完成的主要任务:

要求:①制作RS-232通信线,并用它连接两台计算机;

②在计算机上用不同的颜色设置接收、发送区域;

③能设置发送、接收的数据长度、通信速率,并能显示接收的数据;

④可以将接收的数据作为文件保存起来;

⑤编制完整的程序并调试;

⑥撰写设计说明书及调试心得。

时间安排:

2012年元月4日~2012年元月13日下午17:30 指导教师签名:年月日

系主任(或责任教师)签名:年月日

摘要

汇编语言是面向计算机的程序设计语言。在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。这样用符号代替及其语言的二进制代码,就把机器语言变成了汇编语言。

作为最基本的编程语言之一,汇编语言的重要性毋庸置疑,因为它能够完成许多其它语言所无法完成的功能。尤其在硬件关系非常密切的程序或要提高运算速度的程序,即使是C语言也会有些力不从心,而汇编语言能够很好的扬长避短,最大限度地发挥硬件的性能。

本次课程设计的题目是用汇编语言编写程序,实现两台计算机之间的通信,要实现许多的功能,通过RS-232C通信线实现两台计算机之间的数据传输。同时,可以传输数字,在传输数字的时候能够发声,对于接收到的东西,可以保存在指定的文件中。程序还能够选择通信校验方式。

关键字:汇编语言计算机通信

串行通信程序设计

1设计任务和要求

①制作RS-232通信线,并用它连接两台计算机;

②在计算机上用不同的颜色设置接收、发送区域;

③能设置发送、接收的数据长度、通信速率,并能显示接收的数据;

④可以将接收的数据作为文件保存起来;

⑤编制完整的程序并调试;

⑥撰写设计说明书及调试心得

2设计思路

2.1设计思路

编写程序,运行程序之后,进入界面之后,界面分为两个部分,左边为接受对方机子传输过来的文件和其他的信息,右边部分显示本台机子传输的文件及数字等信息,界面顶部有提示信息,可以根据提示信息操作。在此期间,任何时候按ESC键,系统都退出运行。输入数据,在两台机子的不同部分显示相同的信息,输入完整之后,按“[”键保存文件,在按enter显示保存的文件。在输入数字时,数字传输到对方的电脑上。

2.2 程序流程图

开始

初始化COM4

键盘输入字符

YES

“ESC”?

NO

接收字符收接/发送数字传输字符

显示字符显示字符

显示数字

NO

“[”?

YES

NO

ENTER?

YES

显示保存

结束

3 软件设计

3.1 RS-232C介绍

RS-232C是一个已制定很久的标准,它描述了计算机及相关设备间较低速率的串行数据通信的物理接口及协议。它是由一个工业贸易组电子工业联合会定义的,最初是为电传打印机设备而制定。

RS-232C是你的计算机用来与你的modem及其它串行设备交谈或交换数据的接口。在你PC的某处,一般是主板上的通用异步收发器芯片,你计算机上的数据正从它的数据终端设备接口传送到一个内置或外置的modem上。因为你计算机中的数据是沿并行电路传输,而串行设备一次只能处理一个比特,因此UART芯片将把并行数据转换成连续的比特流。你PC上的DTE代理也会和modem或其他串行设备通信,而modem与这些串行设备为了遵守RS-232C标准都有一个补充的接口数据通信设备接口。

RS-232C的通讯距离和速度,RS-232C规定最大的负载电容为2500pF,这个电容限制了传输距离和传输速率,RS-232C能够可靠进行数据传输的最大通讯距离为15米。现在个人计算机提供的串行端口终端的传输速度一般都可以达到115200bps甚至更高,9600bps是最常见的传输速度,在传输距离较近时,使用最高传输速度也是可以的。传输距距离和传输速度的关系成反比,适当地降低传输速度,可以延长RS-232的传输距离,提高通讯的稳定性。

表3-1串行端口通常使用下列基本 I/O 地址和 IRQ 值:

Port Address IRQ

COM1 03FB 4

COM2 02FB 3

COM3 03EB 4

COM4 02EB 3

3.2初始化

初始化程序:

COMRD MACRO

MOV DX,3

INT 14H

MOV DX,2EBH

MOV AL,80H OUT DX,AL MOV AL,0 MOV DX,2E9H OUT DX,AL MOV AL,0CH MOV DX,2E8H OUT DX,AL MOV DX,2EBH MOV AL,AH OUT DX,AL MOV DX,2ECH MOV AL,08H OUT DX,AL

ENDM

3.3界面设计

设计要求在不同的区域用不同的颜色显示接收和发送的数据信息,通过BIOS 、DOS 系统功能调用,实现以上的要求。调用“INT 10H ”和“INT 21H ”实现颜色和区域的选择显示。使用宏定义、宏调用的方式来实现程序的调用。

表3-2 INT 21H 的功能调用表

AH

功能

调用参数

返回参数 01H 带回显的键盘输入 AL=输入字符

09H 显示字符串 DS:DX=串地址'$'结束字符串 02H

显示输出

DL=输出字符

表3-3 INT 10H 的功能表

本次课程设计的题目是用汇编语言编写程序,实现两台计算机之间的通信,所以在实现传输的过程中,两台机子都有一个传输的界面,将一整块界面分为两

功能号 功能 入口参数 显示模式属性 00H

设置显示模式

AH=00H ,AL=02H

80×25的16色 文本 01H 设置光标形状 AH =01H CH 低四位=光标的起始行 CL 低四位=光标的终止行

02H

用文本坐标下

设置光标位置

AH =02 BH =显示页码

DH =行(Y 坐标) DL =列(X 坐标)

个部分,一个部分显示传输的内容,另一个部分显示的是接受的内容。

界面程序:

SET_C 0aH,80

SET_P 0000H

PUTS INFORMATION1

SET_C 0aH,80

SET_P 0100H

PUTS INFORMATION2

SET_C 0aH,80

PUTS INFORMATION4

INFORMATION1 DB' Our Transmission test! ','$' INFORMATION2 DB' PRESS [ESC] TO EXIT ','$' INFORMATION3 DB

'-------------------------------------------------------------','$' INFORMATION4 DB' "[" TO SAVE THE MESSAGE"]" TO SEE WHAT YOU SAVED ','$'

M11 DB'WHAT YOU WANT TO SEND: ','$'

M22 DB'WHAT YOU HAVE RECEIVED:

3.4数据传输设计 3.

4.1数据传输流程图

3.4.2数据传输程序

在字符发送的阶段,键盘输入字符后,程序对字符进行判别是否为特殊的字符,特殊的字符包括“ESC ”、“[”和回车键,如果是特殊的字符,则进行相应的功能操作。如果不是特殊字符,则将字符显示在发送的界面SET_P 指定的光标的位置,和显示SET_C 指定的字体颜色。然后读取端口状态,将字符发送到

开始

将最高为清零

读状态口

收到数据?

读数据口

ESC ?

“[”?

保存

ENTER?

显示

结束

NO

YES

YES

NO

YES YES NO

另一台电脑上。

SENDS MACRO

LOCAL SEND

PUSH AX

CMP AL,1BH

JZ SEND1

CMP AL,'['

JZ SEND1

CMP AL,0DH

JZ SEND1

SET_P P1

SET_C 0EH,1

MOV DL,[SI]

MOV AH,2

INT 21H

LOCATION_sent

SET_P [BX]

SEND1: LCRCX

PUSH AX

MOV DX, 02EDH

SEND2: IN AL, DX

TEST AL, 20H

JZ SEND2

POP AX

MOV DX, 02E8H

OUT DX, AL

POP AX

ENDM

3.4.3数据接受程序

在另一台电脑字符接收时,流程和发送基本相反,先读取端口状态,如果收到数据,则将字符显示在发送的界面SET_P指定的光标的位置,和显示SET_C 指定的字体颜色。同样,如果是特殊字符“ESC”、“[”和回车键,则按照特殊字符的功能做相应的处理。

数据接受程序:

RECVS MACRO

LOCAL NEXT_R,AGAIN_R

LCRCX

MOV DX, 02EDH

IN AL, DX

TEST AL, 01H

JZ AGAIN_R

MOV DX, 02E8H

IN AL, DX

CMP AL,1BH

JZ AGAIN_R

CMP AL,'['

JZ AGAIN_R

CMP AL,0DH

JZ AGAIN_R

MOV [DI],AL

CMP AL,30H

JL NEXT_R

CMP AL,39H

JG NEXT_R

SOUND AL

NEXT_R: SET_P P2

SET_C 0AH,1

MOV DL,[DI]

MOV AH,2

INT 21H

SAVE_P P2

LOCATION_recv

INC DI

AGAIN_R:

ENDM

4 调试过程和运行结果分析

程序的调试是一个非常重要的过程,可以测试出程序有哪些地方不对,哪些地方有欠缺,还需要修改,从而对程序进行改进,使程序更加的完美,实现的功能稳定,实现程序的良好运行

在最初运行程序的时候,存在着很多的问题,首先就是界面的问题,这个比较容易解决,主要是确定光标的位置,然后在位置上面显示字符。经过微调,是界面开始去比较的整齐。在后面输入字符后,由于传输和接收是不同的两个部分,但是在换行的时候,接收的部分不会在中界处跳转到下一行,对程序检查之后,发现少了一段换行的程序。

在程序调试之后,大部分的问题已经解决,但是有些功能还是没有实现,也就放弃了。以下是程序调试之后,显示出来的结果。

进入界面之后两台电脑同时输入数据,两台电脑在不同的区域显示接受和传

输的数据,在此期间,如果按下“ESC”键,程序将退出。在输入数字之后,数字显示在界面上,同时,两台电脑发出声音。下面二图分别展示了两台电脑同时传输字符的过程,传输的字符和接受的字符分别显示在不同的地方:

字符传输/发送显示

字符传输/接收显示

按下“[”键之后,屏幕下方显示“SAVE SUCCEED”,表示本台机子接受到的字符得到保存,显示结果如图所示。

保存字符显示

在保存完数据之后,如果没有按下“ENTER”键,则可以继续传输字符,如果按下了“ENTER”键,界面跳转,显示保存的数据。此期间,可以按“ESC”退出。

图4-4 文件保存显示

5 心得体会

《微机原理及接口技术》是自动化专业一门很重要的课程,在课程设计的这段时间里,我学习到了很多知识,也有许多的体会。对于汇编语言,从不太熟悉到后面的熟悉,可以说,要掌握一门语言,并不是太难,主要是在遇到问题的时候要多查寻资料,这样就可以了解到更多,熟悉更多,然后这门语言也会被快速掌握,我们可以熟悉的运用语言。

对于程序的编写,对于我们来说仍然是一个很大的问题,在这方面,我们还需继续加强,所谓真正的好程序,是要有很多条件的,程序有逻辑性,可读性,高效性,可维护性,我们现在的编写能力还不能达到好程序的标准,在编写程序的时候,我们总是把一段程序想得比较简单,然后编写出来的程序也就是缺少一些功能,总是不能编写得很完美,在这个方面还需要加强。学习编写程序的缜密性,逻辑性。

在整个课程设计的过程中,最复杂的一段就是程序的调试,每次调试都会花很多的时间。每段程序都会遇到这样那样的问题,然后要逐条程序的检查,费时费力。但是这个过程是收获很多的,从中可以查漏补缺,学到很多的东西。同时,在程序的调试过程中我们也认识到,编程是需要细心和耐心的,如果在编程的时候做到了这些,那么在调试程序的时候我们就可以省去很多的麻烦,养成一个良好的编程习惯是很重要的!

这段时间里,通过这次课程设计,使我认识到了理论与实际相结合的重要性,对课本上的知识在实际生活中的运用也有了进一步的了解,进一步的掌握了书本上的知识,在解决困难的过程中,获得了许多专业方面的知识,拓展了视野。提高了理论水平和实际动手能力,学会了解决问题的方法,激发了我们的探索精神。这样的课程设计是很好的锻炼机会,增强了我们的实践动手能力。对于汇编语言,也更加的熟悉,从中受益匪浅。

三、参考文献

1、彭虎,周佩玲,傅忠谦等.微机原理与接口技术电子工业出版社

2、沈美明,温冬婵.IBM-PC汇编语言程序设计清华大学出版社

3、刘乐善,欧阳星明,刘学清微型计算机接口技术及应用华中理工大学出版社

4、姚燕南,薛钧义微型计算机原理西安电子科技大学出版社

5、李秉超MCS-51系列单片机在工业控制中的应用陕西杂志社

6、沙占友等新编实用数字化测量技术国防工业出版社

7、井家瑞等电子工程师手册华中工学院出版社

8、宋春荣等通用集成电路手册山东科技出版社

本科生课程设计成绩评定表姓名冯成强性别男专业、班级自动化专业自动化0901

课程设计题目:串行通信程序设计

课程设计答辩或质疑记录:

成绩评定依据:

最终评定成绩(以优、良、中、及格、不及格评定)

指导教师签字:

年月日

复试-通信学院-计算机原理及接口技术

天津工业大学硕士研究生入学考试复试科目考试大纲 课程编号:0503 课程名称:计算机原理及接口技术 一.复试的总体要求 “计算机原理及接口技术”入学复试考试是为了招收通信及信息工程、计算机应用、自动化、电子、电科、机电等类硕士研究生而实施的入学复试性考试。其指导思想是有利于选拔具有扎实的基础理论知识和具备一定实验技能的高素质人才。 要求考生能够系统地掌握计算机方面的基础理论知识和基本的实践能力以及具备运用所学的知识分析问题和解决问题的能力。 二.复试的内容及比例: 1.基础知识(30%):微机的结构、编码、码制(原码,反码,补码)的概念;补码运算原理;中断、堆栈的基本概念;总线、并行和串行通信的基础知识;常用专用名词的英文缩写等。 2.指令系统的应用(20%):基本的寻址方式(立即寻址,寄存器寻址,直接寻址,寄存器间接寻址),常用指令的操作过程,并能阅读简单程序,利用指令编写基本结构的程序段(主要是顺序,分支,循环,子程序等结构)。编写程序主要采用8086指令系统编程。 3.电路设计及电路分析(20%):存储器系统电路设计;常见的I/O接口(例8255A,8155A,8253A,8250A等)与计算机系统的连接技术;常用控制电路的设计及应用技术。主要以中断和查询两种传输方式为主,能用指令编写简单的应用程序。 4.定时器技术的应用(10%):定时和计数的基本概念,应用场合。基本的应用技术主要是8253A定时/计数器的实际应用 5.A/D,D/A技术应用(10%) 主要:DAC0832、ADC0809的基本工作原理;与8086的连接技术及应用程序的编写。 6.串行通信接口的应用(10%) 主要:异步通信的基本知识;INS8250 串行通信接口的基本工作原理;初始化设置;基本应用编程。

《计算机原理与应用》复习题参考答案

《计算机原理与应用》复习题参考答案 一、填空题 1. 2.运算器控制器 3.奇偶 4.11111.1B 5.1.1011B 6.[-x]补,右 7.对阶向右规格化 8.静态,动态 9. 10.磁表面存储器半导体存储器 11. 12.组合逻辑,微程序控制器(或微程序) 13.指令操作码微地址产生部件 14.时间分割,成组(或数据块) 15.传送前预处理传送后处理 16.内码代码转换程序 17、 18、存 19、对主存速度影响小且无明显死区控制电路复杂

20、扩大存储器容量平衡主存与CPU之间的速度 21、奇偶校验法海明校验法循环冗余校验法 22、程序直接控制方式程序中断方式DMA方式通道和IOP方式 23、对阶尾数相加规格化 24、内码代码转换程序 25、数据通路宽度主存容量指令浮点(或:典型四则、四则) 26、 27、ASCII BCD 28、容量 29、双稳态触发器电容 30、单元地址 31、后进先出主存储器 32、指令系统 33、程序计数器(或:PC)程序状态字(或:PSW) 34、中断并行 35、通道 36. 指令寄存器,程序计数器,程序状态字 37、阶码,尾数,数符 38、模块,并行,多个 39、 40、水平,垂直 41、堆栈指针,栈顶

42、触发器,电容 43、40F4H 二、选择题 1.B 2.B 3.A 4.C 5.C 6. 7.C 8.A 9.D 10.D 11、(4)12、(3)13、(1)14、(1)15、16、(2)17、(2)18、(3)19、20、(3)21.B 22.D 23. 24.C 25.A 26.AC 27.B 28. 29.C 30.C 31.D 32. 33.B 34.A 35. 36.A 37.C 38.C 39.A 40.C 41B、42D、43A 、44 D、45C、46A、47B、48C、49B、50.C 三、判断题 1、√ 2、 3、× 4、× 5、、 6、√, 7、╳, 8、, 9、╳, 10、√, 11、,12、, 13、╳, 14、, 15、√ 四、名词解释 1.基数:各数位允许选用的数码个数。或:各数位允许选用的最大数码值加1(不乘位权)。或:产生进位的该位数码值(不乘位权)。 2.DRAM: 3.高速缓存:为提高访存速度在CPU和主存间增设的一种高速存储器。

计算机组成原理与汇编语言(课后习题).

《计算机组成原理与汇编语言》习题 第一章 1. 计算机中为什么都采用二进制数而不采用十进制数? 2. 写出下列用原码或补码表示的机器数的真值: a (1 01101101 (2 10001101 (3 01011001 (4 11001110 3. 填空: a (1 (123410=(2=(16 b (2 (34.687510=(2=(16 c (3 (271.33 10 = ( 2= ( 16 d (4 (101011001001 2 = ( 10 = ( 16 e (5 (1AB.E 16 = ( 10 = ( 2 f (6 (10101010.0111 2= ( 10 = ( 16 4. 已知X=36,Y=-136,Z=-1250,请写出X、Y、Z的16位原码、反码、和补码。 5. 已知[X]补=01010101B,[Y]补=10101010B,[Z]补=1000111111111111B,求X、Y、Z及X+Y,Y-Z的十进制值为多少? 6. 用8位补码进行下列运算,并说明运算结果的进位和溢出: a (1 33+114 (233-114 (3(-33+114 (4(-33 -114 7. 将下列十进制数表示为8421BCD码: (18609 (25254 (32730 (42998

8. 将下列8421BCD码表示为十进制数和二进制数: a (101111001 (2001010000101 (3022********* (4 010********* 9. 将下列数值或字符串表示为相应的ASCII码: (151 (27FH (3C6H (4Computer (5 how are you? 10. 定点数和浮点数表示方法各有什么特点? 11. 微处理器、微型计算机和微型计算机系统三者之间有什么不同? 12. 微型计算机由哪几部分组成,各部分功能是什么? 13. CPU在内部结构上由哪几部分组成,CPU应具备什么功能? 14. 简述计算机执行指令和执行程序的过程。以书中的例子为例,说明在此三条指令执行中,哪些信号属于数据流,哪些信号属于控制流? 15. 微型计算机外部为什么采用三总线结构? 16. 数据总线和地址总线在结构和作用上有什么不同? 17. 如果某几种CPU的地址总线分别有8、16、20、32条,它们各自能寻址的存储器的容量是多少? 18. 什么是硬件,什么是软件,硬件和软件的关系如何? 19. 说明位、字节、字长的概念及它们之间的关系。 20. 计算机的发展趋势有哪些?你如何看待冯?诺依曼计算机体系结构理论? 21. 说出几种型号的CPU,它们各有什么特点? 22. 说出目前流行的几种主机板的类型以及它们的性能特点。

(整理)微型计算机原理与接口技术

4.9练习题 10、写一个宏定义,要求能把任意一个寄存器的最低位移至另一个存储器的最高位中。 DATA SEGMENT VAR1 DB 4,6 VAR2 DD 200 DUP(?) DATA ENDS STACKS SEGMENT STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATA,SS:STACKS START: MOV AX,DATA MOV DS,AX XTY MACRO X,Y MOV AX,X AND AX,1 ROR AX,1 MOV Y,AX ENDM MOV DX,1 MOV AX,0 XTY DX,AX, MOV AH,4CH INT 21H CODES ENDS END START 11、利用DOS功能调用从键盘输入60个字符到缓冲区BUF中,在按下ENTER键后在屏幕上显示这些字符。请写出程序段。 DATA SEGMENT ST1 DB 'Please input 60 characters from keyboard.',0DH,0AH,'$' BUF DB 61 DUP(?) DATA ENDS COD SEGMENT ASSUME CS:COD,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DL,07H MOV AH,2 INT 21H MOV DX,OFFSET ST1 MOV AH,9 INT 21H LEA SI, BUF MOV CX,60 LP: MOV AH,7 INT 21H MOV [SI],AL CMP AL,0DH JZ EXIT INC SI LOOP LP EXIT: MOV BX,60 SUB BX,CX MOV CX,BX LEA SI, BUF LP2: MOV DL,[SI] MOV AH,6 INT 21H INC SI LOOP LP2 MOV AH,4CH INT 21H COD ENDS END START

Windows汇编语言程序设计基础

第1章Windows汇编语言程序设计基础 Windows汇编语言程序分为控制台编程和图形界面编程两种,控制台编程相对简单一些。为了由浅入深,本书从控制台编程开始讲解。 读者总希望用最快的速度掌握书中的概貌,为此从一个最简单的程序开始。一些汇编语言语法也结合程序进行讲解,有些指令和语法用注解的方法说明。 1.1 第一个完整的Windows汇编语言程序 Windows汇编语言程序有自己的编程规范,它的编程规范比Visual C要简单得多,调试也很方便。更重要的是系统把重要的东西都呈现给读者,使读者更能掌握其中的本质。 用一条一条的汇编语言指令很难写出大程序,Windows汇编语言程序也是调用系统提供的API来写程序。因而,用Windows汇编语言同样可写出大程序。以下是一个最简单的Windows程序。 ;程序功能:显示一个信息框。 ;ex1.asm(e:\masm\base) ;程序名 ;编译链接方法: ;ml /c /coff ex1.asm ;link /subsystem:console ex1.obj .386 ;指明指令集 .model flat,stdcall ;程序工作模式,flat为Windows程序使用的模式(代码和数据 ;使用同一个4GB段),stdcall为API调用时右边的参数先入栈option casemap:none ;指明大小写敏感 include windows.inc include user32.inc includelib user32.lib include kernel32.inc includelib kernel32.lib .data ;数据段 szCaption db '抬头串',0 szText db 'Hello!',0 .code ;代码段 start:

计算机原理与汇编语言—实验报告1,2,3

实验1: 循环接收用户按键输入,将用户输入的大字母原样输出,将用户输入的小写字母转换为小写字母再输出,用户若输入数字0则退出程序,其它情况输出“error!” 实验程序代码 str db 'error!$' data ends stack segment para stack 'stack' db 100 dup(?) stack ends code segment assume ds:data,cs:code,ss:stack start:mov ax,data mov ds,ax again:mov ah,01h int 21h cmp al,'0' je next cmp al,'A' jb error ;小于A的出错 cmp al,'Z' jbe print1 ;在A,Z之间的输出print1 cmp al,'a' jb error ;在Z(41hH)和a(61H)之间的出错 cmp al,'z' jbe print2 ;在a,z之间的输出print2 jmp error print1: mov dl,al mov ah,02h int 21h jmp again ;循环输入,again print2:mov dl,al sub dl,20h mov ah,02h

int 21h jmp again ;循环输入,again error :mov dx,offset str mov ah,09h int 21h next:mov ah,4ch int 21h code ends end start 实验截图 实验总结 实践。 第一次真实的体会到汇编语言的特点,以及和C++语言的区别。 实验2: 从键盘接收用户输入的一个正整数(0-32767之间),输出该数字的所有因子。

Windows X86-64位汇编语言入门

Windows X86-64位汇编语言入门 Windows X64汇编入门(1) 最近断断续续接触了些64位汇编的知识,这里小结一下,一是阶段学习的回顾,二是希望对64位汇编新手有所帮助。我也是刚接触这方面知识,文中肯定有错误之处,大家多指正。 文章的标题包含了本文的四方面主要内容: (1)Windows:本文是在windows环境下的汇编程序设计,调试环境为Windows Vista 64位版,调用的均为windows API。 (2)X64:本文讨论的是x64汇编,这里的x64表示AMD64和Intel的EM64T,而不包括IA64。至于三者间的区别,可自行搜索。 (3)汇编:顾名思义,本文讨论的编程语言是汇编,其它高级语言的64位编程均不属于讨论范畴。 (4)入门:既是入门,便不会很全。其一,文中有很多知识仅仅点到为止,更深入的学习留待日后努力。其二,便于类似我这样刚接触x64汇编的新手入门。 本文所有代码的调试环境:Windows Vista x64,Intel Core 2 Duo。 1. 建立开发环境 1.1 编译器的选择 对应于不同的x64汇编工具,开发环境也有所不同。最普遍的要算微软的MASM,在x64环境中,相应的编译器已经更名为ml64.exe,随Visual Studio 2005一起发布。因此,如果你是微软的忠实fans,直接安装VS2005既可。运行时,只需打开相应的64位命令行窗口(图1),便可以用ml64进行编译了。

第二个推荐的编译器是GoASM,共包含三个文件:GoASM编译器、GoLINK链接器和GoRC 资源编译器,且自带了Include目录。它的最大好外是小,不用为了学习64位汇编安装几个G 的VS。因此,本文的代码就在GoASM下编译。 第三个Yasm,因为不熟,所以不再赘述,感兴趣的朋友自行测试吧。 不同的编译器,语法会有一定差别,这在下面再说。 1.2 IDE的选择 搜遍了Internet也没有找到支持asm64的IDE,甚至连个Editor都没有。因此,最简单的方法是自行修改EditPlus的masm语法文件,这也是我采用的方法,至少可以得到语法高亮。当然,如果你懒得动手,那就用notepad吧。 没有IDE,每次编译时都要手动输入不少参数和选项,做个批处理就行了。 1.3 硬件与操作系统 硬件要求就是64位的CPU。操作系统也必须是64位的,如果在64位的CPU上安装了

计算机组成原理与汇编语言综合练习题

计算机组成原理与汇编语言综合练习题 一、填空题 1.表示一个数值数据的基本要素是、、。 2.8位二进制补码所能表示的十进制整数范围是至,前者的二进 制补码表示为,后者的二进制补码表示为。 3.某机定点整数格式字长8位(包括1位符号位),用二进制表示最小负数的反 码为,最大正数的反码为。 4.在数的表示范围方面,浮点比定点。在运算规则方面,浮点比定 点。在运算精度方面,浮点比定点。 5.浮点数表示中,数据的范围由的位数据决定,数的精度由决 定。 6.已知0和9的ASCII码分别为0110000和0111001,则3的ASCII码 为,5的ASCII码为。 7.已知字符A的ASCII码为1000001,则字符B的ASCII码为,字符D 的ASCII码为。 8.15的8421码为。 9.每条指令由两部分组成,即部分和部分。 10.有一机器字16位,其中操作码占4位。若采用三地址寻址,则每个地址位为 位,可直接寻址空间为字节;若采用单地址寻址,则每个地址位为位, 可直接寻址空间为字节。 11.零地址指令是不带的机器指令,其操作数是由提供 的。 12.存储器堆栈中,需要一个,用它来指明的变化。 13.运算器的主要功能是进行。 14.SN74181 ALU是一个位运算单元,由它组成16位ALU需使用片 SNN74182 ,其目的是为了实现并行操作。 15.在微程序控制器中,微操作是由控制实现的最基本操作。一条机器指 令是由若干组成的微程序来解释执行的。 16.微程序顺序控制常用的两种方式是方式和方式。 17.控制器的控制方式有、和三种形式,其中方 式最节省时间,方式最浪费时间,而方式介于两者之间。 18.在控制器中,指令寄存器(IR)的作用是,它的位数与有 关。 19.使用Intel 2114(1K×4位)芯片32片可组成容量为 KB内存,每片片 内地址线有位。 20.若有一个512K字的存储器,它由四个存储体组成,每个存储体为16K,则该 存储体的字长是位。 21.计算机的I/O系统由、、和组成。 22.通常外部设备寻址方式有、和等三种方式。 23.中断请求是中断源向发出的申请中断要求,发出中断请求的条件 是。和。 24.中断返回时要恢复和,才能返回主程序继续执 行。 25.发向量地址和执行中断隐指令在程序中断处理过程的阶段,执 行中断服务程序在阶段,自动恢复程序断点地址在阶段。 26.中断隐指令的功能是:在响应中断之后立即中止现行程序,保护 . 和。内容,取出新的送入程序状态字寄存器,取出相应的送程序计 数器。 27.一个完整的程序中断处理过程应包括、、、 和▁五个阶段。

《微型计算机原理与接口技术》第三版)习题答案

《微机原理与接口技术》习题解答 习题1 1.1 冯·诺依曼型计算机的设计方案有哪些特点? 【解答】冯·诺依曼型计算机的设计方案是“存储程序”和“程序控制”,有以下5方面特点:(1)用二进制数表示数据和指令; (2)指令和数据存储在内部存储器中,按顺序自动依次执行指令; (3)由运算器、控制器、存储器、输入设备和输出设备组成基本硬件系统; (4)由控制器来控制程序和数据的存取及程序的执行; (5)以运算器为核心。 1.2 微处理器和微型计算机的发展经历了哪些阶段?各典型芯片具备哪些特点? 【解答】经历了6代演变,各典型芯片的特点如表1-1所示。 表1-1 微处理器的发展及典型芯片的特点 1.3 微型计算机的特点和主要性能指标有那些? 【解答】除具有运算速度快、计算精度高、有记忆能力和逻辑判断能力、可自动连续工作等基本特点以外,还具有功能强、可靠性高、价格低廉、结构灵活、适应性强、体积小、重量轻、功耗低、使用和维护方便等。 微型计算机的性能指标与系统结构、指令系统、硬件组成、外部设备以及软件配备等有关。常用的微型计算机性能指标主要有:字长、主频、内存容量、指令数、基本指令执行时间、可靠性、兼容性、性能价格比等。

1.4 常见的微型计算机硬件结构由哪些部分组成?各部分的主要功能和特点是什么? 【解答】微型计算机硬件一般由微处理器、内存储器、外存储器、系统总线、接口电路、输入/输出设备等部件组成。 主要组成部件的功能和特点分析如下: (1)微处理器:是微型计算机的核心部件,由运算单元ALU、控制单元、寄存器组以及总线接口部件等组成,其功能是负责统一协调、管理和控制系统中的各个部件有机地工作。 (2)内存储器:用来存放计算机工作过程中需要的操作数据和程序。可分为随机存储器RAM和只读存储器ROM。RAM存放当前参与运行的各种程序和数据,特点是信息可读可写,存取方便,但信息断电后会丢失;ROM用于存放各种固定的程序和数据,特点是信息固定不变,关机后原存储的信息不会丢失。 (3)系统总线:是CPU与其它部件之间传送数据、地址和控制信息的公共通道。可分成数据总线DB、地址总线AB、控制总线CB。 (4)输入/输出接口电路:完成微型计算机与外部设备之间的信息交换。由寄存器组、专用存储器和控制电路等组成。 (5)主机板:由CPU插座、芯片组、内存插槽、系统BIOS、CMOS、总线扩展槽、串行/并行接口、各种跳线和一些辅助电路等硬件组成。 (6)外存储器:使用最多的是磁盘存储器(软盘、硬盘)和光盘存储器。外存储器容量大,保存的信息不会丢失。 (7)输入/输入设备:是微型计算机系统与外部进行通信联系的主要装置。常用的有键盘、鼠标、显示器、打印机和扫描仪等。 1.5 什么是微型计算机的系统总线?说明数据总线、地址总线、控制总线各自的作用。 【解答】系统总线是CPU与其它部件之间传送数据、地址和控制信息的公共通道。 (1)数据总线:用来传送数据,主要实现CPU与内存储器或I/O设备之间、内存储器与I/O设备或外存储器之间的数据传送。 (2)地址总线:用来传送地址。主要实现从CPU送地址至内存储器和I/O设备,或从外存储器传送地址至内存储器等。 (3)控制总线:用于传送控制信号、时序信号和状态信息等。 1.6 什么是系统的主机板?由哪些部件组成? 【解答】CPU、RAM、ROM、I/O接口电路以及系统总线组成的计算机装置称为“主机”,主机的主体则是主机板。主机板上主要有CPU插座、芯片组、内存插槽、系统BIOS、CMOS、总线扩展槽、串行/并行接口、各种跳线和一些辅助电路等硬件。 1.7 计算机中有哪些常用的数制和码制?如何进行数制之间的转换? 【解答】数值数据经常用二进制、十进制、八进制和十六进制;字符数据使用ASCII码;表示十进制数字用BCD码。 (1)十进制到二进制:整数部分连续除以2后“倒取余”,小数部分连续乘以2后“正取整”; (2)二进制到十进制:将二进制数按权展开即可。 (3)二进制到八进制:将3位二进制一组对应1位八进制数码。 (4)八进制到二进制:将1位八进制数码对应3位二进制数码。 十六进制与二进制间转换与八进制与二进制间转换类似,只是比例关系为1位十六进制数码对应4位二进制数码。 1.8 将下列十进制数分别转化为二进制数、十六进制数和压缩BCD码。 (1)15.32 (2)325.16 (3)68.31 (4)214.126

微型计算机原理及应用课后习题解答

李伯成《微机原理》习题第一章 本章作业参考书目: ①薛钧义主编《微型计算机原理与应用——Intel 80X86系列》 机械工业出版社2002年2月第一版 ②陆一倩编《微型计算机原理及其应用(十六位微型机)》 哈尔滨工业大学出版社1994年8月第四版 ③王永山等编《微型计算机原理与应用》 西安电子科技大学出版社2000年9月 1.1将下列二进制数转换成十进制数: X=10010110B= 1*27+0*26+0*25+1*24+0*23+1*22+1*21 +0*21 =128D+0D+0D+16D+0D+0D+4D+2D=150D X=101101100B =1*28+0*27+1*26+1*25+0*24+1*23+1*22+0*21+0*20 =256D+0D+64D+32D+0D+16D+4D+0D=364D X=1101101B= 1*26+1*25+0*24+1*23+1*22+0*21 +1*20 =64D+32D+0D+8D+4D+0D+1D=109D 1.2 将下列二进制小数转换成十进制数: (1)X=0.00111B= 0*2-1+0*2-2+1*2-3+1*2-4+1*2-5= 0D+0D+0.125D+0.0625D+0.03125D=0.21875D (2) X=0.11011B= 1*2-1+1*2-2+0*2-3+1*2-4+1*2-5= 0.5D+0.25D+0D+0.0625D+0.03125D=0.84375D (3) X=0.101101B= 1*2-1+0*2-2+1*2-3+1*2-4+0*2-5+1*2-6= 0.5D+0D+0.125D+0.0625D+0D+0.015625D=0.703125D 1.3 将下列十进制整数转换成二进制数: (1)X=254D=11111110B (2)X=1039D=10000001111B (3)X=141D=10001101B 1.4 将下列十进制小数转换成二进制数: (1)X=0.75D=0.11B (2) X=0.102 D=0.0001101B (3) X=0.6667D=0.101010101B 1.5 将下列十进制数转换成二进制数 (1) 100.25D= 0110 0100.01H (2) 680.75D= 0010 1010 1000.11B 1.6 将下列二进制数转换成十进制数 (1) X=1001101.1011B =77.6875D

汇编语言入门

汇编语言入门教程 对初学者而言,汇编的许多命令太复杂,往往学习很长时间也写不出一个漂漂亮亮的程序,以致妨碍了我们学习汇编的兴趣,不少人就此放弃。所以我个人看法学汇编,不一定要写程序,写程序确实不是汇编的强项,大家不妨玩玩DEBUG,有时CRACK出一个小软件比完成一个程序更有成就感(就像学电脑先玩游戏一样)。某些高深的指令事实上只对有经验的汇编程序员有用,对我们而言,太过高深了。为了使学习汇编语言有个好的开始,你必须要先排除那些华丽复杂的命令,将注意力集中在最重要的几个指令上(CMP LOOP MOV JNZ……)。但是想在啰里吧嗦的教科书中完成上述目标,谈何容易,所以本人整理了这篇超浓缩(用WINZIP、WINRAR…依次压迫,嘿嘿!)教程。大言不惭的说,看通本文,你完全可以“不经意”间在前辈或是后生卖弄一下DEBUG,很有成就感的,试试看!那么――这个接下来呢?――Here we go!(阅读时看不懂不要紧,下文必有分解) 因为汇编是通过CPU和内存跟硬件对话的,所以我们不得不先了解一下CPU和内存:(关于数的进制问题在此不提) CPU是可以执行电脑所有算术╱逻辑运算与基本I/O 控制功能的一块芯片。一种汇编语言只能用于特定的CPU。也就是说,不同的CPU其汇编语言的指令语法亦不相同。个人电脑由1981年推出至今,其CPU发展过程为:8086→80286→80386→80486→PENTIUM →……,还有AMD、CYRIX等旁支。后面兼容前面CPU的功能,只不过多了些指令(如多能奔腾的MMX指令集)、增大了寄存器(如386的32位EAX)、增多了寄存器(如486的FS)。为确保汇编程序可以适用于各种机型,所以推荐使用8086汇编语言,其兼容性最佳。本文所提均为8086汇编语言。寄存器(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),有九个有意义的标志,将在下文用到时详细说明。 内存是电脑运作中的关键部分,也是电脑在工作中储存信息的地方。内存组织有许多可存放

汇编语言与计算机系统组成单选题

题干A B C D答案难度[1]电子计算机技术在半个世纪中虽有很大的进步,但至今其运行 仍遵循着一位科学家提出的基本原理。他就是( )。 牛顿爱因斯坦爱迪生冯·诺依曼D中 目前我们所说的个人台式商用计算机属于( )。巨型机中型机小型机微型机D中 冯·诺依曼机工作方式的基本特点是( )。多指令流单数据流按地址访问并顺序执行指令堆栈操作存储器按内容选择地址B中 至今为止,计算机中的所有信息仍以二进制方式表示,其理由 是( )。 节约元件运算速度快物理器件性能决定信息处理方便C中 对计算机的软、硬件资源进行管理,是( )的功能。操作系统数据库管理系统语言处理程序用户程序A中 CPU的组成中不包含( )。存储器寄存器控制器运算器A中 主机中能对指令进行译码的器件是( )。ALU运算器控制器存储器C中 许多企事业单位现在都使用计算机计算、管理职工工资,这属 于计算机的( )应用领域。 科学计算数据处理过程控制辅助工程B中 微型计算机的发展以( )技术为标志。操作系统微处理器磁盘软件B中 邮局对信件进行自动分拣,使用的计算机技术是( )。机器翻译自然语言理解机器证明模式识别D中 电子邮件是指( )。用计算机管理邮政信件通过计算机网络收发消息用计算机管理电话系统用计算机处理收发报业务B中 微型计算机的工作环境要求室温一般在15~35度,室温过低容 易造成( )。 磁盘读写出错静电干扰机内元器件受潮变质散热不好,烧毁电源A中 下列关于微处理器的描述中,( )是正确的。微处理器就是一台微机微处理器是微机系统微处理器就是主机微处理器可以用作微机的CPU D中 下列的四个叙述中,只有一个是正确的,它是( )。系统软件就是买来的软件,应用软 件就是自己编写的软件 外存上的信息可以直接进入CPU被 处理 用机器语言编写的程序可由计算机 直接执行 说一台计算机配置了FORTRAN语 言,就是说它一开机就可以用 FORTRAN语言编写和执行程序 C中 将有关数据加以分类、统计、分析,以取得有利用价值的信 息,我们称其为( )。 数值计算辅助设计数据处理实时控制C中微型计算机的分类通常以微处理器的( )来划分 。规格芯片名字长寄存器数目A中下列( )型号计算机标志了计算机时代的真正开始。ENIAC EDVAC EDSAC UNIVAC-I D中地址是内存储器各存储单元的编号,现有一个32KB的存储器, 用十六进制数表示它的地址码,则地址码应从0000H到( ) H。 3276780007FFF8EEE C中 Intel的创始人高登·摩尔总结的摩尔定律说:单片集成电路 所包含的晶体管数目大约每( )个月增加一倍。 12152418D中 在计算机未来发展展望中,计算机科学家们提出的最有可能取 代电子计算机的计算机探索方案是( )计算机。 光子计算机DNA计算机分子计算机量子计算机D中 The fundamental conceptual unit in a computer is: ( ) CPU Hard Drive Operating System Transistor D中 Virtually all computer designs are based on the von Neumann architecture. A high level view of this architecture has the following three components:( )Buses, memory, input/output controllers Hard disks, floppy disks, and the CPU memory, the CPU, and printers memory, input/output modules, and the CPU D中 Which of the following programming languages has an instruction set closest to the machine language of a computer? ( ) BASIC Fortran Assembly Language C++C中 Program that manages the resources of a computer for the benefit of the programs that run on that machine is ( ). Compiler Operating System ALU Control Unit B中 Program that translates from a high-level notation to assembly language is ( ). Compiler Instruction Set CPU Operating System A中计算机中表示地址时使用( )。无符号数原码反码补码A中对于二进制码10000000,若其值为-0,则它是用( )表示 的。 原码反码补码阶码A中对于二进制码10000000,若其值为-128,则它是用( )表 示的。 原码反码补码阶码C中对于二进制码10000000,若其值为-127,则它是用( )表 示的。 原码反码补码阶码B中字长16位,用定点补码小数表示时,一个字所能表示的范围是 ( )。 0~(1-2^-15)-(1-2^-15)~(1-2^-15)-1~+1-1~(1-2^-15)D中某机字长32位,其中1位符号位,31位尾数。若用定点整数补 码表示,则最小正整数为( )。 +1+2^31-2^32-1A中 某机字长32位,其中1位符号位,31位尾数。若用定点整数补 +1+2^31-2^32-1C中

汇编语言基础知识

汇编语言基础知识 汇编语言是直接在硬件之上工作的编程语言,首先要了解硬件系统的结构,才能有 效地应用汇编语言对其编程,因此,本章对硬件系统结构的问题进行部分探讨,首先介绍了计算机的基本结构、Intel 公司微处理器的发展、计算机的语言以及汇编语言的特点,在此基础上重点介绍寄存器、内存组织等汇编语言所涉及到的基本知识。 1.1 微型计算机概述 微型计算机由中央处理器(Central Processing Unit ,CPU )、存储器、输入输出接口电路和总线构成。CPU 如同微型计算机的心脏,它的性能决定了整个微型计算机的各项关键指标。存储器包括随机存储器(Random Access Memory ,RAM )和只读存储器(Read Only Memory ,ROM )。输入输出接口电路用来连接外部设备和微型计算机。总线为CPU 和其他部件之间提供数据、地址和控制信息的传输通道。如图1.1所示为微型计算机的基本结构。 外部设备存储器输入输出接口电路中央处理器 CPU 地址总线 数据总线 控制总线 图1.1 微型计算机基本结构 特别要提到的是微型计算机的总线结构,它使系统中各功能部件之间的相互关系变 为各个部件面向总线的单一关系。一个部件只要符合总线结构标准, 就可以连接到采用这种总线结构的系统中,使系统功能得到扩展。 数据总线用来在CPU 与内存或其他部件之间进行数据传送。它是双向的,数据总线 的位宽决定了CPU 和外界的数据传送速度,8位数据总线一次可传送一个8位二进制数据(即一个字节),16位数据总线一次可传送两个字节。在微型计算机中,数据的含义是广义的,数据总线上传送的不一定是真正的数据,而可能是指令代码、状态量或控制量。 地址总线专门用来传送地址信息,它是单向的,地址总线的位数决定了 CPU 可以直接寻址的内存范围。如 CPU 的地址总线的宽度为N ,则CPU 最多可以寻找2N 个内存单 元。

计算机组成原理与汇编语言

计算机组成原理及汇编语言试卷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 配套的硬件设备和软件系统

快速入门单片机汇编语言

快速入门单片机汇编语 言 文档编制序号:[KKIDT-LLE0828-LLETD298-POI08]

快速入门单片机汇编语言 简要: 单片机有通用型和专用型之分。专用型是厂家为固定程序的执行专门开发研制的一种单片机,其程序不可更改。通用型单片机是常用的一种供学习或自主编制程序的单片机,其程序需要自己写入,可更改。单片机根据其基本操作处理位数不同可以分为:1位、4位、8位、16、32位单片机。 正文: 在此我们主要讲解美国ATMEL公司的89C51单片机。 一、89C51单片机PDIP(双列直插式)封装引脚图: 其引脚功能如下: P0口(—):为双向三态口,可以作为输入/输出口。但在实际应用中通常作为地址/数据总线口,即为低8位地址/数据总线分时复用。低8位地址在ALE信号的负跳变锁存到外部地址锁存器中,而高8位地址由P2口输出。 P1口(—):其每一位都能作为可编程的输入或输出线。 P2口(—):每一位也都可作为输入或输出线用,当扩展系统外设时,可作为扩展系统的地址总线高8位,与P0口一起组成16位地址总线。对89c51单片机来说,P2口一般只作为地址总线使用,而不作为I/O线直接与外设相连。 P3口(—):其为双功能口,作为第一功能使用时,其功能与P1口相同。当作为第二功能使用时,每一位功能如下表所示。 P3口第二功能

Rst\Vpd:上电复位端和掉电保护端。 XTAL1(xtal2):外接晶振一脚,分别接晶振的一端。 Gnd:电源地。 Vcc:电源正级,接+5V。 PROG\ALE:地址锁存控制端 PSEN:片外程序存储器读选通信号输出端,低电平有效。 EA\vpp:访问外部程序储存器控制信号,低电平有效。当EA为高电平时访问片内存储器,若超出范围则自动访问外部程序存储器。当EA为低电平时只访问外部程序存储器。 二、常用指令及其格式介绍: 1、指令格式: [标号:]操作码 [ 目的操作数][,操作源][;注释] 例如:LOOP:ADD A,#0FFH ;(A)←(A)+FFH 2、常用符号: Ri和Rn:R表示工作寄存器,i表示1和0,n表示0~7。 rel:相对地址、地址偏移量,主要用于无条件相对短转移指令和条件转移指令。 #data:包含于指令中的8位立即数。 #data16:包含于指令中的16位立即数。

微型计算机原理与接口技术 张荣标

第一章 1.选择题 (1)C (2) D A(3) C 3填空 (1)CPU,微型计算机,系统软件,外围设备,微型计算机系统 (2)10,3,12 (3)阶数 (4)10010010B,01000100B,11010110B,FF4EH (5)3F7H,1C3H,243H,277H, 4简答题 (1)微处理器,微型计算机和微型计算机系统三者有何联系与区别? 微处理器是把原来的中央处理单元CPU的复杂电路(包括运算器和控制器)做在一片或几片大规模集成电路的芯片上。把这种微缩的CPU大规模集成电路称为微处理器。 微型计算机是以微处理器为核心,再配备上用大规模集成电路工艺制成的存储器和I/O接口就构成了微型计算机。 以微计算机为核心,再配备上系统软件、I/O设备、辅助电路和电源就构成了微机系统。微型计算机系统包括硬件和软件了两大部分。 (2)试述在计算机中常采用二进制的缘由? (3)简述如何从补码判断真值的符号? (4)BCD码与纯二进制数有何区别? 主要区别是二者对应的二进制位所表示的二进制真值不同, (5)试述机器数的定点和浮点数表示形式。 第2章 2填空题

(1)递增,A7,A5,A3,A1. (2)地址总线的宽度,00000H~0FFFFFH (3)寄存器,运算器,控制器;运算和控制 (4)SS,SP (5)MN/MX (6)主频,总线宽度 (7)20,16 3简答题 (1)什么是指令周期?什么是总线周期?一个总线周期至少包括几个时钟周期? 指令周期是一条指令执行所需的时钟周期,cpu在执行指令过程中,凡需执行访问存储器或访问I/O端口的操作都统一交给BIU的外部总线完成,进行一次访问所需的时间称为一个总线周期。一般一个基本的总线周期由4个时钟周期组成。 (2)8086CPU在最小模式下构成计算机系统至少应该包括哪几个基本的部分? (3)8086CPU中,标志寄存器包含哪些标志位?各标志位为‘0’,‘1’分别表示什么含义? (4)8086CPU中有哪些通用寄存器和专用寄存器?说明他们的作用。 (5)在8086CPU中,已知CS寄存器和IP寄存器的内容分别如下所示,请确定其物理地址. 1) CS=1000H ,IP=2000H 物理地址: CS*16+IP=10000H+2000H=12000H 2) CS=1234H ,IP=0C00H物理地址: CS*16+IP=12340H+0C00H=12F40H (6)设(AX)=2345H,(DX)=5219H,请指出两个数据相加或相减后,FLAG中状态标志位的状态. 相加: CF=0,SF=0,ZF=0,AF=0,OF=0,PF=0 相减:0010 0011 0100 0101

相关文档
最新文档