微机原理与接口技术习题答案4(1)

微机原理与接口技术习题答案4(1)
微机原理与接口技术习题答案4(1)

第4章汇编语言程序设计

1.已知在BUF的起始处保存有N个字符的ASCII码,编写汇编语言程序实现,将这组字

符串传送到缓冲区BUFR中,并且使字符串的顺序与原来的顺序相反。

解:BUF DB "BONJOUR_BELLE"

BUFR DB 100 DUP(?)

MOV CX, N

LEA SI, BUF

LEA DI, BUFR

ADD DI,CX

DEC DI

L1:

MOV AL,[SI]

MOV [DI],AL

INC SI

DEC DI

LOOP L1

2.利用移位、传送和相加指令实现AX的内容扩大10倍。

解:将扩大后的结果放在DX:AX中,注意到10×AX=8×AX+2×AX。

XOR DX,DX

SHL AX, 1

RCL DX, 1

MOV BX,AX

MOV CX,DX

SHL AX, 1

RCL DX, 1

SHL AX, 1

RCL DX, 1

ADD AX, BX

ADC DX, CX

3.在缓冲区V AR中连续存放着3个16位的无符号数,编写程序实现将其按递增关系排列;

如果V AR中保存的为有符号数,则再编写程序实现将其按递减关系排列。

解:V AR DW 1236,-432,3900

XOR SI,,SI

MOV AX,V AR[SI]

CMP AX, V AR[SI+2]

JAE L1

XCHG AX, V AR[SI+2]

L1:

CMP AX, V AR[SI+4]

JAE L2

XCHG AX, V AR[SI+4]

L2:

MOV V AR[SI], AX

MOV AX,V AR[SI+2]

CMP AX, V AR[SI+4]

JAE L3

XCHG AX, V AR[SI+4]

L3:

MOV V AR[SI+2], AX

4.编写程序段实现将AL和BL中的每一位依次交叉,得到的16位字保存在DX中,例

如(AL)=01100101B,(BL)=11011010B,则得到的(DX)=10110110 10011001B。解:利用移位指令完成。

XOR DX,DX

MOV CX,8

L1:

SHR AL,1

RCR DX,1

SHR BL,1

RCR DX,1

LOOP L1

5.在变量VAR1和V AR2中分别保存有两个字节型的正整数,编写完整的汇编语言程序实

现:

(1)当两数中有一个奇数时,将奇数存入VAR1,偶数存入V AR2;

(2)当两数均为奇数时,两个变量的内容不变;

(3)当两数均为偶数时,两数缩小一倍后存入原处。

解:当V AR1为奇数时,不论V AR2的奇偶性,这两个单元的内容均不变;只有当V AR1为偶数时,如果V AR2为奇数,则V AR1与V AR2内容交换;如果V AR2为偶数,则两数缩小一倍后存入原处。

DA TA SEGMENT

V AR1 D B 28

V AR2 DB 36

DA TA ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DATA, ES:DA TA

START:

MOV AX, DA TA

MOV DS,AX

MOV ES, AX

MOV AL,V AR1

MOV BL,V AR2

TEST AL,1

JZ EVEN1

JMP OVER

EVEN1:

TEST BL,1

JZ EVEN2

MOV V AR1,BL

MOV V AR2,AL

JMP OVER

EVEN2:

SHR AL,1

MOV V AR1,AL

SHR BL,1

MOV V AR2,BL

OVER:

MOV AH,4CH

MOV AL,0

INT 21H

CODE ENDS

END START

6.已知在字变量V AR1、V AR2和V AR3中保存有3个相同的代码,但有一个错码,编写

程序段找出这个错码,并将它送到AX,其地址送SI;如果3个代码都相同,则在AX 中置-1标志。

解:在数据段中定义:

V AR1 DW 5A34H

V AR2 DW 5A35H

V AR3 DW 3A34H

在代码段中编写程序段:

MOV AX,-1

MOV BX,V AR1

CMP BX,V AR2

JZ L2

CMP BX,V AR3

JZ L1

MOV AX,BX

LEA SI,VAR1

JMP OVER

L1:

MOV AX,V AR2

LEA SI,VAR2

JMP OVER

L2:

CMP BX,V AR3

JZ OVER

MOV AX,V AR3

LEA SI,VAR3

OVER:

7.分析下列程序段的功能:

MOV CL,04

SHL DX,CL

MOV BL,AH

SHL AX,CL

SHR BL,CL

OR DL,BL

解:程序段完成DX:AX组成的32位无符号数左移4位,低位补零(也即除以16)。

8.下列程序段执行后,求BX寄存器的内容:

MOV CL,3

MOV BX,0B7H

ROL BX,1

ROR BX,CL

解:实际上完成BX内容循环右移2位,因此,BX寄存器的内容为C02DH。9.下列程序段执行后,求BX寄存器的内容:

MOV CL,5

MOV BX,7D5CH

SHR BX,CL

解:完成BX内容逻辑右移5位,因此,BX寄存器的内容为03EAH。

10.将BUFFERS中N个字按相反顺序传递到BUFFERT中。

解:

LEA SI,BUFFERS

LEA DI,BUFFERT

MOV CX,N

ADD DI,N

ADD DI,N

SUB DI,2

L1:

MOV AX,[SI]

MOV [DI],AX

ADD SI,2

SUB DI,2

LOOP L1

11.数组ARRAY中存放有一组字型数据,前两个字节存放数据长度(5的倍数)。为给这

个数组中的数据进行加密保护,每5个数据取出一个数据进行加密处理:奇数位进行取反,偶数位不变,例如对数据0110 1100 1011 0001B加密后变成1100 0110 0001 1011B,编写加密程序encrpytion 和解密程序unencrpytion 。

解:约定从第一个数据开始,每5个数据为一组,每组中的第一个数据采取加密/解密处理。由于加密算法采用的是取反操作,解密算法也采用取反操作,因此解密和解密算法是同一个程序。

ENCRPYTION PROC NEAR

LEA SI,ARRAY

XOR DX,DX

MOV AX,[SI]

MOV BX,5

DIV BX

MOV CX, AX

ADD SI, 2

L1:

MOV AX, [SI]

XOR AX,0AAAAH

MOV [SI], AX

ADD SI,10

LOOP L1

RET

ENCRPYTION ENDP

13.设BUF中存放有N个无符号数(或有符号数),编程实现求它们的最小值(存入AX)

和最大值(存入DX)。

解:BUF存放有N个无符号数的程序如下:

MOV CX,N-1

LEA SI,BUF

MOV AX,[SI]

MOV DX,AX

ADD SI,2

L1:

CMP AX,[SI]

JBE NOCHG1

XCHG AX,[SI]

NOCHG1:

CMP DX,[SI]

JAE NOCHG2

XCHG DX,[SI]

NOCHG2:

ADD SI,2

LOOP L1

如果BUF中存放的是有符号数,则只需要将程序中的两行内容修改:

JBE NOCHG1 改成:JLE NOCHG1

JAE NOCHG2 改成:JGE NOCHG2

14.设BUFFER中存放有N个无符号(第1个字节存放缓冲区的长度),编程实现将其中的

0元素抹去,并更新其长度。

解:设BUFFER中存放的是字节型数据。采用双指针方法:SI为读指针,DI为写指针,从低地址开始,内存中读出一个字节,如果不为0,则写入内存;如果为0,则不进行写操作。

LEA SI, BUFFER

XOR CX,CX

MOV CL, [SI]

INC SI

MOV DI, SI

XOR BH,BH

XOR AL,AL

L1:

CMP [SI],AL

JZ L2

MOV BL,[SI]

MOV [DI],BL

INC DI

INC BH

L2:

INC SI

LOOP L1

MOV BUFFER,BH

16.编写一个子程序实现统计AL中1的个数,然后检测出字节型缓冲区BUF中0和1个

数相等的元素个数。

解:统计AL中1的个数,只需将AL右移,移出的一位内容进行累加,子程序为:COUNTBYTE PROC NEAR

PUSH AX

PUSH CX

MOV CX,8

XOR BL,BL

COU1:

SHR AL,1

ADC BL,0

LOOP COU1

POP CX

POP AX

RET

COUNTBYTE ENDP

在此基础上,可以检测出字节型缓冲区BUF中0和1个数相等的元素个数,即一个字节中有4个1。设BUF中有N个字节型数据,结果保持在BH中。

MOV CX,N

LEA SI, BUF

XOR BH,BH

L1: MOV AL,[SI]

CALL COUNTBYTE

CMP BL,4

JNZ L2

INC BH

L2: INC SI

LOOP L1

19.在缓冲区BUFFER中,第1个字节存放数组的长度(<256),从第2个字节开始存放字

符的ASCII码,编写子程序完成在最高位给字符加上偶校验。

解:STACK SEGMENT STACK 'STACK'

DW 100H DUP(?)

TOP LABEL BYTE

STACK ENDS

DATA SEGMENT

BUFFER DB 3 ;首字节为字符串长度

DB 'ABC' ;字符串

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK START:

MOV AX,STACK

MOV SS,AX

LEA SP,TOP

MOV AX,DA TA

MOV DS,AX

MOV ES,AX

LEA DI,BUFFER

XOR CX,CX

MOV CL,[DI]

INC DI

CALL SETEVEN

MOV AH,4CH ;返回DOS

MOV AL,0

INT 21H

SETEVEN PROC NEAR ;加偶校验子程序

PUSH AX

PUSH BX

PUSH CX

PUSH DI

SETEVEN1:

MOV AL,[DI]

CALL COUNTBYTE

AND BL,01H

JZ SETEVEN2

OR AL,80H

MOV [DI],AL

SETEVEN2:

INC DI

LOOP SETEVEN1

POP DI

POP CX

POP BX

POP AX

RET

SETEVEN ENDP

COUNTBYTE PROC NEAR

PUSH AX

PUSH CX

MOV CX,8

XOR BL,BL

COU1:

SHR AL,1

ADC BL,0

LOOP COU1

POP CX

POP AX

RET

COUNTBYTE ENDP

CODE ENDS

END START

20. 编写程序完成求多位数(N个字)的绝对值。

21. 已知斐波那契数列的定义为:)3(,1,12121

≥+===--i F F F F F i i i ,编写求该

数列前n 项的子程序。 解:设奖斐波那契数列存放在字变量RESULT 中。在数据段中定义

RESULT DW 100H DUP (?)

在代码段中编写子程序

FIBONACCI PROC NEAR

XOR DI,DI

MOV RESULT[DI],1 ;前两个数为1

MOV RESULT[DI+2],1

ADD DI,4

MOV CX,N

L1:

MOV AX, RESULT[DI-4]

ADD AX, RESULT[DI-2]

MOV RESULT[DI],AX

ADD DI,2

LOOP L1

RET

FIBONACCI ENDP

22. 编写程序实现循环显示10条信息,保存每条信息的变量分别为INFOM1~INFORM10。 解:在数据段中定义变量:

TABLE DW INFORM1, INFORM2, INFORM3, INFORM4, INFORM5

DW INFORM6, INFORM7, INFORM8, INFORM9, INFORM10

在代码段中编写程序段:

MOV CX,10 XOR

SI,SI L1: MOV

DX,TABLE[SI]

MOV AH,9

INT 21H

ADD SI,2

CALL WAIT

LOOP L1

这里,WAIT为延时子程序,用于在显示信息之间的停顿。

23. 编写程序实现将包含20个数据的数组ARRAY分成两个数组:正数数组ARRAYP和负数数组ARRAYN,并分别将这两个数组中数据的个数显示出来。

解:先编写一个子程序DISPALD,完成以3位十进制数形式显示出AL的内容。

DISPALD PROC NEAR

PUSH AX

PUSH CX

PUSH DX

XOR AH,AH

MOV CL,100

DIV CL

PUSH AX

MOV DL,30H

ADD DL,AL

MOV AH,2

INT 21H

POP AX

MOV AL,AH

XOR AH,AH

MOV CL,10

DIV CL

PUSH AX

MOV DL,30H

ADD DL,AL

MOV AH,2

INT 21H

POP AX

MOV DL,30H

ADD DL,AH

MOV AH,2

INT 21H

POP DX

POP CX

POP AX

RET

DISPALD ENDP

在此基础上,根据题目要求,需要用到3个指针:SI指向源数组ARRAY,DI指向正数数组ARRAYP,BX指向负数数组ARRAYN。

MOV CX,20

XOR DX,DX

LEA SI,ARRAY

LEA DI,ARRAYP

LEA BX,ARRAYN

L1: MOV AL,[SI]

AND AL,AL

JS L2

MOV [DI],AL

INC DI

INC DL

JMP L3

L2: MOV [BX],AL

INC BX

INC DH

L3: INC SI

LOOP L1

MOV AL,DL

CALL DISPALD

MOV AL,DH CALL DISPALD

24. 编写程序实现求缓冲区BUFFER 的100个字中的最小偶数(存入AX )。

解:设BUFFER 中存放的是有符号数。

MOV CX,100

LEA SI,BUFFER

MOV AX, 7FFFH L1:

AND WORD PTR [SI],1

JNZ L2

CMP [SI],AX

JGE L2

MOV AX,[SI] L2:

ADD SI,2 LOOP L1

25. 编写程序实现求级数 ++++22221

n 的前n 项和刚大于2000的项数n 。

解:BL 用于存放项数。 STACK SEGMENT STACK 'STACK'

DW 100H DUP (?)

TOP LABEL WORD

STACK ENDS

DA TA SEGMENT

DB 100H DUP (?)

DA TA ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DATA, ES:DATA, SS:STACK

START:

MOV AX,DATA

MOV DS,AX

MOV ES,AX

MOV AX,STACK

MOV SS,AX

LEA SP,TOP

MOV BL,1

MOV CX,0

COUNT:

MOV AL, BL

MUL BL

ADD CX,AX

CMP CX,2000

JA EXIT

INC BL

JMP COUNT

EXIT:

26. 定义一条宏指令,实现将指定数据段的段地址传送到段寄存器ES或DS的功能。解:

27. 定义一条宏指令,实现从键盘中输入一个字符串(利用INT 21H的09号功能)。

28. 定义一条宏指令,实现在屏幕上输出回车、换行。

29. 利用其它指令完成与下列指令一样的功能:

(1)REP MOVSB;(2)REP LODSB;

(3)REP STOSB;(4)REP SCASB。

解:设DF=0

(1)L1: MOV AL,[SI]

MOV ES:[DI],AL

INC SI

INC DI

LOOP L1

(2)L1: MOV AL,[SI]

INC SI

LOOP L1

(3)L1: MOV ES:[DI],AL

INC DI

LOOP L1

(4)L1: MOV AL,[SI]

CMP AL,ES:[DI]

INC SI

INC DI

LOOP L1

30. 设在数据段中定义了:

STR1 DB ‘ASSEMBLE LANGUAGE’

STR2 DB 20 DUP(?)

利用字符串指令编写程序段实现:

(1)从左到右将STR1中的字符串传送到STR2;

(2)从右到左将STR1中的字符串传送到STR2;

(3)将STR1中的第6个和第7个字节装入DX;

(4)扫描STR1字符串中有无空格,如有则将第一个空格符的地址传送到SI。

解:STR1中有17个字符(含一个空格),设DS和ES均指向STR1和STR2所在的段。(1)CLD

MOV CX,17

LEA SI,STR1

LEA DI,STR2

REP MOVSB

(2)MOV CX,17

LEA SI,STR1

LEA DI,STR2

ADD SI,CX

DEC SI

L1: MOV AL,[SI]

MOV [DI],AL

DEC SI

INC DI

LOOP L1

(3)LEA SI,STR1

MOV DX,[SI+6]

(4)MOV CX,17

LEA SI,STR1

MOV AL,20H

L1: CMP [SI], AL

JZ L2

INC SI

LOOP L1

L2:

31. 设在数据段中定义了:

STRING DB ‘Today is Sunday & July 16, 2000’编写程序实现将STRING中的’&’用’/’代替。

解:STRING中保存了30个字符。

MOV CX,30

LEA SI,STRING

MOV AL,’&’

L1: CMP [SI],AL

JNZ L2

MOV BYTE PTR [SI],’/’

L2: INC SI

LOOP L1

32. 分析下列程序段完成的功能:

MOV CX,100

LEA SI,FIRST

LEA DI,SECOND

REP MOVSB

解:将缓冲区FIRST中100个字节传送到SECOND中。

33. 分析下列程序段:

LEA DI,STRING

MOV CX,200

CLD

MOV AL,20H

REPZ SCASB

JNZ FOUND

JMP NOT_FOUND

问:转移到FOUND的条件。

解:在缓冲区STRING中搜索非空格字符,如果有非空格则转到FOUND,如果200个单元中都是空格,则转到NOT_FOUND。

34. 设在数据段的变量OLDS和NEWS中保存有5个字节的字符串,如果OLDS字符串不同于NEWS字符串,则执行NEW_LESS,否则顺序执行程序。

解:设DS和ES均指向字符串OLDS和NEWS所在的段。

CLD

MOV CX,5

LEA SI,OLDS

LEA DI,NEWS

REPZ CMPSB

JNZ NEW_LESS

35. 编程实现将STRING字符串中的小写字母变换成大写字母。

解:设STRING中的字符个数为N。

MOV CX,N

LEA SI,STRING

MOV AL,5FH

L1: AND [SI],AL

INC SI

LOOP L1

36. 设在数据段中定义了:

STUDENT_NAME DB 30 DUP(?)

STUDENT_ADDR DB 9 DUP(?)

STUDENT_PRINT DB 50 DUP(?)

编写程序实现:

用空格符清除缓冲区STUDENT_PRINT;

在STUDENT_ADDR中查找第一个’_’字符;

在STUDENT_ADDR中查找最后一个’_’字符;

如果STUDENT_NAME中全为空格符,则STUDENT_PRINT全存入’*’;

将STUDENT_NAME传送到STUDENT_PRINT的前30个字节中,将STUDENT_ADDR 传送到STUDENT_PRINT的后9个字节中。

37.(上机题)编写程序实现,将缓冲区BUFFER中的100个字按递增排序,并按下列格式顺序显示:

数据1 <原序号>

数据2 <原序号>

……

38. (上机题)按同余法产生一组随机数N(1

Total <总人数>

A: <人数1>

B: <人数2>

C: <人数3>

微机原理与接口技术(第三版)课本习题答案

第二章 8086体系结构与80x86CPU 1.8086CPU由哪两部分构成它们的主要功能是什么 答:8086CPU由两部分组成:指令执行部件(EU,Execution Unit)和总线接口部件(BIU,Bus Interface Unit)。指令执行部件(EU)主要由算术逻辑运算单元(ALU)、标志寄存器FR、通用寄存器组和EU控制器等4个部件组成,其主要功能是执行指令。总线接口部件(BIU)主要由地址加法器、专用寄存器组、指令队列和总线控制电路等4个部件组成,其主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或I/O端口读取操作数参加EU运算或存放运算结果等。 2.8086CPU预取指令队列有什么好处8086CPU内部的并行操作体现在哪里答:8086CPU的预取指令队列由6个字节组成,按照8086CPU的设计要求,指令执行部件(EU)在执行指令时,不是直接通过访问存储器取指令,而是从指令队列中取得指令代码,并分析执行它。从速度上看,该指令队列是在CPU内部,EU从指令队列中获得指令的速度会远远超过直接从内存中读取指令。8086CPU 内部的并行操作体现在指令执行的同时,待执行的指令也同时从内存中读取,并送到指令队列。 5.简述8086系统中物理地址的形成过程。8086系统中的物理地址最多有多少个逻辑地址呢答:8086系统中的物理地址是由20根地址总线形成的。8086系统采用分段并附以地址偏移量办法形成20位的物理地址。采用分段结构的存储器中,任何一个逻辑地址都由段基址和偏移地址两部分构成,都是16位二进制数。通过一个20位的地址加法器将这两个地址相加形成物理地址。具体做法是16位的段基址左移4位(相当于在段基址最低位后添4个“0”),然后与偏移地址相加获得物理地址。由于8086CPU的地址线是20根,所以可寻址的存储空间为1M字节,即8086系统的物理地址空间是1MB。逻辑地址由段基址和偏移地址两部分构成,都是无符号的16位二进制数,程序设计时采用逻辑地址,也是1MB。 6.8086系统中的存储器为什么要采用分段结构有什么好处 答:8086CPU中的寄存器都是16位的,16位的地址只能访问64KB的内存。086系统中的物理地址是由20根地址总线形成的,要做到对20位地址空间进行访问,就需要两部分地址

微机原理及应用试题库(附答案)

《微机原理及应用》试题库 1. 8086和8088的引脚信号中, D 为地址锁存允许信号引脚。 A.CLK B.INTR C.NMI D.ALE 2. 下面的哪项是有效标识符: B A . 4LOOP: B. DELAYIS: C. MAIN A/B: D. GAMA$1: 3. 如图所示的三态输出电路,当 A 时,V B≈V DD。 A. E(ENABLE)=1, A=1 B. E(ENABLE)=1, A=0 C. E(ENABLE)=0, A=1 D. E(ENABLE)=0, A=0 4. 设(SS)=2000H,(SP)=0100H,(AX)=2107H,则执行指令PUSH AX 后,存放数据21H的物理地址是 D 。 A. 20102H B. 20101H C. 200FEH D. 200FFH 5. 汇编语言中,为了便于对变量的访问, 它常常以变量名的形式出现在程序中, 可以认为它是存放数据存储单元的 A 。 A.符号地址B.物理地址C.偏移地址D.逻辑地址 6. 下列四个寄存器中,不能用来作为间接寻址方式的寄存器是 A 。 A. CX B. BX C. BP D. DI (C)7. 执行下列程序段: MOV AX,0 MOV BX,1 MOV CX,100 AA:ADD AX,BX INC BX LOOP AA HLT 执行后的结果:(AX)= ,(BX)= 。 A. 5050,99 B. 2500,100 C. 5050,101 D. 2550,102 8. 假设V1和V2是用DW定义的变量,下列指令中正确的是 A 。 A.MOV V1, 20H B.MOV V1, V2 C.MOV AL, V1 D.MOV 2000H, V2 9. – 49D的二进制补码为 A 。

吉大18年9月《微机原理及应用》作业考核试题

------------------------------------------------------------------------------------------------------------------------------ (判断题) 1: 8086CPU在读/写总线周期的T3状态结束对READY线采样,如果READY为低电平,则在T3与T4状态之间插入等待状态TW。( ) A: 错误 B: 正确 正确答案: (判断题) 2: A/D转换器是将数字量变成模拟量的器件() A: 错误 B: 正确 正确答案: (判断题) 3: 8086/8088CPU的复位后开始执行的第一条指令的地址为FFFFH。() A: 错误 B: 正确 正确答案: (判断题) 4: 采用直接寻址输入/输出指令的最大端口地址为0FFH。() A: 错误 B: 正确 正确答案: (判断题) 5: DMA控制器8237A现行字节数寄存器的值减到0时,终止计数。() A: 错误 B: 正确 正确答案: (多选题) 1: 常用的输入设备有( ) A: 键盘 B: 鼠标 C: 触摸屏 D: 显示器 正确答案: (多选题) 2: 下列指令中,( )的源操作数采用的是直接寻址。 A: MOV AL,[23H] B: MOV DX,AX C: MOV AL,0FFH D: IN AL,23H 正确答案: (多选题) 3: 若需将数据段中的源串传送到附加段的目的串,可用的指令有( ) A: MOV B: MOVS C: SCAS D: LODS和STOS 正确答案: (单选题) 1: 8086CPU在执行MOVAL,[BX]指令的总线周期内,若BX存放的内容为1011H,则BHE和A0的状态是()。 A: 0,0 B: 0,1

微机原理课后作业答案第五版

第一章 6、[+42]原=00101010B=[+42]反=[+42]补 [-42]原 [-42]反 [-42]补 [+85]原=01010101B=[+85]反=[+85]补 [-85]原 [-85]反 [-85]补 10、微型计算机基本结构框图 微处理器通过一组总线(Bus)与存储器和I/O接口相连,根据指令的控制,选中并控制它们。微处理器的工作:控制它与存储器或I/O设备间的数据交换;进行算术和逻辑运算等操作;判定和控制程序流向。 存储器用来存放数据和指令,其内容以二进制表示。每个单元可存8位(1字节)二进制信息。 输入——将原始数据和程序传送到计算机。 输出——将计算机处理好的数据以各种形式(数字、字母、文字、图形、图像和声音等)送到外部。 接口电路是主机和外设间的桥梁,提供数据缓冲驱动、信号电平转换、信息转换、地址译码、定时控制等各种功能。 总线:从CPU和各I/O接口芯片的内部各功能电路的连接,到计算机系统内部的各部件间的数据传送和通信,乃至计算机主板与适配器卡的连接,以及计算机与外部设备间的连接,都要通过总线(Bus)来实现。 13、8086有20根地址线A19~A0,最大可寻址220=1048576字节单元,即1MB;80386有32根地址线,可寻址232=4GB。8086有16根数据线,80386有32根数据线。

1、8086外部有16根数据总线,可并行传送16位数据; 具有20根地址总线,能直接寻址220=1MB的内存空间; 用低16位地址线访问I/O端口,可访问216=64K个I/O端口。 另外,8088只有8根数据总线 2、8086 CPU由两部分组成:总线接口单元(Bus Interface Unit,BIU) BIU负责CPU与内存和I/O端口间的数据交换: BIU先从指定内存单元中取出指令,送到指令队列中排队,等待执行。 执行指令时所需的操作数,也可由BIU从指定的内存单元或I/O端口中获取,再送到EU去执行。 执行完指令后,可通过BIU将数据传送到内存或I/O端口中。 指令执行单元(Execution Unit,EU) EU负责执行指令: 它先从BIU的指令队列中取出指令,送到EU控制器,经译码分析后执行指令。EU的算术逻辑单元(Arithmetic Logic Unit,ALU)完成各种运算。 6、见书P28-29。 7.(1) 1200:3500H=1200H×16+3500H=15500H (2) FF00:0458H=FF00H×16+0458H=FF458H (3) 3A60:0100H=3A80H×16+0100H=3A700H 8、(1)段起始地址 1200H×16=12000H,结束地址 1200H×16+FFFFH=21FFFH (2)段起始地址 3F05H×16=3F050H,结束地址 3F05H×16+FFFFH=4F04FH (3)段起始地址 0FFEH×16=0FFE0H,结束地址 0FFEH×16+FFFFH=1FFD0H 9、3456H×16+0210H=34770H 11、堆栈地址范围:2000:0000H~2000H(0300H-1),即20000H~202FFH。执行 两条PUSH指令后,SS:SP=2000:02FCH,再执行1条PUSH指令后,SS: SP=2000:02FAH。 12、(2000H)=3AH, (2001H)=28H, (2002H)=56H, (2003H)=4FH 从2000H单元取出一个字数据需要1次操作,数据是 283AH; 从2001H单元取出一个字数据需要2次操作,数据是 5628H; 17、CPU读写一次存储器或I/O端口的时间叫总线周期。1个总线周期需要4个系统时钟周期(T1~T4)。8086-2的时钟频率为8MHz,则一个T周期为125ns,一个总线周期为500ns,则CPU每秒最多可以执行200万条指令。

微机原理试题及答案

1 一、选择题(20分,在每小题的4个备选答案中选出一个正确的答案编号填写在该题空白处,每题2分) 1.指令MOV DX,[BX]的寻址方式是 D 。 (A)立即寻址(B)直接寻址(C)寄存器寻址(D)寄存器间接寻址2.若AL的内容为3FH,执行SHL AL,1指令后,AL的内容为 A 。 (A)7EH (B)1FH (C)9FH (D)7FH 解析:shl al ,1 即目的操作数各位左移一次,移动一次,相当于将目的操作数乘以2。3fh=63 63*2=126 126=7eh 故选A 3.属于在工作中需定时刷新的存储器的芯片是 B 。 (A)SRAM (B)DRAM (C)EEPROM (D)EPROM 4.某EPROM芯片上有19条地址线A 0~A 18 ,它的容量为 C 。 (A)128K (B)256K (C)512K (D)1024K 5.8086/8088CPU的SP寄存器是多少位的寄存器 B 。 (A)8位(B)16位(C)24位(D)32位 6.在STOSB指令执行的时候,隐含着寄存器的内容作为操作数的偏移地址, 该寄存器是 D 。 (A)SP (B)BX (C)SI (D)DI 解析:stos数据串存储指令功能:将累加器al或ah中的一个字或字节,传送到附加段中以di为目标指针的目的串中,同时修改di,以指向串中的下一个单元。 7.8255工作在方式0时,下面哪种说法不正确 C 。 (A)A口输入无锁存能力(B)A、B口输出有锁存能力 (C)C口输入有锁存能力(D)A、B、C三个口输出均有锁存能力 解析:对于方式0,规定输出信号可以被锁存,输入不能锁存 8.采用DMA方式来实现输入输出是因为它 A 。 (A)速度最快(B)CPU可不参与操作(C)实现起来比较容易(D)能对突发事件做出实时响应 9.工作在最小模式下,8086/8088CPU芯片中,将地址信号锁存的信号是 C 。 (A)DT/R (B)DEN (C)ALE (D)AEN 10.在LOOP指令执行的时候,隐含着对计数器减1的操作,该计数器是用寄存 器 C 。 (A)AX (B)BX (C)CX (D)DX 解析:loop:循环指令。指令执行前必须事先见重复次数放在cx寄存器中,每执行一次loop指令,cx自动减1。 二、填空题(每小题2分,共10分) 1.两个无符号数相等,该两数相减后ZF标志= 1 。解析:zf: 全零标志位。本次运算结果为0时,zf=1,否则zf=0。 2.执行LODSB后,SI的内容较该指令执行前增加1,说明DF= 0 。

微机原理与应用作业答案

1. 若二进制数为 ,则该数的十进制表示为( B : )。 2. 为二进制补码,该数的真值为( C +58 )。 3. 01000110为二进制补码, 该数的真值为( A +70 )。 4. 8位二进制数的原码表示范围为( C -127 ~ +127 )。 5. n 位二进制数的原码表示范围为( C 12~1211-++---n n )。 6. 8位二进制数的反码表值范围为( C -127~ +127 )。 7. n 位二进制数的反码表示范围为( C 12~1211-++---n n )。 8. 8位二进制数的补码表值范围为( B -128 ~ +127 )。 9. n 位二进制数的补码表示范围为( B 12~211-+---n n )。 10. 8位二进制数的无符号数表值范围为( A 0 ~ 255 )。 11. 决定计算机主要性能的是( A 中央处理器 )。 12. M I P S 用来描述计算机的运算速度,含义是( C 每秒执行百万条指令 )。 13. 完整的计算机系统应包括( D 硬件设备和软件系统)。 14. 计算机硬件主要由C P U 、内存、I /O 设备和( B 三总线 )组成。 15. 包含在8086C P U 芯片内部的是( A 算术逻辑单元)。 16. 在机器数( B 补码)中,零的表示形式是惟一的。 17. 程序计数器P C 的作用是( A 保存将要执行的下一条指令的地址)。 18. 8086当前被执行的指令存放在( D CS :IP )。 19. 运算器执行两个补码表示的整数加法时,产生溢出的正确叙述为( D 相加结果的符号位与两同号加数的符号位相反则产生溢出)。 20. 8086中,存储器物理地址形成算法是( B 段地址左移4位/16/10H+偏移地址 )。 21. 下列逻辑地址中对应不同的物理地址的是( 03E0H :0740H )。 A :0400H :0340H B :0420H :0140H D :03C0H :0740H 22. 存储字长是指( B 存储单元中二进制代码个数)。 23. 8086系统中,每个逻辑段的最多存储单元数为( C 64KB )。 24. 若某C P U 具有64G B 的寻址能力,则该C P U 的地址总线宽度为( 36 )。 25. 下列数中最小的数是( A (1011011)2 )。 26. 指令队列具有( D 暂存预取指令 )的作用。 27. 指令队列工作方式为( A 先进先出 )。 28. 堆栈存储器存取数据的方式是( C 先进后出)。 29. 8086系统中,一个栈可用的最大存储空间是( B 64KB )。 30. 8086C P U 有( C 8 )个8位的通用寄存器。 31. 8086C P U 共有( D 14)个16位寄存器。 32. 某补码表示的8位二进制整数由5个1和3个0组成,则其可表示的最小值是 ( A -113 )。 33. 16个字数据存储区的首址为70A 0H :D D F 6H ,末字单元的物理地址为( C :7E814H )。 34. 8个字节数据存储区的首址为70A 0H :D D F 6H ,末字节单元的物理地址为( D :7E7FDH )。 35. 用M B 表示存储器容量时,1M B 等于( C 220个字节)。 1. 8086与外设进行数据交换时,常会在( T 3 )后进入等待周期T w 。 2. 下列说法中属于最小工作模式特点的是( A CPU 提供全部的控制信号)。 3. 下列说法中属于最大工作模式特点的是( C 需要总线控制器8288 )。 4. 8086 C P U 中,需要( B 2 )片数据总线收发器芯片8286。 5. 8086C P U 中,需要( C 3 )片地址锁存器芯片8282。 6. 从8086存储器中读取非规则字需要( B 2 )个总线周期。 7. 从8086存储器中读取奇地址存储的字节需要( A :1 )个总线周期。 8. 下列说法中,不正确的是( C 栈底是堆栈地址较小的一端)。 9. 在8086系统中,用控制线( D M/IO )实现对存储器和I /O 接口的选择。 10. C P U 对存储器访问时,地址线和数据线的有效时间关系为( B 地址线先有效)。 11. 8086 C P U 共有( D 21 )根分时复用总线。

微机原理习题解答

第一章微型计算机的基础知识 1-1 将下列十进制数转换为二进制数、十六进制数。 (1)110 (2)1 039 (3)0.75 (4)0.156 25 1-2 将下列十进制数转换为BCD 码。 (1)129 (2)5 678 (3)0.984 (4)93.745 1-3 将下列二进制数转换为十进制数、十六进制数。 (1)10101010 (2)10000000 (3)11000011.01 (4)01111110 1-4 将下列十六进制数转换为二进制数、十进制数。 (1)8E6H (2)0A42H (3)7E.C5H (4) 0F19.1DH 1-5 将下列二进制数转换为BCD 码。 (1)1011011.101 (2)1010110.001 1-6 将下列BCD 码转换为二进制数。 (1)(0010 0111 0011) BCD (2)(1001 0111.0010 0101) BCD 1-7 完成下列二进制数的运算。 (1)1001.11+11.11 (2)1101.01-0110.11 (3)1000.011-1001.101 (4)1111+1101 1-8 完成下列十六进制数的运算。 (1)6AH+0A6H (2)0AB1FH+0EFCH (3)12ADH-1DEH (4)117H-0ABH 1-9 已知X=01H,Y=0FFH ,在下面的情况下比较两数的大小。 (1)无符号数 (2)符号数 (均为补码) 1-10 计算下列各表达式。 (1)101+‘A’+01101001B+0D5H+57Q (2)127.8125+10111101.101+375.63Q+1FC.8AH 1-11 写出下列字符串的ASCII 码。 (1)HELLO (2)A8=

微机原理与接口技术(第二版) 清华大学出版社

习题1 1.什么是汇编语言,汇编程序,和机器语言? 答:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。 汇编语言是面向及其的程序设计语言。在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。这种用符号代替机器语言的二进制码,就把机器语言编程了汇编语言。 使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序。 2.微型计算机系统有哪些特点?具有这些特点的根本原因是什么? 答:微型计算机的特点:功能强,可靠性高,价格低廉,适应性强、系统设计灵活,周期短、见效快,体积小、重量轻、耗电省,维护方便。 这些特点是由于微型计算机广泛采用了集成度相当高的器件和部件,建立在微细加工工艺基础之上。 3.微型计算机系统由哪些功能部件组成?试说明“存储程序控制”的概念。 答:微型计算机系统的硬件主要由运算器、控制器、存储器、输入设备和输出设备组成。 “存储程序控制”的概念可简要地概括为以下几点: ①计算机(指硬件)应由运算器、存储器、控制器和输入/输出设备五大基本部件组成。 ②在计算机内部采用二进制来表示程序和数据。 ③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预的情况下,自动、高速的从存储器中取出指令加以执行,这就是存储程序的基本含义。 ④五大部件以运算器为中心进行组织。 4.请说明微型计算机系统的工作过程。 答:微型计算机的基本工作过程是执行程序的过程,也就是CPU自动从程序存

放的第1个存储单元起,逐步取出指令、分析指令,并根据指令规定的操作类型和操作对象,执行指令规定的相关操作。如此重复,周而复始,直至执行完程序的所有指令,从而实现程序的基本功能。 5.试说明微处理器字长的意义。 答:微型机的字长是指由微处理器内部一次可以并行处理二进制代码的位数。它决定着计算机内部寄存器、ALU和数据总线的位数,反映了一台计算机的计算精度,直接影响着机器的硬件规模和造价。计算机的字长越大,其性能越优越。在完成同样精度的运算时,字长较长的微处理器比字长较短的微处理器运算速度快。 6.微机系统中采用的总线结构有几种类型?各有什么特点? 答:微机主板常用总线有系统总线、I/O总线、ISA总线、IPCI总线、AGP总线、IEEE1394总线、USB总线等类型。 7.将下列十进制数转换成二进制数、八进制数、十六进制数。 ①(4.75)10=(0100.11)2=(4.6)8=(4.C)16 ②(2.25)10=(10.01)2=(2.2)8=(2.8)16 ③(1.875)10=(1.111)2=(1.7)8=(1.E)16 8.将下列二进制数转换成十进制数。 ①(1011.011)2=(11.375)10 ②(1101.01011)2=(13.58)10 ③(111.001)2=(7.2)10 9.将下列十进制数转换成8421BCD码。 ① 2006=(0010 0000 0000 0110)BCD ② 123.456=(0001 0010 0011.0100 0101 0110)BCD 10.求下列带符号十进制数的8位基2码补码。 ① [+127]补= 01111111

微机原理与应用试题库(附答案)

《微机原理及应用》试题库 1. 8086 和 8088 的引脚信号中,D为地址锁存允许信号引脚。 A. CLK B. INTR C.NMI D.ALE 2.下面的哪项是有效标识符:B A . 4LOOP : B. DELAYIS : C. MAIN A/ B : D.GAMA$1 : 3.如图所示的三态输出电路,当 A 时, V B≈V DD。 A. E(ENABLE)=1, A=1 B.E(ENABLE)=1, A=0 C. E(ENABLE)=0, A=1 D.E(ENABLE)=0, A=0 4. 设 (SS)=2000H , (SP)=0100H , (AX)=2107H ,则执行指令PUSH AX后,存放数据21H 的物理地址是 D。 A. 20102H B. 20101H C. 200FEH D. 200FFH 5. 汇编语言中,为了便于对变量的访问, 它常常以变量名的形式出现在程序中, 可以认为它是存放数据存储单元的A。 A.符号地址B.物理地址C.偏移地址 D .逻辑地址 6. 下列四个寄存器中,不能用来作为间接寻址方式的寄存器是A。 A. CX B. BX C. BP D. DI (C)7. 执行下列程序段: MOV AX ,0 MOV BX ,1 MOV CX , 100 AA : ADD AX ,BX INC BX LOOP AA HLT 执行后的结果:(AX)=,(BX)=。 A. 5050 , 99 B. 2500, 100 C. 5050 , 101 D. 2550 , 102 8. 假设 V1 和 V2 是用 DW 定义的变量,下列指令中正确的是A。 A . MOV V1, 20H B. MOV V1, V2 C . MOV AL, V1D. MOV2000H, V2 9. –49D 的二进制补码为A。

《微机原理及应用》作业试题【精品范文】

《微机原理及应用》作业试题 《微机原理及应用》作业试题 一、判断题 (共 5 道试题,共 20 分) 1.8086/8088CPU的复位后开始执行的第一条指令的地址为FFFFH。() A.错误 B.正确 2.采用直接寻址输入/输出指令的最大端口地址为0FFH。 () A.错误 B.正确 3.若各中断源的优先级是一样的,则可用自动循环优先级来实现。() A.错误

B.正确 4.DMA控制器8237A现行字节数寄存器的值减到0时,终止计数。() A.错误 B.正确 5.ROM必须定时刷新,否则所存信息就会丢失。() A.错误 B.正确 二、多选题 (共 3 道试题,共 12 分) 1.常用的输入设备有( ) A.键盘

B.鼠标 C.触摸屏 D.显示器 2.可以实现在数据段中保留10H个字节单元的指令有?( )。 A.DW 08H?DUP(?) B.DB 10H?DUP(?) C.DB 8 DUP(2 DUP(?)) D.DD 4 DUP(?) 3.8086/8088?CPU响应硬中断NMI和INTR时,相同的条件是?( )。 A.允许中断 B.当前指令执行结束

C.CPU工作在最大组态下 D.不处于DMA操作期间 三、单选题 (共 17 道试题,共 68 分) 1.地址译码器的输入端应接到( )上。 A.控制总线 B.数据总线 C.地址总线 D.外部总线 2.串行异步通信传输的主要特点是( ) A.通信双方不必同步 B.每个字符的发送是独立的

C.字符之间的传送时间长度应相同 D.字符发送速率由波特率决定 3.8086系统中内存储器地址空间为1M,而在进行I/O读写是,有效的地址线是() A.高16位 B.低16位 C.高8位 D.低8位 4.8086CPU在执行MOVAL,[BX]指令的总线周期内,若BX 存放的内容为1011H,则BHE和A0的状态是()。 A.0,0 B.0,1

微机原理复习题(081109答案)

微机原理复习大纲 复习范围: 1.作业 2.书上例题 3.课堂上反复强调的内容 4.复习题 微机原理复习题 一、单项选择题 1.PC机是( C ) A、单片机 B、单板机 C、微型计算机 D、微型计算机系统 2.CPU中运算器的主要功能是( D ) A、算术运算 B、逻辑运算 C、函数运算 D、算术运算和逻辑运算 3.8086CPU中的段寄存器用来存放( C ) A、存储段的物理地址 B、存储器的逻辑地址 C、存储器的段基值 D、存储器的起始地址 4.8086系统中内存储器的地址空间为1M,而在进行I/O-读写时,有效的地址线是( B ) A、高16位 B、低16位 C、高8位 D、低8位 5.8086CPU在进行写内存操作时,控制信号M/IO-和DT/R-是( D ) A、00 B、0 1 C、1 0 D、1 1 6.芯片8288在8086CPU系统中用作( C ) A、总线锁存器 B、总线驱动器 C、总线控制器 D、总线仲裁器 7.有一静态RAM芯片的地址线为A0~A9,数据线为D0~D3,则该存储器芯片的存储 容量为( D ) A、2K×4位 B、1KB(B:字节) C、2KB D、1K×4位 8.在16位存储系统中,为了( C ),存储字最好存放在偶地址。 A、便于快速寻址 B、节省所占的内存空间 C、减少执行指令的总线周期 D、减少读写错误 9.有一8086系统的中断向量表,在003CH:003FH单元开始依次存放34H、FEH、00H 和F0H四个字节,该向量对应的中断类型码和中断服务程序的入口地址分别为( C ) A、0EH,34FE:00F0H B、0EH,0F000:0FE34H C、0FH,0F000:0FE34H D、0FH,00F0H:34FEH 10.8259A可编程中断控制器中的中断服务寄存器ISR用于( A ) A、记忆正在处理中的中断 B、存放从外设来的中断请求信号 C、允许向CPU发中断请求 D、禁止向CPU发中断请求 11.当8255A 工作在方式1的输入状态时,8255A与外设之间的联络信号为( C ) A、IBF、ACK B、OBF、ACK C、IBF、STB D、OBF、STB 12.8253可编程定时/计数器的计数范围是( D ) A、0-255 B、1-256 C、0-32768 D、1-65536 13.可编程定时器/计数器8253的6种工作方式中,既可软件启动,又可硬件启动的是( B ) A、方式1,2; B、方式2,3 ; C、方式3,5; D、方式2,5 14.根据串行通信规程规定,收发双方的( B )必须保持相同。 A、外部时钟周期; B、波特率因子; C、波特率; D、以上都正确15.8251A用作异步串行通信接口,如果设定波特率因子为16,而发送器与接收器时钟频率为19200Hz,则波特率为( A ) 。 A、1200波特; B、2400波特; C、9600波特; D、19200波特

微机原理与接口技术学习心得

本学期微机原理课程已经结束,关于微机课程的心得体会甚多。微机原理与接口技术作为一门专业课,虽然要求没有专业课那么高,但是却对自己今后的工作总会有一定的帮助。记得老师第一节课说学微机原理是为以后的单片机打基础,这就让我下定决心学好微机原理这门课程。 初学《微机原理与接口技术》时,感觉摸不着头绪。面对着众多的术语、概念及原理性的问题不知道该如何下手。在了解课程的特点后,我发现,应该以微机的整机概念为突破口,在如何建立整体概念上下功夫。可以通过学习一个模型机的组成和指令执行的过程,了解和熟悉计算机的结构、特点和工作过程。 《微机原理与接口技术》课程有许多新名词、新专业术语。透彻理解这些名词、术语的意思,为今后深入学习打下基础。一个新的名词从首次接触到理解和应用,需要一个反复的过程。而在众多概念中,真正关键的并不是很多。比如“中断”概念,既是重点又是难点,如果不懂中断技术,就不能算是搞懂了微机原理。在学习中凡是遇到这种情况,绝对不轻易放过,要力求真正弄懂,搞懂一个重点,将使一大串概念迎刃而解。 学习过程中,我发现许多概念很相近,为了更好地掌握,将一些容易混淆的概念集中在一起进行分析,比较它们之间的异同点。比如:微机原理中,引入了计算机由五大部分组成这一概念;从中央处理器引出微处理器的定义;在引出微型计算机定义时,强调输入/输出接口的重要性;在引出微型计算机系统的定义时,强调计算机软件与计算机硬件的相辅相成的关系。微处理器是微型计算机的重要组成部分,它与微型计算机、微型计算机系统是完全不同的概念在微机中,最基础的语言是汇编语言。汇编语言是一个最基础最古老的计算机语言。语言总是越基础越重要,在重大的编程项目中应用最广泛。就我的个人理解,汇编是对寄存的地址以及数据单元进行最直接的修改。而在某些时候,这种方法是最有效,最可靠的。 然而,事物总有两面性。其中,最重要的一点就是,汇编语言很复杂,对某个数据进行修改时,本来很简单的一个操作会用比较烦琐的语言来解决,而这些语言本身在执行和操作的过程中,占有大量的时间和成本。在一些讲求效率的场合,并不可取。 汇编语言对学习其他计算机起到一个比较、对照、参考的促进作用。学习事物总是从最简单基础的开始。那么学习高级语言也当然应当从汇编开始。学习汇

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

李伯成《微机原理》习题第一章 本章作业参考书目: ①薛钧义主编《微型计算机原理与应用——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

微机原理与接口技术作业(含答案)剖析

浙江大学远程教育学院 《微机原理与接口技术》课程作业 姓名:学号: 年级:学习中心: 第2章P52 2.80C51单片机引脚有哪些第二功能? 第一功能第二功能 P0.0~P0.7 地址总线Ao~A7/数据总线D0~D7 P2.0~P2.7 地址总线A8~A15 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INT0外部中断0) P3.3 IINT1(外部中断1) P3.4 TO(定时器/计数器0的外部输入) P3.5 T1(定时器/计数器0的外部输出) P3.6 WR(外部数据存储器或I/O的写选通) P3.7 RD外部数据存储器或I/O的读选通) 4.80C51单片机的存储器在结构上有何特点?在物理上和逻辑上各有哪几种地址空间?访问片内RAM和片外RAM的指令格式有何区别? 1、80C5l单片机采用哈佛结构,即将程序存储器和数据存储器截然分开,分别进行寻址。不仅在片内驻留一定容量的程序存储器和数据存储器及众多的特殊功能寄存器,而且还具有较强的外部存储器扩展能力,扩展的程序存储器和数据存储器寻址范围都可达64 KB。 2、在物理上设有4个存储器空间 ·片内程序存储器; ·片外程序存储器; ·片内数据存储器;. ·片外数据存储器。 在逻辑上设有3个存储器地址空间 ●片内、片外统一的64 KB程序存储器地址空间。 ●片内256字节(80C52为384字节)数据存储器地址空间。 片内数据存储器空间在物理上又包含两部分: ●对于80C51型单片机,0~127字节为片内数据存储器空间;128~255字节为特殊 功能寄存器(SFR)空间(实际仅占用了20多个字节)。 ●对于80C52型单片机,O~127字节为片内数据存储器空间;128~255字节共128 个字节是数据存储器和特殊功能寄存器地址重叠空间。 片外64 KB的数据存储器地址空间。 3、在访问3个不同的逻辑空间时,应采用不同形式的指令,以产生不同存储空间的选

微机原理试题集题库(带答案)

微机原理及应用习题集库 (2) 一、填空 (2) 二、单项选择题 (8) 三、程序分析题(每小题6分,共24分) (22) 四、判断题(在对的后面画√,错的后面画×): (34) 五:分析判断题(判断对错,并指出错误原因) (42) 六、简答题: (45) 七、程序题 (51) 八、接口芯片的综合编程题 (66) (一)8255A (66) (二)8259A (72) (三). 其它端口编程题 (75)

微机原理及应用习题集库 (请认真复习4、5、7、10、11章后的习题) 一、填空 1.87的原码是 0101 0111B=57H ,补码是 01010111B ,反码 01010111B 。 2.SP总是指向栈顶,若原先SP=2000H,SS=2000H,问CPU执行指令PUSH AX 后,AL内容压入物理地址为 21FFEH 存储单元中,AH内容压入物理地址为 21FFFH 存储单元中。 3.以BX基址寻址,约定的段寄存器是 DS ,以BP基址寻址,约定的段寄存 器是 SS ,变址寻址约定的段寄存器是 DS 。 4.假设某个字的值是1234H,其低位字节地址是20H,高位字节地址是21H,那么 该字地址是 20H 。 5.8086/8088的状态标志有 6(SF、PF、AF、OF、ZF、CF)个。8086/8088系统中,存储器是分段的,每段最大长度是 64K 字节,段内偏移地址从 0000H 到 FFFFH 。 6、CPU访问存储器进行读写操作时,通常在 T3状态去检测READY ,一旦检测

到READY无效,就在其后插入一个 T w周期。 7、汇编语言源程序中的语句有三种类型,它们是指令语句,伪指令 语句,宏指令语句。 8、、8086CPU寻址外设可以有两种方式,一种是直接寻址方式,另一种是间 接寻址方式。 9、CPU与外设之间的连接部件称为 I/O接口,它的基本功能是在 CPU与外设之间起缓冲作用。 10、C PU从主存取出一条指令并执行该指令的时间称(),它通常用若干个() 来表示,而后者又包括若干个()。 ①指令周期②机器周期③时钟周期 答:1-2-3 14、数据的输入/输出指的是CPU与 I/O接口进行数据交换。 15.已知X= -120,则X的原码(用八位二进制表示)是____________,补码(用八位二进制表示)是____________。 16、8088中的指令INT n用(N )指定中断类型。 17、8088的ALE引脚的作用是(地址锁存允许)。 18.一片8255A端口A有( 3 )种工作方式,端口B有( 2 )种工作方式。 19.当8255A口工作在方式1输出时,A口输入信号联络线的名称是 IBF ,

微机原理 第4章作业答案

第3章指令系统 3.9 设段寄存器DS=1000H,SS=2000H,ES=3000H,通用寄存器BX=4000H,BP=5000H,SI=6000H,DI=7000H。在下列各指令中指出存储器操作数的寻址方式,求出有效地址EA、物理地址PA,并分别用物理地址和逻辑地址说明指令执行结果。(1)MOV CX, [2300H] 直接寻址 EA=2300H PA=DS*16+EA=1000H*16+2300H=12300H 执行结果:(12300H)→CL,(12301H)→CH (2)MOV BYTE PTR [BX], 8FH 寄存器间接寻址 EA=BX=4000H PA=DS*16+EA=1000H*16+4000H=14000H 执行结果:8FH→(14000H) (3)MOV DH, [BP+3000H] 基址寻址 EA=BP+3000H=8000H PA=SS*16+EA=2000H*16+8000H=28000H 执行结果:(28000H)→DH (4)MOV ES: [SI+1210H], AX 变址寻址 EA=SI+1210H=7210H PA=ES*16+EA=3000H*16+7210H=37210H 执行结果:AL→(37210H),AH→(37211H) (5)MOV [BX+DI+50H], AL 基址变址位移寻址 EA=BX+DI+50H=0B050H PA=DS*16+EA=1000H*16+0B050H=1B050 H 执行结果:AL→(1B050H) (6)INC WORD PTR [BX+SI] 基址变址寻址 EA=BX+SI=0A000H PA=DS*16+EA=1000H*16+0A000H=1A000 H 执行结果:(1A000H)中存放的字的值加1 3.11 指出下列指令中源操作数的寻址方式。(1)MOV BL, 0F9H 立即寻址(2)ADD [BX], SI 寄存器寻址(3)SUB CL, [4000H] 直接寻址(4)CMP DX, [SI] 寄存器间接寻址 (5)AND SL, [BX+1] 基址寻址(6)OR BP, [DI+2100H] 变址寻址(7)XOR AX, [BP+SI] 基址变址寻址 (8)MOV CX, 300 立即寻址 3.12 下列指令都是非法的,指出各指令错在哪里? (1)MOV SI, AH 两个操作数字长不一致 (2)MOV 70H, BL 立即数不能做目的操作数 (3)MOV CX, F123H 十六进制的数以字母打头必须在前面补0 (4)MOV [BX], 6AH 两个操作数的字长不确定 (5)MOV ES, 5000H 立即数不能直接送段寄存器 (6)MOV [DI], [3000H] 两个操作数不能同为内存操作数 (7)MOV DS, SS 两个操作数不能同为段寄存器 (8)MOV CS, AX 不能对CS赋值 (9)MOV AL, [CX] 寄存器间接寻址中不能使用CX (10)MOV [BX+BP], DX 存储器寻址方式中表示有效地址不能同为两个基址寄存器 (11)MOV BH, [SI+DI+2] 存储器寻址方式中表示有效地址不能同为两个变址寄存器 (12)PUSH AL 入栈出栈操作必须以字为单位 (13)LEA AX, BX LEA指令中源操作数必须为存储器寻址方式 (14)LDS BL, [5100H] LDS指令中目的操作数必须为16位的通用寄存器 (15)IN AH, DX

微机原理试题及答案(1)

一、选择题(20 分,在每小题的 4 个备选答案中选出一个正确的答案编号填写在该题空白处,每题 2 分) 1. 指令MOV DX,[BX] 的寻址方式是 D 。 (A)立即寻址(B)直接寻址(C)寄存器寻址(D)寄存器间接寻址2. 若AL的内容为3FH,执行SHLA L,1指令后,AL的内容为A 。 (A)7EH (B)1FH (C)9FH (D)7FH 解析:shl al ,1 即目的操作数各位左移一次,移动一次,相当于将目的操作 数乘以2。3fh=63 63*2=126 126=7eh 故选A 3. 属于在工作中需定时刷新的存储器的芯片是 B 。 (A)SRAM (B)DRAM (C)EEPROM (D)EPROM 4. 某EPROM芯片上有19 条地址线A0~A18,它的容量为 C 。 (A)128K (B)256K (C)512K (D)1024K 5. 8086/8088CPU的SP寄存器是多少位的寄存器B 。 (A)8位(B)16 位(C)24位(D)32位 6. 在STOSB指令执行的时候,隐含着寄存器的内容作为操作数的偏移地址, 该寄存器是 D 。 (A)SP (B)BX (C)SI (D)DI 解析:stos 数据串存储指令功能:将累加器al 或ah 中的一个字或字节,传送到附加段中以di 为目标指针的目的串中,同时修改di ,以指向串中的下一个单元。 7. 8255工作在方式0 时,下面哪种说法不正确 C 。 (A)A口输入无锁存能力(B)A、B 口输出有锁存能力 (C)C口输入有锁存能力(D)A、B、C 三个口输出均有锁存能力解析:对于方式0,规定输出信号可以被锁存,输入不能锁存 8. 采用DMA方式来实现输入输出是因为它 A 。 (A)速度最快(B)CPU可不参与操作(C)实现起来比较容易(D)能对突发事件做出实时响应 9. 工作在最小模式下,8086/8088CPU 芯片中,将地址信号锁存的信号是 C 。 A)DT/R B)DEN (C)ALE (D)AEN 10. 在LOOP指令执行的时候,隐含着对计数器减1 的操作,该计数器是用寄存 (A)AX (B)BX (C)CX (D)DX 解析:loop :循环指令。指令执行前必须事先见重复次数放在cx 寄存器中,每执行一次loop 指令,cx 自动减1。 、填空题(每小题 2 分,共10分) 1. 两个无符号数相等,该两数相减后ZF标志= 1 。解析:zf : 全零标志位。本次运算结果为0 时,zf=1 ,否则zf=0 。 2. 执行LODSB后,SI 的内容较该指令执行前增加1,说明DF=0 。 3. DMA控制器8237 共有4 个相互独立的DMA通道。 4. 8086/8088 断点中断的向量码是03H 。 5. 利用8253 产生对称的方波,应用其工作方式 3 。解析:8253

相关文档
最新文档