1. 8086的数据总线为 16 位,地址总线为 20 位,时钟频率 5 MHz,支持 1M 容量主存空间。
2. 计算机的运算和控制核心称为处理器,英文为 Processor/CPU ,微型计算机中的处理器常采用一块大规模集成电路芯片,称之为 微处理器 。
3.微型计算机系统可分为三个层次: 微处理器 、 微型计算机 、 微型计算机系统 。 4. 微型计算机按体积的大小可分为:台式电脑,英文为 Desktop PC ; 笔记本电脑 ,英文为 Notebook PC ; 平板电脑 ,英文为 Tablet PC ; 手持电脑 ,英文为 Handheld PC 。
5. 处理器的性能用 字长 、 时钟频率 、 集成度 等基本的技术参数来衡量。
6. 指令流水是指将完成一条指令的全过程分解为多个 子过程 ,每个子过程于其他子过程 并行进行 。
7. 软件按照其完成的功能分为 系统软件 和 应用软件 。应用软件是为解决 某个具体问题 而设计的程序及其 文档 。
8. 可以把应用软件分为两大类, 通用应用软件 和 专用应用软件 。通用应用软件用于 所有的领域及行业 ,例如:文字处理软件。专用应用软件用于 特定的专业领域及行业 。 三、简答题
1. 数值协处理器和浮点处理单元是什么关系?
答:数值协处理器和浮点处理单元的功能是一样的,用于复杂的数学运算。不同之处在于数值协处理器是一个独立的芯片,通过总线与微处理器(或主处理器)相连,用于80386及以前低档CPU的微机系统。而浮点处理单元是主处理器芯片的一个功能单元,从80486开始数值协处理器的功能被集成在CPU内部了。 2. 总线信号分成哪三组信号?
答:数据总线、地址总线、控制总线。 3. 在计算机技术中,人工智能包括哪些内容? 答:包括虚拟现实、知识系统和机器人。 4. Cache是什么意思?
答:Cache指的是高速缓冲存储器 5. ROM BIOS是什么?
答:位于只读存储器ROM中的基本输入输出系统 6. 中断是什么?
中断(Interrupt)是由于外部或内部的中断事件发生,微处理器暂时停止正在执行的程序,转向事先安排好的中断服务子程序,当中断服务程序执行完毕后返回被中断的程序继续执行的过程。这是计算机处理外部设备的服务请求和内部突发事件的形式之一。 7. 32位PC机主板的芯片组是什么?
芯片组(Chipset)由系统控制器(北桥)和总线转换器(南桥)组成,分别集成在2到4个芯片中,是构成主板控制电路的核心,在一定意义上说,它决定了主板的性能和档次,如可选用的微处理器的类型、主存的类型和容量等很多重要性能和参数。
北桥芯片(North Bridge Chip)主要提供对L2 Cache、内存、PCI、AGP之间的连接控制以及ECC内存的数据纠错等的控制;而南桥芯片(South Bridge Chip)的主要作用是将PCI总线标准转换成外设的其它接口标准,如IDE硬盘数据传输标准、USB(通用串行总线)接口标准、ISA总线接口标准等,并为系统中的慢速I/O设备与ISA总线之间提供接口及其控制电路,包括键盘、鼠标、软驱、串口、并口等。
习题二
一、选择题: 1.BCCDC 6.DCBCB
3小题:在定点整数表示中,下列说法正错的是 C 二、计算题
1.计算[X]补- [Y]补
(1)10101-11010=11011 无溢出 (2)01010-01110=11100 无溢出 (3)00011-11101=00110 无溢出 (4)01110-10110=11000 有溢出
2. [1010]原=[1010]反=[1010]补= 0000 1010 [0101]原=[0101]反=[0101]补= 0000 0101 [0010]原=[0010]反=[0010]补= 0000 0010 [1111]原=[1111]反=[1111]补= 0000 1111 [-1000]原= 10001000 [-1000]反= 11110111 [-1000]补= 11111000 [-1011]原= 10001011 [-1000]反= 11110100 [-1000]补= 11110101 [-1001]原= 10001001 [-1000]反= 11110110 [-1000]补= 11110111 [-0001]原= 10000001 [-0001]反= 11111110 [-0001]补= 11111111 [-0]原= 10000000 [-0]反= 11111111 [-0]补= 00000000 3. [0.1011]原=[0.1011]反=[0.1011]补= 0.1011000 [0.1101]原=[0.1101]反=[0.1101]补= 0.1101000 [0.0100]原=[0.0100]反=[0.0100]补= 0.0100000 [0.1111]原=[0.1111]反=[0.1111]补= 0.0001111
[-0.0110]原= 1.0110000 [-0.0110]反= 1.1001111 [-0.0110]补= 1.1010000 [-0.0011]原= 1.1100000 [-0.0011]反= 1.0011111 [-0.0011]补= 1.0100000 [-0.0111]原= 1.0111000 [-0.0111]反= 1.1000111 [-0.0111]补= 1.1001000 4. 字长16位,采用定点整数补码表示,写出能表示的:
最大数: 0111 1111 1111 1111B 32767 最小数: 1000 0000 0000 0000B -32768 最大非0负数: 1111 1111 1111 1111B -1 最小非0正数: 0000 0000 0000 0001B 1 5. 计算[X]补+ [Y]补
(1)10001+11001=01010 有溢出 (2)01001+00111=10000 有溢出 (3)10011+01101=00000 无溢出 (4)01110+11010=01000 无溢出 习题三
一、选择题:1.DDCAB 6.CBD 二、填空题
1.20, 4位(A19-A16) ,(S6-S3)状态
2.CPU要访问的内存或I/O接口还没有准备就绪 3.85010H 4.10000H,16
5.20, 00000 ,0FFFFFH 6.逻辑地址 7.0FFFF0 三、简答题 1. 3. 略
2. 答:4个16位通用寄存器,即:累加器AX,基址寄存器BX,计数寄存器CX,数据寄存器DX;4个16位专用寄存器,即:基数指针寄存器BP,栈顶指针寄存器SP,源变址寄
存器SI,目的变址寄存器DI;4个16位段地址寄存器,即:代码段寄存器CS,数据段寄存器DS,附加段寄存器ES,堆栈段寄存器SS;1个16位标志寄存器FLAGS
4. 答:8086微处理器使用20位地址来寻址1MB主存空间,但其内部存放地址的寄存器是16位的,不能直接寻址1MB的主存空间,因此采用分段管理的方式管理内存。 6. 数据段(DS)首地址的物理地址:21F0H 末地址的物理地址:121EFH
附加数据段(ES)首地址的物理地址:0A320H 末地址的物理地址:1A31FH 代码段首地址的物理地址:234E0H 末地址的物理地址:334DFH 5.7.8.不要求 习题四
一、选择题:1. CBBCC 6. BDCC 二、填空题:
1.立即数,基址+变址
2.源操作数和目的操作数的长度不同,源操作数和目的操作数同时为存储器寻址方式 不能是立即数,
直接寻址的端口号为00h-FFh,超过这一范围,端口地址由DX寄存器间接指出。 3.6310H
4. 0132H,0112H
5. 0000H,1,1,0,0
6.DX中的值逻辑右移四位,AX中的值循环右移四位。 7.0, 0FFH, 0 简答题:
1. MOV AX,2010H的源操作数是立即数寻址,执行完该条指令后AX=2010H
MOV AX,DS:[2010H]的源操作数是存储器直接寻址,执行完该条指令后AX中的数为2010为存储器首地址的连续两个存储单元的内容。 2. (1)比较结果为AL高于BL,影响CF,ZF标志位
(2)比较结果为AL大于BL,影响SF, ZF和OF标志位 3. 分别指出下列指令中源操作数和目的操作数的寻址方式。
目的操作数寻址方式 源操作数寻址方式
(1) MOV AX,1234H 寄存器 立即数 (2) (2) MOV [SI],AX 寄存器间址 寄存器 (3) MOV [DI],BX 寄存器间址 寄存器 (4) (4) MOV [BX+SI],DX 基址+变址 寄存器 (5) MOV AX,[10] 寄存器 存储器直接 (6) (6) MOV DL,ES:[BX+DI] 寄存器 基址+变址 (7) MOV BX, [BX+SI+2] 寄存器 相对基址+变址 4. BX=220CH AX不变仍为0E896H CF=1,ZF=0, OF=0 5.
(1) TEST AX,1 ;AX=5678 (2) XOR AX,AX ;AX=0 (3) SUB AX,AX ; AX=0
(4) CMP AX,8765H ; AX保持原值
6. (1)TEST AX,1234H和CMP AX,1234H指令执行后,源操作数和目的操作数都不发生变化。(2)XCHG AX,BX指令执行后,源操作数和目的操作数都发生变化?
(3)AND AX,BX SUB AX,1234H 指令执行后, 源操作数不发生变化而目的操作数
发生变化?
习题五
一、1. BAACA 6.CADAD 二、程序练习题
1.根据题目,写出相关伪指令:
(1) 定义数据段DATA,并在数据段中定义两个字单元X、Y,初始值都是0 答案:
DATA SEGMENT X DW 0 Y DW 0
DATA ENDS
(2) 定义一个字符串SRING,保存’Computer’ 答案:
SRING DB ’Computer’
(3) 定义有100个字节单元的COUNT数组,初始值均为空 答案:
COUNT DB 100 DUP(?)
(4) 用赋值伪指令定义PI为3.14 答案:
PI EQU 3.14
(5) 用类型操作符LABEL将VALUE单元定义为字节型 答案:VALUE LABEL BYTE
2.下列伪指令有错吗?如果有错,请指出错误原因。 答案:
(1) X1 DB 35H,0,-80 对。 (2) X2 DB 35,260,-1 错。
260超出了字节范围。
(3) X3 DB 1234H错。
X3是字节型,1234H是字型,不匹配。 (4) X4 DW 100 对。
(5) X5 DW 100(?) 错。缺少DUP。 (6) X6 DD ‘AB’ 对。
3.分析下列程序段执行情况,给出结果: (1)答案:
Z= (5+22-15)*14= 168 (2)答案:
累加和TOTAL=83 (3)答案:
功能:将X单元中的十六进制3AH变为十进制入栈保存,AH中为余数。先将0008H入栈,再将0005H入栈,结果为58。
三、简答题 1 1-4(略)
5.DOS功能AH=1和AH=8都是从键盘输入一个字符,它们有什么不同? 答:INT 21H 功能08的输入操作与功能01H相似,不同的是输入字符不回显。使用功能08功能不回显字符,但与01H一样,支持Ctrl_C或Ctrl_Break的中断处理。 四、编程题:
1.求两个数的平均值。这两个数分别存放在X单元和Y单元中,而平均值放在Z单元中。(略) 2.将字节变量VARY中两位十六进制数输出。 用分支结构实现:
MOV DL, VARY MOV CL, 4 ROL DL, CL AND DL, 0FH CMP DL, 0AH JB NUM ADD DL, 7 NUM: ADD DL, 30H MOV AH, 2 INT 21H
MOV DL, VARY AND DL, 0FH CMP DL, 0AH JB NUB ADD DL, 7 NUB: ADD DL, 30H MOV AH, 2 INT 21H
MOV DL, ‘H’ MOV AH, 2 INT 21H 用循环结构实现:
MOV BL,2 MOV DH, VARY LOP: MOV CL, 4 ROR DH, CL MOV DL, DH AND DL, 0FH CMP DL, 0AH JB NUM ADD DL, 7 NUM: ADD DL, 30H MOV AH, 2
INT 21H DEC BL JNZ LOP
MOV DL, ‘H’ MOV AH, 2 INT 21H
3.利用逐次求大数的方法对内存单元ARRAY开始的一字节为单位的无符号数进行从大到小排序。
DATA SEGMENT
ARRAY DB 49,38,65,12,97,13,55,27,28,85 DATA ENDS CODE SEGMENT
ASSUME CS:CODE, DS:DATA START: MOV AX, DATA MOV DS, AX MOV DX, 9 LEA BX, ARRAY LOOP0: MOV AL, [BX] MOV SI, BX INC SI
MOV CX, DX
LOOP1: CMP AL, [SI] JAE NEXT
XCHG AL, [SI] NEXT: INC SI LOOP LOOP1 MOV [BX], AL INC BX DEC DX JNZ LOOP0
4.AX寄存器中存放着4位十六进制数,试编写程序将这4位十六进制数分别转换为相应的ASCII码,并依次存放到RESULT数组的4个字节中去,要求用子程序的方法实现。 DATA SEGMENT
HEXDATA DW 4D7EH RESULT DB 4 DUP(?) DATA ENDS CODE SEGMENT
ASSUME CS:CODE, DS:DATA START: MOV AX, DATA MOV DS, AX MOV CX, 4
LEA SI, HEXDATA LEA DI, RESULT
NEXT:
MOV BX, [SI] MOV AX, BX AND AL, 0FH CALL HEXASC MOV [DI], AL INC DI PUSH CX MOV CX, 4 SHR BX, CL POP CX LOOP NEXT
LEA SI, RESULT+3
MOV CX, 4 STD
MOV AH, 4CH INT 21H
;十六进制转换成ASCII码子程序 HEXASC PROC CMP AL, 0AH JB PLUS30 ADD AL, 07H PLUS30: ADD AL, 30H RET
HEXASC ENDP CODE ENDS
END START
5.设有两个无符号数125和378,其首地址为x,求它们的和,将结果存放在SUM单元;并将其和转换为十六进制数且在屏幕上显示出来。 (略)
6.编制程序两个6字节数相加.将一个字节相加的程序段设计为子程序.主程序分3次调用该子程序,但每次调用的参数不同。 DATA SEGMENT
MYADD1 DB 0FEH,86H,7CH,35H,68H,77H MYADD2 DB 45H,0BCH,7DH,6AH,87H,90H SUM DB 6 DUP (0) COUNT DB 6 DATA ENDS STACK SEGMENT
DB 100 DUP ( ) STACK ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK MADD: MOV AX,DATA MOV DS,AX
MOV AX,STACK MOV SS,AX
MOV SI,OFFSET MYADD1 MOV DI,OFFSET MYADD2 MOV BX,OFFSET SUM
MOV CX,COUNT ;循环初值为6 CLC
AGAIN: CALL SUBADD ;调用子程序 LOOP AGAIN ;循环调用6次 MOV AX,4C00H INT 21H
;子程序入口参数:SI,DI,BX 出口参数:SI,DI,BX SUBADD PROC ;完成一个字节相加 PUSH AX ;保护AX的值
MOV AL,[SI] ;SI是一个源操作数指针 ADC AL,[DI] ;DI是另一个源操作数指针 MOV [BX],AL ;BX是结果操作数指针 INC SI INC DI INC BX
POP AX ;恢复AX的值 RET SUBADD ENDP CODE ENDS END MADD 7.若有一串无符号数,放在NUM开始的单元中,要求编制汇编语言程序,将其中的最大值找出来,且放到存储单元MAX中,这串数的长度已存放在COUNT单元。 DATA SEGMENT COUNT DW 20
NUM DW 9,12,14,1,3,28,55,121,44,15,45
DW 34,67,87,90,32,43,59,60
MAX DW ? DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK MOV AX,DATA MOV DS,AX
MOV BX,OFFSET NUM MOV CX,COUNT MOV AX,[BX] I NC BX INC BX
LOOP1: CMP AX,[BX] JAE LOOP2
MOV AX,[BX] LOOP2: INC BX INC BX DEC CX JNZ LOOP1 MOV [MAX],AX RET MAIN ENDP CODE ENDS END MAIN
8.试编制程序,分别对NUM中各数统计出有多少个20,余下有多少个5,再余下有多少个2,再余下有多少个1。统计的各数分别存放在NUM20,NUM5,NUM2, NUM1的对应位置中。程序要求用主程序子程序形式编制。 程序如下。
DATA SEGMENT
NUM DB 3,5,1,2,20,20,5,1,1,2 COUNT DB 10 ;10为数据个数
NUM20-1 DB 4 DUP (0) ;统计20;5;2;1的个数 CMPNUM DB 20,5,2,1 DATA ENDS CODE SEGMENT
ASSUME DS:DATA,CS:CODE START: MOV AX,DATA MOV DS ,AX
MOV SI,OFFSET NUM
MOV BX ,OFFSET NUM20-1 MOV CX ,COUNT MOV DI , 0 AGAIN MOV AL,[SI] CALL CMPDATA INC SI
LOOP AGAIN MOV AH 4CH INT 21H
;比较子程序,将AL的数与20,5,2,1比较,如果与其中之一相等,将NUM20-1的对应单元+1
CMPDATA PROC NEAR PUSH CX
PUSH DI
MOV CX , 3
LOOP1: CMP AX ,[BX+DI+4] JE NEXT INC DI LOOP LOOP1
JMP BACK
NEXT: ADD [BX][DI] ,1 BACK: POP DI POP CX CMPDADT ENDP CODE ENDS
END START
因篇幅问题不能全部显示,请点此查看更多更全内容