文档库 最新最全的文档下载
当前位置:文档库 › 指令系统及汇编语言程序设计

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

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

第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、试用位操作指令实现下列逻辑操作。要求不得改变未涉及的位的内容。

(1)使ACC.0置位;

(2)清除累加器高4位;

(3)清除ACC.3,ACC.4,ACC.5,ACC.6。

15、试编写程序,将内部RAM的20H、21H、22H三个连续单元的内容依次存入2FH、2EH和

2DH单元。

16、试编写程序,完成两个16位数的减法:7F4DH-2B4EH,结果存入内部RAM的30H和

31H单元,31H单元存差的高8位,30H单元存差的低8位。

17、试编写程序,将R1中的低4位数与R2中的高4位数合并成一个8位数,并将其存放

在R1中。

18、试编写程序,将内部RAM的20H、21H单元的两个无符号数相乘,结果存放在R2、R3

中,R2中存放高8位,R3中存放低8位。

19、若(CY)=1,(P1)=10100011B,(P3)=01101100B。试指出执行下列程序段后,CY、

P1口及P3口内容的变化情况。

MOV P1.3,C

MOV P1.4,C

MOV C,P1.6

MOV P3.6,C

MOV C,P1.0

MOV P3.4,C

20、若单片机的主频为12MHz,试用循环转移指令编写延时20ms的延时子程序。并说明这

种软件延时方式的优缺点。

21、80C51单片机汇编语言有何特点?

22、利用80C51单片机汇编语言进行程序设计的步骤如何?

23、常用的程序结构有哪几种?特点如何?

24、子程序调用时,参数的传递方法有哪几种?

25、什么是伪指令?常用的伪指令功能如何?

26、设被加数存放在内部RAM的20H、21H单元,加数存放在22H、23H单元,若要求和存

放在24H、25H中,试编写出16位数相加的程序。

27、编写一段程序,把外部RAM中1000H~1030H的内容传送到内部RAM的30H~60H中。

28、编写程序,实现双字节无符号数加法运算,要求(R1R0)+(R7R6)→(61H60H)。

29、若80C51的晶振频率为6MHz,试计算延时子程序的延时时间。

DELAY:MOV R7,#0F6H

LP:MOV R6,#0FAH

DJNZ R6,$

DJNZ R7,LP

RET

30、在内部RAM 的21H单元开始存有一组单字节不带符号数,数据长度为30H,要求找出

最大数存入BIG单元。

31、编写程序,把累加器A中的二进制数变换成3位BCD码,并将百、十、个位数分别存

放在内部RAM的50H、51H、52H中。

32、编写子程序,将R1中的2个十六进制数转换为ASCII码后存放在R3和R4

中。

33、编写程序,求内部RAM中50H~59H十个单元内容的平均值,并存放在5AH单元。

34、指令由哪几部分组成?

35、什么是汇编语言指令?为什么说汇编语言指令比机器语言指令更容易理解和记忆?通

过什么方式可将汇编语言程序转化为机器语言程序?

36、MCS-51汇编语言中有哪些常用的伪指令?各起什么作用?

37、汇编语言程序和汇编程序两术语含义相同吗?

38、什么是寻址方式?对于双操作数指令来说,为什么不需要指定操作结果存放位置?

39、给出下列指令中每一操作数的寻址方式。

MOV A, #23H

MOV 23H,A

MOV 90H, 23H

MOV 23H, @R0

INC A

40、位地址90H和字节地址90H及P1.0有何异同?如何区别?位寻址和字节寻址如何区分?

在使用时有何不同?

41、要访问专用寄存器和片外数据寄存器,应采用什么寻址方式?举例说明。

42、编程将内部RAM的20H单元的内容传送给外部RAM的2000H单元。

43、编程将内部数据存储器20H~30H单元内容清零。

44、已知A=83H,R0=17H,(17H):34H,写出下列程序段执行完后的A中的内容。

ANL A, #17H

ORL 17H,A

XRL A, @R0

CPL A

45、编程查找内部RAM的32H~41H单元中是否有0AAH这个数据,若有这一数据,则将将

50H单元置为0FFH,否则清50H单元为0。

46、已知单片机的晶振为12MHz,分别设计延时0.1s、1s、lmin的子程序。

47、查找20H~4FH单元中出现00H的次数,并将查找结果存入50H单元

48、试编程使内部RAM的20H~4FH单元的数据块按降序排列。

49、内部RAM的20H单元开始有一个数据块,以0DH为结束标志,试统计该数据块长度,

将该数据块传送到外部数据存储器7E01H开始的单元,并将长度存入7E00H单元。

50、试编写一个用查表法查0~9字形段码的子程序,调用子程序前,待查表的数据存放在

累加器A中,子程序返回后,查表的结果也存放在累加器A中。

51、内部RAM的DATA开始的区域中存放着10个单字节十进制数,求其累加和,并将结果

存入SUM和SUM+1单元。

52、MCS-51内部RAM前128字节支持哪些寻址方式?请写出用不同寻址方式将内部RAM 30H

单元信息传送到累加器A的指令或程序片段;内部RAM后128字节支持哪些寻址方式?请写出将内部RAM 80H单元信息传送到累加器A的指令或程序片段。

53、写出实现下列要求的指令或程序片段,并在仿真机上验证(假设指令代码从2000H单元

开始存放)。

(1)将内部RAM 20H单元内容与累加器A相加,结果存放在20H单元中。

(2)将8032内部RAM 80H单元内容与内部RAM 31H单元内容相加,结果存放到内部RAM 31H单元中。

(3)将内部RAM 20H单元内容传送到外部RAM 20H单元中。

(4)将程序状态字寄存器PSW内容传送到外部RAM的0D0H单元中。

(5)将内部RAM 00H~7FH单元,共128字节传送到以8000H为首址的外部RAM中。

(6)将外部RAM 8000H~803FH单元,共64字节传送到以40H为首址的内部RAM中。

(7)将外部RAM 8000H~807FH单元,共128字节传送到以0000H为首址的外部RAM中。

(8)将存放在内部RAM的40H、41H和外部RAM的8000H、8001H的16位二进制数相加,结果存放在内部RAM的40H和41H单元中(假设低位字节存放在低地址中)。

(9)如果0~9七段数码显示器对应的字模码3P,06,5B,4F,66,6D,7D,07,7E6F 存放在1000H为首址的程序存储器中,写出将数字4对应的字模码输出到外部RAM

3003H单元(即扩展I/O端口地址)的程序段。

(10)使内部RAM 20H单元的b7和b3清零,其他位不变。

(11)使内部RAM 20H单元的b7和b3置1,b5清零,其他位不变。

(12)将内部RAM 20H单元的b7和b3置1,b5取反,其他位不变。

(13)将DPH寄存器的b7、b5位清零,将b2、b0位置1,其他位不变。

(14)将存放在内部RAM 40H、41H和外部RAM 8000H、8001H的四位BCD码相加,结果存放在内部RAM 40H和41H单元中(假设低位字节存放在低地址中)。

(15)将立即数32H传送到内部RAM 30H单元中。

(16)将立即数32H传送到8032 CPU内部RAM 88H单元中。

54、假设内部RAM(30H)=3FH,累加器A=0FEH,R0=30H,SP=07H,PSW=00H,则执行如下

指令后,各存储单元及寄存器内容是什么(假设各小题相互独立)?

(1)MOV A, @R0 A= 。

(2)INC A A= ;PSW= 。

(3)MOV A, #01H

MOV A, #04H

ADD A, @R0

INC R0

MOV @R0, A

A= ;PSW= ;R0= ;(30H)= 。

(4)ANL A, @R0 A= ;PSW= 。

(5)PUSH ACC

PUSP 30H A= ;PSW= 。

55、假设4位BCD码压缩存放在R3、R2中,试编写BCD减1的程序段,并在仿真机上验证。

56、输入、编译、运行下列程序段,并指出复位后和程序执行过程中SP、程序计数器PC

的变化以及程序执行结束后累加器ACC、内部RAM 30H~33H单元内容。

ORG 0000H

LJMP Main

ORG 1000H

Main: MOV SP, #6FH

MOV R0, #30H

MOV Rl, #32H

MOV 30H,#12H

MOV 31H,#34H

MOV 32H,#76H

MOV 33H,#98H

LCALL SUBl

NOP

ORG 2000H

SUBl: PUSH Acc

PUSH PSW

MOV A, @R0

ADD A, @R1

MOV @R0,A

INC R0

RET

57、假设程序头中含有如下变量定义伪指令。

TXDBUF DATA #40H

BDATA DATA #28H

(1)请指出“MOV R0,#TXDBUF”指令、“MOV R0, TXDBUF”指令目的操作数的寻址方式

(2)执行如下程序段后,内部RAM 40H~4FH单元内容是什么?28H单元内容又是什么?

MOV BDATA, #10H

MOV R0, #XDBUF

CLR A

LOOP:

MOV @R0, A

INC A

INC R0

DJNZ BDATA,LOOP

END

58、如果希望快速保护工作寄存器组,请写出将2区作为当前工作寄存器区的程序段。

二、读程序

1、阅读下列程序,写出程序流程图,并写出数学表达式

ORG 3000H

X: EQU 20H

Y: EQU 30H

START: MOV A,X

JNZ LP1

MOV Y,#0

SJMP ED

LP1: JNB ACC.7,LP2

MOV Y,#0FFH

SJMP ED

LP2: MOV A,#1

ED: SJMP ED

2、阅读下列程序,写出程序功能

ORG 2000H

STADA: EQU 20H

SLANG: EQU 30H

START: MOV R0 , # STADA

MOV B ,# 0

LOP1: MOVX A ,@R0

CJNE A ,#0DH ,CRNEXT

MOV SLANG , B

SJMP $

CRNEXT: INC B

INC R0

SJMP LOP1

END

3、阅读下列程序,回答问题

ORG 3000H

MAIN: MOV R0, #30H

MOV R1, #50H

MOV R7, #0AH

ACALL BCD_SUM

MOV R0, #30H

MOV DPTR,#2000H

MOV R7, #10H

LOOP: MOV A,@R0

MOVX @DPTR, A

INC R0

INC DPTR

DJNZ R7,LOOP

BCD_SUM: MOV A,@R0

ADD A,@R1

DA A

MOV @R0,A

INC R0

INC R1

DJNZ R7,BCD_SUM

问:1)子程序BCD_SUM完成什么功能?

2)程序MAIN完成什么功能?

4、执行下列程序后,累加器A的内容为多少?

ORG 0000H

MOV DPTR , #TABLE

MOV A,#06H

MOVC A,@A+DPTR

SJMP $

TABLE:DB 0,1,4,9,16,25,36,49,64,81

END

三、编程序

1、设被加数存放在内部RAM的20H(低字节)、21H、22H(高字节)单元,加数存放在30H(低

字节)、31H、32H(高字节)单元,若要求和存放在30H、31H、32H中,试编写出16位数相加的程序。

2、将内部RAM30H单元开始的4个单元中存放的四字节十六进制数和内部RAM40H单元开始的4

个单元中存放的四字节十六进制数相减,结果存放到40H单元中。

3、设有16位二进制数存放在R0、R1中(R0存放高位,R1存放低位),试编写实现16位二

进制数的“取反加1”操作的程序。

4、设有16位二进制数存放在内部RAM的50H、51H单元中,要求将其算术左移一位,(最低

位移入0)后仍然放在原单元。

5、设在内部RAM的40H单元中存放8位二进制数,要求将其转换成相应的BCD码并由高位到

低位的顺序存入内部RAM以60H为首址的3个连续单元中。

6、设在外部RAM的60H单元存有1字节的代码,要求将其分解成两个4位字段,高4位存入

原单元的低四位,其低四位存入61H单元的低四位且要求将这两单元的高4位均为0。

7、编写一段程序,把外部RAM中1000H~1030H的内容传送到内部RAM的30H~60H中。

8、若80C51的晶振频率为6MHz,试计算延时子程序的延时时间。。

DELAY:MOV R7,#0F6H

LP:MOV R6,#0FAH

DJNZ R6,$

DJNZ R7,LP

RET

9、在内部RAM 的21H单元开始存有一组单字节不带符号数,数据长度为30H,要求找出最大

数存入BIG单元。

10、编写子程序,将R1中的2个压缩BCD码转换为ASCII码后存放在R3和R4中。

计算机组成原理课程设计(微程序)报告

微程序控制器的设计与实现

目录 1设计目的 (3) 2设计内容 (3) 3具体要求 (3) 4设计方案 (3) 5 调试过程 (11) 6 心得体会 (12)

微程序控制器的设计与实现 一、设计目的 1)巩固和深刻理解“计算机组成原理”课程所讲解的原 理,加深对计算机各模块协同工作的认识 2)掌握微程序设计的思想和具体流程、操作方法。 3)培养学生独立工作和创新思维的能力,取得设计与调 试的实践经验。 4)尝试利用编程实现微程序指令的识别和解释的工作 流程 二、设计内容 按照要求设计一指令系统,该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。 三、设计要求 1)仔细复习所学过的理论知识,掌握微程序设计的思 想,并根据掌握的理论写出要设计的指令系统的微程 序流程。指令系统至少要包括六条指令,具有上述功 能和寻址方式。 2)根据微操作流程及给定的微指令格式写出相应的微 程序 3)将所设计的微程序在虚拟环境中运行调试程序,并给 出测试思路和具体程序段 4)尝试用C或者Java语言实现所设计的指令系统的加 载、识别和解释功能。 5)撰写课程设计报告。 四、设计方案 1)设计思路 按照要求设计指令系统,该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加器寻址、寄存器寻

址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。从而可以想到如下指令:24位控制位分别介绍如下: XRD :外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。 EMWR:程序存储器EM写信号。 EMRD:程序存储器EM读信号。 PCOE:将程序计数器PC的值送到地址总线ABUS上。 EMEN:将程序存储器EM与数据总线DBUS接通,由EMWR 和EMRD决定是将DBUS数据写到EM中,还是 从EM读出数据送到DBUS。 IREN:将程序存储器EM读出的数据打入指令寄存器IR 和微指令计数器uPC。 EINT:中断返回时清除中断响应和中断请求标志,便于下次中断。 ELP: PC打入允许,与指令寄存器的IR3、IR2位结合,控制程序跳转。 MAREN:将数据总线DBUS上数据打入地址寄存器MAR。 MAROE:将地址寄存器MAR的值送到地址总线ABUS上。 OUTEN:将数据总线DBUS上数据送到输出端口寄存器OUT 里。 STEN:将数据总线DBUS上数据存入堆栈寄存器ST中。 RRD:读寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。 RWR:写寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。 CN:决定运算器是否带进位移位,CN=1带进位,CN=0不带进位。 FEN:将标志位存入ALU内部的标志寄存器。 X2:X1:X0: X2、X1、X0三位组合来译码选择将数据送到DBUS上的寄存器。具体如下: X2 X1 X0 输出寄存器 0 0 0 IN_OE 外部输入门 0 0 1 IA_OE 中断向量 0 1 0 ST_OE 堆栈寄存器 0 1 1 PC_OE PC寄存器

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

第二章指令系统和汇编语言程序设计实验 本章实验主要包括指令系统和汇编语言程序设计两部分。采用软件模拟调试的方法, 目的在于通过这些实验可以使学生巩固所学知识, 加深对 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

吉林大学 计算机系统结构题库 第二章

第二章计算机指令集结构 知识点汇总: 指令集设计、堆栈型机器、累加器型机器、通用寄存器型机器、CISC、RISC、寻址方式、数据表示 简答题 1.增强CISC机器的指令功能主要从哪几方面着手?(CISC) (1) 面向目标程序增强指令功能。 (2) 面向高级语言和编译程序改进指令系统。 (3) 面向操作系统的优化实现改进指令系统。 2.简述CISC存在的主要问题。(知识点:CISC) 答:(1)CISC结构的指令系统中,各种指令的使用频率相差悬殊。 (2)CISC结构指令系统的复杂性带来了计算机系统结构的复杂性,这不仅增加了研制时间和成本,而且还容易造成设计错误。 (3)CISC结构指令系统的复杂性给VLSI设计增加了很大负担,不利于单片集成。 (4)CISC结构的指令系统中,许多复杂指令需要很复杂的操作,因而运行速度慢。 (5)在CISC结构的指令系统中,由于各条指令的功能不均衡性,不利于采用先进的计算机系统结构技术来提高系统的性能。 3.简述RISC的优缺点及设计RISC机器的一般原则。(知识点:RISC) 答:(1)选取使用频率最高的指令,并补充一些最有用的指令。 (2)每条指令的功能应尽可能简单,并在一个机器周期内完成。 (3)所有指令长度均相同。 (4)只有load和store操作指令才访问存储器,其它指令操作均在寄存器之间进行。 (5)以简单、有效的方式支持高级语言。 4.根据CPU内部存储单元类型,可将指令集结构分为哪几类?(知识点:堆栈型机器、累加器型机器、通用寄存器型机器) 答:堆栈型指令集结构、累加器型指令集结构、通用寄存器型指令集结构。 5.常见的三种通用寄存器型指令集结构是什么?(知识点:通用寄存器型机器) 答:(1)寄存器-寄存器型。 (2)寄存器-存储器型。 (3)存储器-存储器型。

计算机组成原理习题(1)

1字符信息是符号数据,属于处理(非数值)领域的问题,国际上采用的字符系统是七单位的(ASCII)码。 2 根据操作数所在位置指出其寻址方式:操作数在指令中,为___立即 _______寻址方式,操作数地址在指令中,为___直接__________寻址方式。 3 双端口存储器和多模块交叉存储器属于并行存储器结构,其中前者采用(空间)并行技术,后者采用(时间)并行技术。 4 CPU从内存取出一条指令并执行该指令的时间称为(指令周期),它常用若干个(CPU周期)来表示。 5 计算机系统的层次结构从下至上可分为五级,即微程序设计级(或逻辑电路级)、一般机器级、操作系统级、(汇编语言)级、(高级语言)级。 6 十进制数在计算机内有两种表示形式:(字符串)形式和(压缩的十进制数串)形式。前者主要用在非数值计算的应用领域,后者用于直接完成十进制数的算术运算。 7 一个定点数由符号位和数值域两部分组成。按小数点位置不同,定点数有(纯小数)和(纯整数)两种表示方法。 8 对存储器的要求是容量大、速度快、成本低,为了解决这三方面的矛盾,计算机采用多级存储体系结构,即(cache)、(主存)、(外存)。 9 一个较完善的指令系统,应当有(数据处理)、(程序控制)、(数据传送)、(数据存储)四大类指令。 10 CPU中保存当前正在执行的指令的寄存器是(指令寄存器),指示下一条指令地址的寄存器是(程序计数器),保存算术逻辑运算结果的寄存器是(数据缓冲寄冲器)和(通用寄存器)。 11 在计算机术语中,将ALU控制器和(内存)存储器合在一起称为(主机)。 12 数的真值变成机器码时有四种表示方法,即(原码)表示法,(反码)表示法,(补码)表示法,(移码)表示法。 13 广泛使用的(SRAM )和(DRAM )都是半导体随机读写存储器。前者的速度比后者快,但集成度不如后者高。 14 反映主存速度指标的三个术语是存取时间、(存储周期)和(存储器带宽)。 15 CPU从(内存)取出一条指令并执行这条指令的时间和称为 (指令周期)。 16 RISC指令系统的最大特点是:只有(取数)指令和(存数)指令访问存储器。 17 直接使用西文键盘输入汉字,进行处理,并显示打印汉字,要解决汉字的(输入编码)、(汉字内码)和(字模码)三种不同用途的编码。 18. 形成操作数或指令地址的方式,称为___寻址方式__________。 19 主存储器的技术指标有(存储容量),(存取时间),(存储周期),(存储器带宽)。

计算机组成原理课程设计微程序设计

《计算机组成原理》课程设计报告 ——微程序设计 指导老师:丁伟 学院:计算机学院 班级:软件 1501 姓名: 学号:

一、项目任务 本项目的任务是针对第2章所述的OpenJUC-II教学机模型机,设计控制器的微程序,实现该模型机的指令系统。通过课程设计理解指令的执行过程,指令系统与硬件的关系,进而加深对计算机的结构和工作原理的理解。 二、项目设计 本项目预期分为6个上机设计步骤: Day1:熟悉微程序的设计和调试方法 Day2:双操作数指令的设计与调试 Day3:条件转移指令的设计与调试 Day4:移位指令的设计与调试 Day5:堆栈相关指令的设计与调试 Day6:中断系统的设计与调试 通过上述实践步骤,初步达成微程序设计要求,针对不同产品提出的不同要求,通过编写相应符合的微程序汇编指令,达到预期效果和收益。 三、项目需求 OpenJUC-II模型机、Quartus II软件、虚拟实验板软件、Windows计算机、预先编写完成的.sof和.scc文件。

取指令字段 取目的操作数入口取源操作数 寄存器寻址入口 寄存器间接 寄存器自增间接 立即寻址 直接寻址 间接寻址 变址寻址 相对寻址 进入取目阶段

取目的操作数阶段 从微地址028至02F依次为寄存器寻址,寄 存器间接寻址,寄存器自增间接寻址,02B 为空,直接寻址,间接寻址,变址寻址,相 对寻址 进入执行阶段 从41开始为 MOV,ADD,ADDC,SUB,SUBB,AND,OR,XOR,CMP, TEST的入口地址

保存结果的控存 SAR,SHL,SHR,ROL,ROR,RCL,RCR控存 JC,JNC,JO,JNO,JZ,JNZ,JS,JNS控存 转移的控存

微指令设计

(1) 设计一条指令,比较SR内容与[ADDR]. 若SR<[ADDR],则SR+[ADDR]->[ADDR]; 否则SR-[ADDR]->[ADDR]. 指令格式:D4 0 SR ADDR 设计分析: 100:把PC的值(即ADDR的地址)送到AR中,然后PC+1 101:用MEM->AR将ADDR从内存中取出并送到AR中 102:利用SR-MEM->Q计算SR与[ADDR]的差,并让各标志位接受ALU的运算结果,103:若S=1(即SR<[ADDR]),条件转移到105,否则顺序执行104 104:将Q的值(即SR-[ADDR])送到[ADDR]中 105:AR<[ADDR]时转移到此处,计算SR+[ADDR]并送到Q寄存器中 106:将Q寄存器的值送到[ADDR]中 微程序: 100H: PC->AR,PC+1->PC: 0000 0E00 A0B5 5402 101H: MEM->AR: 0000 0E00 10F0 0002 102H: SR-MEM->Q,接受标志: 0000 0E01 01D0 0080 103H: S=1(即AR<[ADDR])时,条件转移到105: 0041 43B0 9080 0000 104H: Q->MEM,CC#=0: 0029 0300 1020 0010 105H: SR+MEM->Q: 0000 0E00 00D0 0080 106H: Q->MEM,CC#=0: 0029 0300 1020 0010 A800 MOV R1,900 MOV R2,7 MOV R3,100 LDMC RET G800 A820 MOV R7,0001 MOV R1,0002 MOV [082A],R1 NOP NOP RET E826 D407 082A G820 U820 运行结果如下: 0820:2C70 0001 MOV R7, 0001

计算机组成原理期末试题

1、下列关于冯?诺依曼型计算机的描述,不正确的是__C____。 A)计算机硬件系统由运算器、存储器、控制器、输入设备、输出设备五大部件组成 B)指令和数据在存储器中都是二进制码存储 C)指令存储器和数据存储器独立分设在不同的存储器 D)存储程序并按地址顺序执行是CPU自动工作的关键 2、若机器数为补码,某寄存器中的内容为BF(十六进制),则该寄存器存储的数据真值是__B____(用十进制表示)。 A)65 B)-65C)64 D)-64 3、下列关于存储器的描述,不正确的是__C____。 A)SRAM和DRAM都是易失性存储器 B)ROM存储器内容是预置的,固定的,无法改写 C)多模块交叉存储器主要是解决主存空间不够大的问题 D)cache存储器是为了解决CPU和主存之间在速度上不匹配的问题 4、下列关于RISC的描述中,不正确的是___C___。 A)指令条数比CISC少 B)指令长度固定,指令格式种类少,寻址方式种类少 C)在程序中出现频率占80%的指令占指令总数的20% D)只有取数/存数指令访问存储器 5、设机器数字长为16位,一个容量为32MB的存储器,CPU按半字长寻址,其寻址范围是___C____。 A)223 B)224C)225 D)226 6、在程序的执行过程中,cache与主存的地址映射是由__D____。 A)程序员调度的 B)操作系统管理的 C)由程序员和操作系统共同协调完成的 D)硬件自动完成的

7、下列关于指令的描述,不正确的是___A____。 A)指令周期是指CPU执行某条指令的时间 B)一个指令周期常常包含若干个CPU周期 C)一个CPU周期包含若干时钟周期 D)一条机器指令对应一个微程序,微程序是由若干条微指令序列组成 8、在多总线结构中,用于连接高速I/O设备模块的总线是___C____。 A)CPU总线 B)系统总线 C)PCI总线 D)ISA总线 9、下列关于磁盘存储器的描述,不正确的是___D____。 A)数据的写入和读出是合用一个磁头,称为读写磁头 B)磁盘控制器是主机和磁盘驱动器之间的接口 C)磁盘的道密度指沿磁盘半径方向单位长度上的磁道数 D)磁盘记录面外圈的扇区比内圈的扇区要长,因此每个扇区记录的信息也要多 二、填空题(共30分) 1、摩尔定律指的是___芯片单位面积上晶体管的数目___每18个月翻一番。 2、SRAM存储器的存储元是____触发器_____,DRAM存储器的存储元是___MOS晶体管和电容器___。 3、指令的寻址方式有___顺序___寻址方式和___跳跃___寻址方式两种。 4、假设某机器有120条指令,平均每条指令由5条微指令组成,其中有一条取指微指令是所有指令公用的。已知微指令长度位32bit,则控制存储器的容量最少是__15392bit__。 5、流水线技术利用的是__时间____并行性,超标量技术利用的是___空间___并行性。 6、总线的定时方式中,__异步定时_适用于快速和慢速功能模块都连接到同一总线的情况,__同步定时_适用于总线长度较短、各功能模块速度比较接近的情况。 7、总线仲裁方式有___分布式仲裁__和集中式仲裁。集中式仲裁又分为三种,分别是___链式查询方式_,__计数器定时查询方式_,和___独立请求方式__。

模型计算机系统的设计与实现

题目:模型计算机系统的设计与实现学生姓名: 学院: 班级: 指导教师: 2010年1 月8 日

内蒙古工业大学课程设计(论文)任务书 课程名称:计算机组成与结构课程设计学院:信息工程学院班级:计07-_3班__ 学生姓名:武宝全 _ 学号: 200710210023 指导教师:董志学王晓荣邢红梅

摘要 本次课程设计要求设计实现一个简单8位模型计算机系统,包括用可编程器件实现的运算器,微程序控制器,存储器,简单输入/输出接口和设备,时序和启停控制等电路。通过自己定义的一套指令系统,主要实现算术A加B,A+/B运算,逻辑A·B,置B运算,输入指令,输出指令和存储器存数指令。由微程序控制器按照微指令格式给出下地址,并将结果存入存储器。用Protel电路设计软件画出所设计的模型机系统的电路原理图,包括运算器,微程序控制器,存储器、简单输入/输出设备、时序和启停等电路。用可编程器件EPM7123实现运算器,并借助MAXPLUSII软件实现其功能。在QDKJ-CMH-CPLD试验平台上调试并进行验证。 关键字:微程序、控制器、存储器、

引言 通过俩周的组成与结构设计,设计一个8位模型计算机系统,包括用可编程器件实现的运算器,微程序控制器,存储器,简单输入/输出接口和设备,时序和启停控制等电路。设计工作是在之前的验证实验基础之上完成的,通过自己的思维,实现微程序机的一些基本的逻辑运算。根据现有的二进制指令系统,条件为模型计算机系统为8位模型机,运算器为8位运算器,数据总线和地址总线都为8位,输入设备为8位开关,输出设备为8位发光二级管指示灯。在现有的芯片内烧制自行设计的微指令,达到在输入一个数据后自加,减一,实现自行跳转。 在设计完成后,再输入数据04后得出07的结果,并实现跳转。

计算机组成原理总复习(2013)

概念 CPU ALU 运算器数据字节字 字长地址存储器硬件软件总线 控制器输入设备输出设备应用软件 系统软件操作系统编译程序解释程序 数据库管理系统原码补码反码阶码尾数机器零校验码纠错码检错码定点数浮点数BCD码RAM ROM SRAM DRAM 单译码双译码刷新刷新周期死时间集中式刷新分散式刷新异步式刷新高速缓冲存储器(CACHE) 虚拟存储器页式管理段式管理段页式管理程序访问的局部性LRU FIFO 物理地址(实地址) 逻辑地址(虚地址) 指令指令系统指令操作码定长指令变长指令寻址方式指令周期机器周期时钟周期IR PC PSW 数据通路指令流程图同步控制方式异步控制方式联合控制方式微命令微操作微指令微程序控制存储器水平型微指令垂直型微指令内部总线系统总线单总线结构双总线结构三总线结构串行传送并行传送图形图象象素分辨率灰度级存储密度存储容量平均定位时间定位时间找道时间等待时间数据传输速率接口程序直接控制程序中断控制方式DMA方式通道方式中断内中断外中断通道字节多路通道选择通道 成组多路通道 1、若浮点数用补码表示,则判断运算结果是否为规格化数的方法是___C___。 A. 阶符与数符相同为规格化数 B. 阶符与数符相异为规格化数 C. 数符与尾数小数点后第一位数字相异为规格化数 D. 数符与尾数小数点后第一位数字相同为规格化数 2、16位字长的定点数,采用2的补码形式表示时,所能表示的整数范围是__A____。 A . -215 ~ +(215-1) B. -(215–1)~ +(215–1) C. -(215 + 1)~ +215 D. -215~ +215 3、容量是128M*32的内存,若以字节编址,至少需要___B___根地址线。 A. 16 B. 29 C. 27 D. 32 4、某计算机字长16位,它的存贮容量是64KB,若按字编址,那么它的寻址范围是__B__。 A、0~64K B、0~32K C、0~64KB D、0~32KB 5、主存贮器和CPU之间增加cache的目的是___B___。 A. 扩大主存贮器的容量 B. 解决CPU和主存之间的速度匹配问题 C. 扩大CPU中通用寄存器的数量 D. 既扩大主存的容量,又扩大CPU通用寄存器的数量

第3章-MCS-51系列单片机的指令系统和汇编语言程序范文

第3章MCS一51系列单片机的指令系统 和汇编语言程序 3·1汇编指令 3·1·1请阐明机器语言、汇编语言、高级语言三者的主要区别,进一步说明为什么这三种语言缺一不可。 3·1·2请总结: (1)汇编语言程序的优缺点和适用场合。 (2)学习微机原理课程时,为什么一定要学汇编语言程序? 3·1·3MCS一51系列单片机的寻址方式有哪儿种?请列表分析各种寻址方式的访问对象与寻址范围。 3·1·4要访问片内RAM,可有哪几种寻址方式? 3·1·5要访问片外RAM,有哪几种寻址方式? 3·1·6要访问ROM,又有哪几种寻址方式? 3·1·7试按寻址方式对MCS一51系列单片机的各指令重新进行归类(一般根据源操作数寻址方式归类,程序转移类指令例外)。 3·1·8试分别针对51子系列与52子系列,说明MOV A,direct指令与MOV A,@Rj 指令的访问范围。 3·1·9传送类指令中哪几个小类是访问RAM的?哪几个小类是访问ROM的?为什么访问ROM的指令那么少?CPU访问ROM多不多?什么时候需要访问ROM? 3·1·10试绘图示明MCS一51系列单片机数据传送类指令可满足的各种传送关系。3·1·11请选用指令,分别达到下列操作: (1)将累加器内容送工作寄存器R6. (2)将累加器内容送片内RAM的7BH单元。 (3)将累加器内容送片外RAM的7BH单元。 (4)将累加器内容送片外RAM的007BH单元。 (5)将ROM007BH单元内容送累加器。 3·1·12 区分下列指令的不同功能: (l)MOV A,#24H 与MOV A.24H (2)MOV A,R0与MOV A,@R0 (3)MOV A,@R0与MOVX A,@R0 3·1·13设片内RAM 30H单元的内容为40H; 片内RAM 40H单元的内容为l0H; 片内RAM l0H单元的内容为00H; (Pl)=0CAH。 请写出下列各指令的机器码与执行下列指令后的结果(指各有关寄存器、RAM单元与端口的内容)。 MOV R0,#30H MOV A,@R0 MOV RI,A MOV B,@Rl MOV @R0,Pl MOV P3,Pl MOV l0H,#20H MOV 30H,l0H

计算机体系结构问答题第2章

第2章计算机指令集结构设计 1. 通常可按哪5个因素对计算机指令集结构进行分类? (1) 在CPU中操作数的存储方法。 (2) 指令中显式表示的操作数个数。 (3) 操作数的寻址方式。 (4) 指令集所提供的操作类型。 (5) 操作数的类型和大小。 2. 在对计算机指令集结构进行分类的5个因素中,哪一种是各种指令集结构之间最主要的区别? CPU中操作数的存储方法,即在CPU中用来存储操作数的存储单元的类型,是各种指令集结构之间最主要的区别。 3. 根据CPU内部存储单元类型,可将指令集结构分为哪几类? 堆栈型指令集结构、累加器型指令集结构、通用寄存器型指令集结构。 4. 堆栈型指令集结构、累加器型指令集结构和通用寄存器型指令集结构分别有什么 5. 现代大多数机器均采用通用寄存器型指令集结构,为什么? 主要有两个方面的原因,一是寄存器和CPU内部其他存储单元一样,要比存储器快;其次是对编译器而言,可以更加容易、有效地分配和使用寄存器。 6. 通用寄存器型指令集结构可细分为哪三类? 寄存器-寄存器型。 寄存器-存储器型。 存储器-存储器型。 7. 三种通用寄存器型指令集结构分别有什么优缺点?

8. 从当前的计算机技术观点来看,CISC结构有什么缺点? (1)CISC结构的指令系统中,各种指令的使用频率相差悬殊。 (2)CISC结构指令系统的复杂性带来了计算机系统结构的复杂性,这不仅增加了研制时间和成本,而且还容易造成设计错误。 (3)CISC结构指令系统的复杂性给VLSI设计增加了很大负担,不利于单片集成。 (4)CISC结构的指令系统中,许多复杂指令需要很复杂的操作,因而运行速度慢。 (5)在CISC结构的指令系统中,由于各条指令的功能不均衡性,不利于采用先进的计算机系统结构技术来提高系统的性能。 9. 增强CISC机器的指令功能主要从哪几方面着手? (1) 面向目标程序增强指令功能。 (2) 面向高级语言和编译程序改进指令系统。 (3) 面向操作系统的优化实现改进指令系统。 10. RISC的设计原则是什么? (1)选取使用频率最高的指令,并补充一些最有用的指令。 (2)每条指令的功能应尽可能简单,并在一个机器周期内完成。 (3)所有指令长度均相同。 (4)只有load和store操作指令才访问存储器,其它指令操作均在寄存器之间进行。 (5)以简单、有效的方式支持高级语言。 11. RISC和CISC处理机的指令系统结构在指令格式、寻址方式和每条指令的周期数(CPI)三方面有哪些区别? 12. 计算机指令集结构设计所涉及的内容有哪些? (1) 指令集功能设计:主要有RISC和CISC两种技术发展方向。 (2) 寻址方式的设计。 (3) 操作数表示和操作数类型。 (4) 寻址方式的表示:可以将寻址方式编码于操作码中,也可以将寻址方式作为一个单独的域来表示。 (5) 指令集格式的设计:有变长编码格式、固定长度编码格式和混合型编码格式三种。

汇编语言指令系统.

汇编语言--指令系统整理总结--转贴 2007-05-1722:36 对于计算机软件专业的学生,适当的学习一些汇编语言知识,我认为很重要,有助于你对于计算机底层工作的了解,帮助你更好的理解计算机高级语言,汇编原理,也对于学习操作系统很有帮助... 近来自己在学汇编语言... 整理总结了常用的一些指令,认为对于学习汇编的龙友会有一些帮助以下内容均为个人整理...错误不当之处还望大家指出更正..谢谢..每条指令均按照 1、指令的汇编格式 2、指令的基本功能 3、指令的寻址方式 4、指令对标志位的影响 5、指令的特殊要求 这 5条内容的形式来对每条指令进行归纳总结.... [数据传送指令] 一、通用数据传送指令 1、传送指令 MOV (move 指令的汇编格式:MOVDST,SRC 指令的基本功能:(DST<-(SRC将原操作数(字节或字传送到目的地址。 指令支持的寻址方式:目的操作数和源操作数不能同时用存储器寻址方式, 这个限制适用于所有指令。指令的执行对标志位的影响:不影响标志位。 指令的特殊要求:目的操作数 DST 和源操作数 SRC 不允许同时为段寄存器; 目的操作数 DST 不能是 CS,也不能用立即数方式。 2、进栈指令 PUSH (pushonto the stack

出栈指令 POP (popfrom the stack 指令的汇编格式:PUSHSRC ;POP DST 指令的基本功能:PUSH指令在程序中常用来暂存某些数据,而 POP 指令又可将这些数据恢复。 PUSH SRC (SP<-(SP-2;(SP<-(SRC POP DST (DST<-((SP;(SP<-(SP 指令支持的寻址方式:push和 pop 指令不能不能使用立即数寻址方式。 指令对标志位的影响:PUSH和 POP 指令都不影响标志位。 指令的特殊要求:PUSH 和 POP 指令只能是字操作, 因此, 存取字数据后, SP 的修改必须是+2或者 -2; POP 指令的 DST 不允许是 CS 寄存器; 3、交换指令 XCHG (exchange 指令的汇编格式:XCHGOPR1,OPR2 指令的基本功能:(OPR1<->(OPR2 指令支持的寻址方式:一个操作数必须在寄存器中,另一个操作数可以在寄存器或存储器中。 指令对标志位的影戏:不影响标志位。 指令的特殊要求:不允许使用段寄存器。 二、累加器专用传送指令 4、输入指令 IN (input 输出指令 OUT (output 指令的汇编格式:INac,port port<=0FFH

计算机组成原理设计(十条指令)

1 关于此次课程设计 1.1 课程设计目的 本课程设计是计算机科学与技术专业重要的实践性教学环节之一,是在学生学习完《计算机组成原理》课程后进行的一次全面的综合设计。目的是通过一个完整的8位指令系统结构(ISA)的设计和实现,加深对计算机组成原理课程内容的理解,建立起整机系统的概念,掌握计算机设计的基本方法,培养学生科学的工作作风和分析、解决实际问题的工作能力。 1.2课程设计内容及要求 基于TDN-CM++计算机组成原理实验教学系统,设计和实现一个8位指令系统结构(ISA),通过调试和运行,使设计的计算机系统能够完成指定的功能。 设计过程中要求考虑到以下各方面的问题: (1)指令系统风格(寄存器-寄存器,寄存器-存储器,存储器-存储器); (2)数据类型(无符号数,有符号数,整型,浮点型); (3)存储器划分(指令,数据); (4)寻址方式(立即数寻址,寄存器寻址,直接寻址等); (5)指令格式(单字节,双字节,多字节); (6)指令功能类别(算术/逻辑运算,存储器访问,寄存器操作,程序流控制,输入/输出)。 要求学生综合运用计算机组成原理、数字逻辑和汇编语言等相关课程的知识,理解和熟悉计算机系统的组成原理,掌握计算机主要功能部件的工作原理和设计方法,掌握指令系统结构设计的一般方法,掌握并运用微程序设计(Microprogramming)思想,在设计过程中能够发现、分析和解决各种问题,自行设计自己的指令系统结构(ISA)。

2 分析阶段 2.1 微指令格式分析 微指令格式如下表: 表2-1 微代码定义 (1)字段24~19控制运算器的控制端,通过改变S3~CN来决定对数据进行何种算术或逻辑运算。本设计中全部为正逻辑运算。 (2)字段18为控制对主存W/R的开关 Y1、Y2进行选择。 (4)字段15~7为A、B、C三个开关控制端。

微程序控制器的设计与实现

微程序控制器的设计与实现 一、设计目的 1、巩固和深刻理解“计算机组成原理”课程所讲解的原理, 加深对计算机各模块协同工作的认识。 2、掌握微程序设计的思想和具体流程、操作方法。 3、培养学生独立工作和创新思维的能力,取得设计与调试的 实践经验。 4、尝试利用编程实现微程序指令的识别和解释的工作流程。 二、设计内容 按照要求设计一指令系统,该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。 三、设计具体要求 1、仔细复习所学过的理论知识,掌握微程序设计的思想,并根、 据掌握的理论写出要设计的指令系统的微程序流程。指令系统至少要包括六条指令,具有上述功能和寻址方式。 2、根据微操作流程及给定的微指令格式写出相应的微程序 3、将所设计的微程序在虚拟环境中运行调试程序,并给出测试思 路和具体程序段 4、撰写课程设计报告。

四、设计环境 1、伟福COP2000型组成原理实验仪,COP2000虚拟软件。 2、VC开发环境或者Java开发环境。 五、设计方案 (1)设计思想 编写一个指令系统,根据所编写的指令的功能来设计相应的微程序。首先利用MOV传送指令来给寄存器和累加器传送立即数,实现立即数寻址;利用寄存器寻址方式,用ADDC指令对两者进行相加运算;利用寄存器间接寻址方式,用SUB指令实现减运算;利用累加器寻址方式,用CPL指令实现对累加器寻址;利用存储器寻址方式,用JMP 指令实现程序的无条件跳转。这样,所要设计的指令系统的功能就全部实现了。 (2)微指令格式 采用水平微指令格式的设计,一次能定义并执行多个并行操作微命令的微指令,叫做水平型微指令。其一般格式如下: 按照控制字段的编码方法不同,水平型微指令又分为三种:全水平型(不译法)微指令,字段译码法水平型微指令,以及直接和译码相混合的水平型微指令。 (3)24个微指令的意义 COP2000 模型机包括了一个标准CPU 所具备所有部件,这些部件包括:运算器ALU、累加器A、工作寄存器W、左移门L、直通门D、右

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

第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、试用位操作指令实现下列逻辑操作。要求不得改变未涉及的位的内容。

汇编语言指令

汇编语言指令集 数据传送指令集 MOV 功能: 把源操作数送给目的操作数 语法: MOV 目的操作数,源操作数 格式: MOV r1,r2 MOV r,m MOV m,r MOV r,data XCHG 功能: 交换两个操作数的数据 语法: XCHG 格式: XCHG r1,r2 XCHG m,r XCHG r,m PUSH,POP 功能: 把操作数压入或取出堆栈 语法: PUSH 操作数POP 操作数 格式: PUSH r PUSH M PUSH data POP r POP m PUSHF,POPF,PUSHA,POPA 功能: 堆栈指令群 格式: PUSHF POPF PUSHA POPA LEA,LDS,LES 功能: 取地址至寄存器 语法: LEA r,m LDS r,m LES r,m XLAT(XLATB) 功能: 查表指令 语法: XLAT XLAT m 算数运算指令 ADD,ADC 功能: 加法指令 语法: ADD OP1,OP2 ADC OP1,OP2 格式: ADD r1,r2 ADD r,m ADD m,r ADD r,data 影响标志: C,P,A,Z,S,O SUB,SBB 功能:减法指令 语法: SUB OP1,OP2 SBB OP1,OP2

格式: SUB r1,r2 SUB r,m SUB m,r SUB r,data SUB m,data 影响标志: C,P,A,Z,S,O INC,DEC 功能: 把OP的值加一或减一 语法: INC OP DEC OP 格式: INC r/m DEC r/m 影响标志: P,A,Z,S,O NEG 功能: 将OP的符号反相(取二进制补码) 语法: NEG OP 格式: NEG r/m 影响标志: C,P,A,Z,S,O MUL,IMUL 功能: 乘法指令 语法: MUL OP IMUL OP 格式: MUL r/m IMUL r/m 影响标志: C,P,A,Z,S,O(仅IMUL会影响S标志) DIV,IDIV 功能:除法指令 语法: DIV OP IDIV OP 格式: DIV r/m IDIV r/m CBW,CWD 功能: 有符号数扩展指令 语法: CBW CWD AAA,AAS,AAM,AAD 功能: 非压BCD码运算调整指令 语法: AAA AAS AAM AAD 影响标志: A,C(AAA,AAS) S,Z,P(AAM,AAD) DAA,DAS 功能: 压缩BCD码调整指令 语法: DAA DAS 影响标志: C,P,A,Z,S 位运算指令集 AND,OR,XOR,NOT,TEST 功能: 执行BIT与BIT之间的逻辑运算 语法: AND r/m,r/m/data OR r/m,r/m/data XOR r/m,r/m/data TEST r/m,r/m/data NOT r/m 影响标志: C,O,P,Z,S(其中C与O两个标志会被设为0) NOT指令不影响任何标志位SHR,SHL,SAR,SAL 功能: 移位指令 语法: SHR r/m,data/CL SHL r/m,data/CL SAR r/m,data/CL SAL r/m,data/CL 影响标志: C,P,Z,S,O ROR,ROL,RCR,RCL

计算机组成原理题(附答案)

计算机组成原理题解指南 第一部分:简答题 第一章计算机系统概论 1.说明计算机系统的层次结构。 计算机系统可分为:微程序机器级,一般机器级(或称机器语言级),操作系统级,汇编语言级,高级语言级。 第四章主存储器 1.主存储器的性能指标有哪些?含义是什么? 存储器的性能指标主要是存储容量. 存储时间、存储周期和存储器带宽。 在一个存储器中可以容纳的存储单元总数通常称为该存储器的存储容量。 存取时间又称存储访问时间,是指从启动一次存储器操作到完成该操作所经历的时间。 存储周期是指连续两次独立的存储器操作(如连续两次读操作)所需间隔的最小时间。 存储器带宽是指存储器在单位时间中的数据传输速率。 2.DRAM存储器为什么要刷新?DRAM存储器采用何种方式刷新?有哪几种常用的刷新方式? DRAM存储元是通过栅极电容存储电荷来暂存信息。由于存储的信息电荷终究是有泄漏的,电荷数又不能像SRAM存储元那样由电源经负载管来补充,时间一长,信息就会丢失。为此必须设法由外界按一定规律给栅极充电,按需要补给栅极电容的信息电荷,此过程叫“刷新”。 DRAM采用读出方式进行刷新。因为读出过程中恢复了存储单元的MOS栅极电容电荷,并保持原单元的内容,所以读出过程就是再生过程。 常用的刷新方式由三种:集中式、分散式、异步式。 3.什么是闪速存储器?它有哪些特点? 闪速存储器是高密度、非易失性的读/写半导体存储器。从原理上看,它属于ROM型存储器,但是它又可随机改写信息;从功能上看,它又相当于RAM,所以传统ROM与RAM的定义和划分已失去意义。因而它是一种全新的存储器技术。 闪速存储器的特点:(1)固有的非易失性,(2)廉价的高密度,(3)可直接执行,(4)固态性能。4.请说明SRAM的组成结构,与SRAM相比,DRAM在电路组成上有什么不同之处? SRAM存储器由存储体、读写电路、地址译码电路、控制电路组成,DRAM还需要有动态刷新电路。 第五章指令系统 1.在寄存器—寄存器型,寄存器—存储器型和存储器—存储器型三类指令中,哪类指令的执行时间最长?哪类指令的执行时间最短?为什么? 寄存器-寄存器型执行速度最快,存储器-存储器型执行速度最慢。因为前者操作数在寄存器中,后者操作数在存储器中,而访问一次存储器所需的时间一般比访问一次寄存器所需时间长。 2.一个较完整的指令系统应包括哪几类指令? 包括:数据传送指令、算术运算指令、逻辑运算指令、程序控制指令、输入输出指令、堆栈指令、字符串指令、特权指令等。 3.什么叫指令?什么叫指令系统? 指令就是要计算机执行某种操作的命令

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

指令系统及汇编语言程序设计 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伪指令相仿,它可以对同一个名字重复定义。

相关文档
相关文档 最新文档