第5章 指令与指令系统和汇编语言程序设计(2)
- 格式:ppt
- 大小:249.04 KB
- 文档页数:20
第五章指令系统操作系统:DOS,WINDOWS,UNIX,......程序设计语言服务程序:KV300,PCTOOLS,...机器语言:汇编语言:高级语言解释执行编译执行PASCAL易教好学FORTRAN 计算C 长于计算控制BASIC易学好记COBOL事务管理应用软件:WORD,EXCEL,ACCESS,DBASE,......二进制,CPU直接执行的指令系统把源程序汇编成机器语言目标程序计算机系统软件5.1 指令系统概述计算机系统中运行的软件有系统软件和应用软件两种。
系统软件对整个计算机系统进行调度、管理、监视、服务,为用户提供使用方便,扩大机器功能,提高机器使用效率。
应用软件是用户针对某种领域实际应用需求而开发的软件。
许多通用商品化的应用软件现已成为系统软件,如Word 等。
前述所有各种软件的设计基础就是计算机的指令系统。
名词解释:指令:命令计算机直接进行某种基本操作的二进制代码串,也叫机器语言代码。
每条指令可以完成一个独立的算术运算或逻辑运算操作。
从计算机组成的层次结构来说,计算机的指令有微指令、机器指令和宏指令。
微指令是微程序级的命令,它属于硬件;宏指令是由若干条机器指令组成的软件指令,它属于软件;而机器指令则介于微指令与宏指令之间。
指令系统:一台计算机能直接理解与执行的全部指令的集合称为该机的指令系统,也叫机器语言。
指令系统是进行计算机逻辑设计和编制程序的基本依据。
它直接说明了这台计算机的功能.不同类型CPU的指令系统是不能混用与兼容的,但同一系列的CPU一般升级后指令都有扩充,并可兼容。
复杂指令系统计算机(CISC)和精简指令系统计算机(RISC)5.2指令格式5.2.1 指令的结构指令字:代表指令的一组二进制代码信息;指令长度:指令字中二进制代码的位数;1、典型的指令格式OP A操作码OP——指明操作性质的命令码,提供指令的操作控制信息。
操作对象A——说明操作数存放的地址,有时则就是操作数本身。
第五章指令系统一、选择题1、采用直接寻址,操作数在中。
A、主存B、寄存器C、硬盘D、光盘2、为了缩短指令中某个地址段的位数,有效的方法是采取。
A、立即寻址B、变址寻址C、间接寻址D、寄存器寻址3、指令系统采用不同寻址方式的目的是。
A、实现存储程序和程序控制B、缩短指令长度,扩大寻址空间,提高编程灵活性C、可以直接访问外存D、提供扩展操作码的可能,并降低指令译码难度4、假设寄存器R中的数值为200,主存地址为200和300的地址单元中存放的内容分别是300和400,则方式下访问到的操作数为200。
A、直接寻址200B、寄存器间接寻址(R)C、存储器间接寻址(200)D、寄存器寻址R5、输入输出指令的功能是。
A、进行算术运算和逻辑运算B、进行主存和CPU之间的数据传送C、进行I/O设备和CPU之间的数据传送D、改变程序执行的顺序6、下列关于RISC的描述中,不正确的是。
A、只选用简单的,使用频率高的指令,所以采用RISC的CPU的性能较差,不能运行复杂的指令B、指令长度固定,指令格式和寻址方式少C、采用硬布线逻辑,提高指令执行的速度D、采用指令流水线技术,大部分指令都能在一个机器周期中完成。
7、间接寻址是指。
A、指令中直接给出操作数地址B、指令中直接给出操作数C、指令中间接给出操作数D、指令中间接给出操作数的地址8、基址寻址方式中,操作数的有效地址等于。
A、基址寄存器的内容加上形式地址(偏移量)B、变址寄存器的内容加上形式地址(偏移量)C、程序计数器的内容加上形式地址(偏移量)D、堆栈寄存器的内容加上形式地址(偏移量)8.通常指令编码的第一个字段是__ __A.操作B.指令C.操作码D.控制码9.堆栈常用于 _A.程序转移B.输入输出C.数据移位D.保护程序现场10.在堆栈中保持不变的是_ _A.栈指针B.栈底C.栈顶D.栈中数据11.设寄存器R=1000,地址1000处的值为2000,2000处为3000,PC的值为4000,用相对寻址方式,-2000(PC)的操作数是__ __A.4000 B.3000C.5000 D.700012.直接转移指令的功能是将指令中的地址代码送入__ __A.PC B.累加器C.存储器 D.地址寄存器13.以下的 D 不能支持数值处理。
大学计算机基础第五章第五章软件技术基础1.程序设计语言(1)机器语言和汇编语言由计算机硬件系统可以识别的指令组成的语言称为机器语言。
汇编语言是将机器指令映射为一些可以被人读懂的助记符。
由于计算机只能识别机器语言,所以汇编语言通常需要通过汇编程序翻译为机器语言。
汇编语言的翻译软件称为汇编程序,它可以将程序员写的助记符直接转换为机器指令,然后由计算机去识别和执行。
用机器语言编写的程序是计算机可以直接执行的程序。
用机器语言编写的程序,代码长度短,执行效率高。
但是,这种语言的缺点也很明显。
最主要的是编写机器语言程序必须要熟知CPU 的指令代码,编写程序既不方便,又容易出错,调试查错也非常困难。
而且编写的程序只能在特定的机器上运行,没有通用性。
(2)高级语言高级语言源程序翻译为指令代码有两种做法:编译或者解释。
编译通过编译程序来完成。
解释则是通过解释程序完成。
解释的结果产生可以直接执行的指令。
编译的结果是得到目标程序。
目标程序也是要经过连接才会得到可执行程序目前应用比较广泛的几种高级语言由FORTRAN/BASIC/PASCAL/C等。
(3)面向对象的语言(4)未来的语言2、语言处理程序语言处理程序是把源程序翻译成机器语言的程序,可分为三种:汇编程序、编译程序和解释程序。
(1)汇编程序把汇编语言源程序翻译成机器语言程序的程序称为汇编程序,翻译的过程称为汇编。
汇编程序在翻译源程序时,总是对源程序从头到尾一个符号一个符号地进行阅读分析,一般用两遍扫描完成对源程序的加工转换工作。
汇编语言在翻译的同时,还对各种形式的错误进行检查和分析,并反馈给用户,以便修改。
反汇编程序也是一种语言处理程序,它的功能与汇编程序相反,它能把机器语言程序转换成汇编语言程序。
(2)编译程序编译程序是把高级语言源程序(如Fortran、Pascal、C 等)翻译成目标程序(机器语言程序)的一种程序,翻译的过程称为编译。
(3)解释程序解释程序也是一种对高级语言源程序进行翻译处理及的程序。
第1章微机运算基础习题和思考题1.请完成以下计算:174.66D=(10101110.10101)B=(AE. A8)H10101110101.01011B=(1397.344)D=(575.58)H4BCH=(010*********)B=()BCD2.设字长为8位,X=(2A)16,当X分别为原码、补码、反码和无符号数的时候,其真值是多少?答:当X表示原码时,其真值为:+101010当X表示补码时,其真值为:+101010当X表示反码时,其真值为:+101010当X表示无符号数数时,其真值为:001010103.设字长为8位,用补码形式完成下列计算,要求有运算结果并讨论是否发生溢出?120+18 -33-37-90-70 50+84答:120+18其补码形式分别为:(120)补=01111000 (18)补=0001001001111000+ 0001001010001010由于C s=0 ,C p=1,因此有溢出,结果错误-33-37其补码形式为:(-33)补=11011111 (-37)补=1101101111011111+1101101110111010由于C s=1, C p=1,所以没有溢出,结果正确-90-70其补码形式为:(-90)补=10011100 (-70)补=1011101010011100+1011101001010110由于C s=1, C p=0,所以有溢出,结果错误50+84其补码形式为:(50)补=00110010 (84)补=0101010000110010+0101010010000110由于C s=0, C p=1,所以有溢出,结果错误4.请写出下列字符串的ASCII码值。
My name is Zhang san.4D 79 6E 61 6D 65 69 73 5A 68 61 6E 67 73 61 6E 2E第2章 80X86微机系统习题与思考题1.微型计算机主要由哪些基本部件组成?各部件的主要功能是什么?答:微型计算机主要由输入设备、运算器、控制器、存储器和输出设备组成。
习题51.试说明以下指令中各操作数的寻址方式,如果是存储器寻址,请给出其EA计算公式,并说明所使用的段寄存器。
(1)MOV AL,08H 源操作数:立即数寻址目的操作数:寄存器寻址(2)MOV [0120H],BL 源操作数:寄存器寻址目的操作数:直接寻址,EA=0120H,使用DS段寄存器(3)ADD [BX],AL 源操作数:寄存器寻址目的操作数:寄存器间接寻址,EA=(BX),使用DS段寄存器(4)PUSH [SI]0200H 源操作数:变址寻址,EA=(SI)+0200H,使用DS段寄存器目的操作数:隐含寻址(指令中未直接体现)(5)SUB AX,[BP] 源操作数:寄存器间接寻址,EA=(BP),使用SS段寄存器目的操作数:寄存器寻址(6)AND V AR1+4,DL 源操作数:寄存器寻址目的操作数:直接寻址,EA=V AR1+4,使用DS段寄存器(7)PUSHF 源操作数、目的操作数均为隐含寻址(8)MOV ES : [BX]0100H, AL 源操作数:寄存器寻址目的操作数:基址寻址,EA=(BX)+0100H,用ES段寄存器(9)ADC BYTE PTR [BP][SI]0210H,45H源操作数:立即数寻址目的操作数:基址变址寻址,EA=(BP)+(SI)+0210H,使用SS段寄存器(10)OR ARRY[BX][DI],CL源操作数:寄存器寻址目的操作数:基址变址寻址,EA=(BX)+(DI)+ARRY,使用DS段寄存器2.试分析下列汇编指令是否存在语法错误,如果有语法错误存在,请说明是怎样的错误。
(1)PUSH 8243H错误,单操作数指令不能使用立即数(2)POP AL错误,进栈、出栈指令的操作数应为16位(3)MOV AL,6543H错误,源、目的操作数类型不匹配(4)ADD [0100H],64H错误,目的操作数应使用PTR运算符指出类型,否则具有二义性正确的写法:ADD BYTE PTR [0100H],64H,(或使用WORD PTR)(5)ADC V AR1,V AR2错误,8086指令系统的双操作数指令中,必须有一个是寄存器,不能两个操作数同为内存单元(6)MOV DS,ES错误,段寄存器间不能使用MOV指令直接传递数据,必须通过通用寄存器作为中转(7)MOV DS,0620H错误,使用MOV指令向段寄存器传递数据时,不能使用立即数(8)LEA BX,AX错误,L EA指令的源操作数必须为内存单元(9)DEC AL,AH错误,DEC指令为单操作数指令(10)SHR BL,3错误,当移位次数大于1时,在移位指令中特定使用CL寄存器给出移位次数正确的写法:MOV CL, 3SHR BL, CL3.试说明分别执行下列各组指令后,CF、OF、AF、ZF、SF、PF这六个状态标志分别是怎样的取值。
计算机组成原理与汇编语言程序设计课后习题及解答徐洁,俸远祯电子工业出版社第1章习题一1.什么是程序存储工作方式?答:计算机的工作方式——存储程序工作方式。
即事先编写程序,再由计算机把这些信息存储起来,然后连续地、快速地执行程序,从而完成各种运算过程。
2.采用数字化方法表示信息有哪些优点?用数字化方法表示信息的优点:(1)抗干扰能力强, 可靠性高。
(2)依靠多位数字的组合,在表示数值时可获得很宽的表示范围以及很高的精度。
(3)数字化的信息可以存储、信息传送也比较容易实现。
(4)可表示的信息类型与范围及其广泛,几乎没有限制。
(5)能用逻辑代数等数字逻辑技术进行信息处理,这就形成了计算机硬件设计的基础。
3.如果有7×9点阵显示出字符A的图像,请用9个七位二进制代码表示A的点阵信息。
4.数字计算机的主要特点是什么?1. (1)能在程序控制下自动连续地工作;(2|)运算速度快;(3)运算精度高;(4)具有很强的信息存储能力;(5)通用性强,应用领域及其广泛。
5.衡量计算机性能的基本指标有哪些?答:衡量计算机性能的基本指标:(1)基本字长——参加一次运算的数的位数;(2)数据通路宽度——数据总线一次能并行传送的位数;(3)运算速度——可用①CPU的时钟频率与主频,②每秒平均执行指令数,③典型四则运算的时间来表示。
(4)主存储器容量——可用字节数或单元数(字数)×位数来表示。
(6)配备的外围设备及其性能。
(7)系统软件配置。
7.系统软件一般包括哪些部分?列举你所熟悉的三种系统软件。
系统软件一般包括操作系统,编译程序、解释程序、各种软件平台等。
例如WINDOWS98操作系统,C 语言编译程序等,数据库管理系统。
8.对源程序的处理有哪两种基本方式?对源程序的处理通常有两种处理方式:解释方式和编译方式。
第2章习题二1.将二进制数(101010.01)2 转换为十进制数及BCD码。
解:(101010.01)2 = (42.25)10 = (01000010.00100101)BCD2.将八进制数(37.2)8转换为十进制数及BCD码.解:(37.2)8 = (31.25)10 =(00110001.00100101)BCD3.将十六进制数(AC.E)转换为十进制数及BCD码.解: (AC.E)16 =(172.875)10 = (000101110010.100001110101)BCD4.将十进制数(75.34)10转换为8位二进制数及八进制数、十六进制数。
目录系统认识 (1)实验一数码转换编程及程序调试 (5)实验二运算类编程实验 (11)实验三分支程序、循环程序设计实验 (16)实验四子程序设计实验 (22)实验五显示程序实验 (26)实验六串行通讯应用实验 (27)附录WMD86 联机软件使用说明 (40)系统认识一、实验目的掌握TD-PITE微机原理与接口技术教学实验系统的操作,熟悉Wmd86联机集成开发调试软件的操作环境。
二、实验设备PC微机一台,TD-PITE实验装置一套。
三、实验内容编写实验程序,将00H~0FH共16个数写入内存3000H开始的连续16个存储单元中。
四、实验步骤1. 运行Wmd86软件,进入Wmd86集成开发环境。
2. 根据程序设计使用语言的不同,通过在“设置”下拉列表来选择需要使用的语言,如图1所示。
语言选择后,下次再启动软件,语言环境保持这次的修改不变。
在这里,我们选择汇编语言。
图13. 语言选择后,点击新建或按Ctrl+N组合键来新建一个文档,如图2所示。
默认文件名为Wmd861。
图24. 编写实验程序,如图3所示,并保存,此时系统会提示输入新的文件名,输完后点击保存。
图3程序:SSTACK SEGMENT STACK ;定义堆栈段DW 32 DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODE, SS:SSTACKSTART: PUSH DSXOR AX, AXMOV DS, AXMOV SI, 3000H ;建立数据起始地址MOV CX, 16 ;循环次数AA1: MOV [SI], ALINC SI ;地址自加1INC AL ;数据自加1LOOP AA1AA2: JMP AA2CODE ENDSEND START5. 点击,编译文件,若程序编译无误,则输出如图4所示的输出信息,然后再点击进行链接,链接无误输出如图5所示的输出信息。
图4图56. 连接PC与实验系统的通讯电缆,打开实验系统电源。
汇编语言程序设计教程(第二版)习题参考答案第1章计算机基础知识1.计算机的应用分哪几个方面,请举例说明书中未提到的领域的计算机应用。
科学计算、数据处理、计算机控制、计算机辅助设计、人工智能、企业管理、家用电器、网络应用。
书中未提及的如:远程教育、住宅小区控制、飞行系统控制与管理等。
2.简述计算机的发展过程,请查阅相关资料,列出微机的发展过程。
电子管、晶体管、集成电路、大规模集成电路以IBM为例,微机的发展:4004、8008、8080、8086/8088、80286、80386、80486、Pentium 系列3.计算机的字长是怎么定义的,试举例说明。
计算机能同时处理二进制信息的位宽定义为计算机的字长。
如8086能同时进行16位二进制数据的运算、存储和传输等操作,该机器的字长为16位。
4.汇编语言中的基本数据类型有哪些?数值型数据和非数值型数据。
非数值数据如字符、字符串、逻辑值等。
(1)7BCH=011110111100B=1980D(2)562Q=101110010B=370D(3)90D=01011010B=5AH(4)1110100.111B=164.7Q=74.EH30H~39H 41H~5AH 61H~7AH9.在汇编语言中,如何表示二进制、八进制、十进制和十六进制的数值?用相应进制的数值加上进制标记即可。
二进制用B,如10101010B八进制用Q,如437Q。
十进制用D或不用,如54D,或54。
十六进制用H,如27A8H10.完成下列二进制数的加减运算。
(1)10101010 + 11110000 (2)11001100 + 01010100=110011010 =100100000(3)11011010 - 01010010 (4)11101110 - 01001101=10001000 =1010000111.完成下列十六进制数的加减运算。
(1)0FEA9 - 8888=7621H (2)0FFFF - 1234=EDCBH(3)0EAC0 + 0028=EAE8H (4)3ABC + 1678=5134H12.完成下列BCD码的运算。