第二章
1.简述冯.诺伊曼计算机结构的基本含义:1计算机应由运算器,控制器,存储器,输入设备和输出设备五个部分组成2数据和程序均以二进制代码形式不加区别的存放在存储器中,存放的位置由存储器的地址指定3计算机在工作时能够自动地从存储器中取出指令加以执行
2.说明计算机执行指令的基本过程:取指令,分析指令,执行指令
3.是说明硬布线控制器与微程序控制器的各自优缺点:硬布线控制器是由组合逻辑电路和时钟信号长生电路共同组成,其中的时钟信号产生节拍脉冲,组合逻辑电路在节拍脉冲的同步下产生微命令信号.微程序控制器是将指令执行时所需要的微命令信号及相应的顺序控制信息编成微指令,每条指令所需要的微指令序列组成一个微程序,将所有的微程序存放在只读存储器中,执行指令就是运行对应的微程序
4.什么是微指令?其组成格式如何?存储于何处?微指令:在微程序控制的计算机中,将由同时发出的控制信号所执行的一组微操作称为微指令.组成格式:水平型指令和垂直型指令.存储在CPU内部的控制存储器
5.微程序控制器主要哪些部件组成:控制存储器(CM),微指令寄存器(uIR),微地址寄存器(uAR),微地址形成电路
6.微指令的编码方式有哪些?简述各自的特点:1直接表示法:简单直观但编码效率低2编码表示法:减少了控制存储器所需要的代码数量但编码的微指令代码需经编译后才能控制信号3混合表示法:综合考虑微指令的字长,灵活性和执行速度方面的要求
7.微型计算机包括哪几个主要组成部分?各部分的基本功能是什么:微处理器(cpu):执行程序指令,完成各种运算和控制功能 主存储器:主要用于存储计算机运行过程中随时需要读出或写入的程序和数据 总线:计算机部件与部件之间进行数据信息传输的一组公共信号线及相关的控制逻辑 I/O接口:用于控制主机与外部设备之间的信息交换与传输
8.何为系统总线?它分为哪三组?各组的特点与作用是什么:系统总线:微处理器,主存储器和io接口之间通过地址总线,数据总线和控制总线三组相连 地址总线用来传递地址信息,控制总线用来传递控制信息,数据总线用来传送数据信息
9.某微处理机的地址总线为16位,那么它的最大寻址空间为 2*16(64k)
10.微型计算机的主要技术指标有哪些:字长,主存容量,运算速度,主频率,平均无故障时间,性能价格比
11.微处理器,微型计算机和微型计算机系统三者有什么不同:
12.名词解释::1微处理器:把cpu制作在一块大规模集成电路芯片上2ALU:算术逻辑单元是能够实现多组算术运算和逻辑运算的组合逻辑电路3MIPs:运算速度4总线:计算机部件与部件之间进行数据信息传输的一组公共信号线及相关的控制逻辑5微控制器:单片微型计算机,单片机,把CPU存储器以及io接口电路全部控制在一个芯片上的计算机
第三章
1.80386以上的微处理器通常有哪几种工作模式?各自的主要特点是什么?实模式,保护模式,模拟8086模式
2.简要说明80x86/pentium处理器编程结构中所包含寄存器的主要类型及寄存器名称:
通用寄存器EAX,EBX,ECX,EDX,ESP,EBP,ESI,EDI 指令指针寄存器EIP 标志寄存器EFLAGS 段寄存器cs,ds,es,ss,fs,gs,
3.8086/8088CPU标志寄存器中有哪几个状态标志位和控制标志位?其功能:
6个状态标志位:进位标志CF,奇偶标志PF,辅助进位标志AF,零标志ZF,符号标志SF,溢出标志OF 3个控制标志位:方向标志DF,中断标志IF,陷阱标志TF
4.为什么要将存储系统空间划分成许多逻辑段?分段后如何寻址要访问的存储单元
为了实现1MB单元的寻址采用了存储器分段技术,用16位地址码进行寻址
5.物理地址和逻辑地址:物理地址是信息在存储器中实际存放的地址,逻辑地址是编程时所使用的地址
6.段基址 是段的起始地址的高16位 偏移量 是所访问地址的存储单元距段的起始地址之间的字节距离 物理地址=段基址x16+偏移量
7.在8086实模式下,若CS=1200H,IP=0345H,则物理地址是12345H,若CS=1110H,IP=1245H,则物理地址是12345H
8.某存储单元的物理地址为28AB0H,若偏移量为1000H,则段基址为27ABH
9.若8086实模式下当前段寄存器的值为CS=2010H,DS=3010H,则对应的代码段在存储空间中物理地址的首地址是20100H,末地址是300FFH,数据段首地址是30100H,末地址是400FFH
10.设现行数据段位于存储器10000H~1FFFFH单元,则DS寄存器的内容为10000H
11.堆栈 是存储器中的一个特定的存储区,它的一端(栈底)是固定的,另一端是浮动的,信息的存入和取出都只能在浮动的一端进行,并且遵循先进后出的原则。堆栈主要用来暂时保存程序运行时的一些地址或数据信息
12.在8086实模式系统中,堆栈的位置确立:实模式下的堆栈为16字宽,堆栈操作指令对堆栈的操作总是以字为单位进行,即要压栈时,先将SP的值减2,然后将16位的信息压入新的栈顶,要弹栈时,先从当前栈顶取出16位的信息,然后将SP的值加2(压栈时,先修改栈指针后压入,弹栈时,先弹出后修改栈指针)
13.SS=2100H,SP=080AH,说明该堆栈段在存储器的物理地址范围:21000H~30FFFH;若当前堆栈中存入10个字节数据后,SP=0800H
14.已知当前数据段中存有如图所示的字符串数据,现要求在该字符串之后添加两个字节数据0DH和0AH,需给出的段基值为1008H,偏移量为1009H
第四章
1.分别指出下列指令中源操作数和目的操作数的寻址方式:
MOV DI,300 寄存器寻址 立即寻址
MOV [SI],AX 寄存器间接寻址 寄存器寻址
AND AX,DS:[2000H] 寄存器寻址 直接寻址
MOV CX,[DI+4] 寄存器寻址 寄存器相对寻址
ADD AX,[BX+DI+7] 寄存器寻址 相对基址变址寻址
PUSHF 寄存器间接寻址 寄存器寻址
2.设CS=2500H,DS=2400H,SS=2430H,ES=2520H,BP=0200H,SI=0010H,DI=0206H,试计算下列指令源操作数的有效地址和物理地址
MOV AX,[BP+SI+4]:有效地址为0214H,物理地址为24514H
ADD AX,[DI+100H]:有效地址为0306H,物理地址为24306H
3.判断下列8086指令是否正确,并说明理由
MOV BL,AX 错,源操作数与目的操作数的类型不匹配
INC [BX] 错,操作数的类型不确定
MOV BX,[AX] 错,8086系统中,不能用AX进行寄存器间接寻址
MOV AX,[BX] 对,可由AX确定出[BX]的类型
POP BX 对
POP CS 错,CS不能作为目的操作数
MOV 5,AL 错,立即数不能作为目的操作数
ADD BYTE PTR[BX],[DI] 错,两个操作数不能均为存储器寻址
MOV [BX],20H 错,操作数的类型不确定
OUT 258H,AL 错,端口地址大于255不能用直接寻址方式
MOV [50-BP],AX 错,寄存器左边不能用减号
MOV BP,SP 对
4.编写程序段分别实现下列运算(假设运算中各变量均为带符号字变量)
Z←X+Y-Z: MOV AX,X
ADD AX,Y
SUB AX,Z
MOV Z,AX
Z←X+(Y-6)-(W+100);MOV AX,Y
SUB AX,6
MOV BX,W
ADD BX,100
ADD AX,X
SUB AX,BX
MOV Z,AX
Z←(W*X)/(Y+100),R←余数:MOV AX,W
IMUL X
MOV BX,Y
ADD BX,100
IDIV BX
MOV Z,AX
MOV R,DX
5.编写两段程序分别将标志寄存器中的单步标志置1,清0,并且不改变其他各标志位的值
置1: PUSHF
POP AX
OR AX,0100H
PUSH AX
POPF
HLT
清0:PUSHF
POP AX
AND AX,0FEFFH
PUSH AX
POPF
HLT
6.编写两段程序分别完成以下操作,假设题中各变量的值均为压缩的BCD码表示的两位十进制数
U←V+(S-6):MOV AL,S
SUB AL,6
DAS
ADD AL,V
DAA
MOV U,AL
R←X+(Y-6)-(W+100):MOV AL,X
ADD AL,Y
DAA
MOV BL,AL
MOV AL,W
SUB AL,Z
DAS
SUB BL,AL
MOV AL,BL
DAS
MOV R,AL
8.数据段从偏移地址1000H处开始连续存放了200H个字节的数据,编写一段程序将这些数据移到数据段从偏移地址1100H处开始的连续区域中:
MOV AX,DS
MOV ES,AX
MOV SI,11FFH
MOV DI,12FFH
MOV CX,200H
STD
REP MOVSB
9.编写一段程序把从PACKED开始的16位压缩BCD数(占8个字节单元)转换成非压缩BCD数(占16个字节单元),并把结果存放在从UNPACKED开始的单元中
MOV DX,8
MOV CL,4
MOV SI,0
MOV DI,0
CONVERT:XOR AX,AX
MOV AL,[SI+PACKED]
SHL AX,CL
SHR AL,CL
MOV [DI+UNPACKED],AX
ADD DI,2
INC SI
DEC DX
JNZ CONVERT
第五章
1.判别下列标识符是否合法:
Y3.5错 3DATA错 BCD#错 (one)错 PL*1错 ALPHA-1错 PROC-A错 AAA对
2.下列语句在存储器中分别微变量分配多少字节
VAR1 DW 10 :2
VAR2 DW 5DUP(2),0 :12
VAR3 DB,’HOW ARE YOU?’,’$’ :13
VAR4 DB 2DUP(0,4DUP(?),0) :12
VAR5 DD -1,1,0 :12
3.下列指令各完成什么功能:
MOV AX,00FFH AND 1122H+2233H:MOV AX,0055H
MOV AL,15 GE 111B:MOV AL,0FFH
AND AX,0F00FH AND 1234H OR 00FFH:AND AX,10FFH
OR AL.50MOD4+20:OR AL,16H
ADD WORD PTR [BX],1122H AND 00FFH:ADD WORE PTR[BX],0022H
4.若定义DAT DD 12345678H,则(DAT+1)字节单元的数据是56H
5.执行下面程序段后,AX=0300H
TAB DW 1,2,3,4,5,6
ENTRY EQU 3
MOV BX,OFFSET TAB
ADD BX,ENTRY
MOV AX,[BX]
6.根据下面的数据定义,指出数据项$+10的值(用16进制表示):0026H
ORG 10H
DAT1 DB 10 DUP(?)
DAT2 EQU 12H
DAT3 DW 56H,$+10
7.若程序中数据定义如下:
PANTNO DW ?
PNAME DB 16 DUP(?)
COUNT DD ?
PLENTH EQU $-PARTNO
则PLENTH=22