当前位置:文档之家› 微机原理陈继红版部分答案

微机原理陈继红版部分答案

微机原理陈继红版部分答案
微机原理陈继红版部分答案

第三章8086/8088 指令系统和寻址方式习题答案(部分)

3.1 总结计算机中十进制、二进制、八进制及十六进制数的书写形式。123D、0AFH、

77Q、1001110B 分别表示什么计数制的数?

答案:123D、0AFH、77Q、1001110B 分别表示十进制、十六进制、八进制、二进制。3.2 字长为8 位、16 位二进制数的原码、补码表示的最大数和最小数分别是什么?

答案:8 位原码表示的最大数:(27-1)、8 位补码表示的最大数:(27-1)、8 位原码表示

的最小数:-(27-1)、8 位补码表示的最小数-27。

16 位原码表示的最大数:(215-1)、16 位补码表示的最大数:(215-1)、16 位原码表示的

最小数:-(215-1)、16 位补码表示的最小数-215。

3.3 把下列十进制数分别转换为二进制数和十六进制数。

(1)125 (2)255 (3)72 (4)5090

答案:(1) 125 二进制数:0111 1101B;十六进制数:7DH。

(2)255 二进制数:1111 1111B;十六进制数:0FFH。

(3)72 二进制数:0100 1000B;十六进制数:48H。

(4)5090 二进制数:0001 0011 1110 0010B;十六进制数:13E2H。

3.4 把下列无符号二进制数分别转换为十进制数和十六进制数。

(1)1111 0000 (2)1000 0000 (3)1111 1111 (4)0101 0101

答案:(1)1111 0000 十进制数:240D;十六进制数:0F0H。

(2)1000 0000 十进制数:128D;十六进制数:80H。

(3)1111 1111 十进制数:255D;十六进制数:0FFH。

(4)0101 0101 十进制数:85D;十六进制数:55H。

3.5 把下列无符号十六进制数分别转换为十进制数和二进制数。

(1)FF (2)ABCD (3)123 (4)FFFF

答案:(1)FF 十进制数:255D;二进制数;1111 1111B。

(2)ABCD 十进制数:43981D;二进制数;1010 1011 1100 1101B。

(3)123 十进制数:291D;二进制数;0001 0010 0011B。

(4)FFFF 十进制数:65535D;二进制数;1111 1111 1111 1111B。

3.6 分别用8 位二进制数和16 位二进制数写出下列十进制数的原码和补码。

(1)16 (2)-16 (3)+0 (4)-0 (5)127 (6)-128 (7)121 (8)-9

答案:

(1)16 8 位二进制数原码:0001 0000 补码:0001 0000;16 位二进制数原码:0000 0000

0001 0000 补码: 0000 0000 0001 0000。

(2)-16 8 位二进制数原码:1001 0000 补码:1111 0000;16 位二进制数原码:1000 0000

0001 0000 补码:1111 1111 1111 0000。

(3)+0 8 位二进制数原码:0000 0000 补码:0000 0000;16 位二进制数原码:0000 0000

0000 0000 补码:0000 0000 0000 0000。

(4)-0 8 位二进制数原码:1000 0000 补码:0000 0000;16 位二进制数原码:1000 0000

0000 0000 补码: 0000 0000 0000 0000。

(5)127 8 位二进制数原码:0111 1111 补码: 0111 1111;16 位二进制数原码:0000 0000 0111 1111 补码: 0000 0000 0111 1111。

(6)-128 8 位二进制数原码:无补码: 1000 0000 ;16 位二进制数原码:1000 0000

1000 0000 补码:1111 1111 1000 0000。

(7)121 8 位二进制数原码:0111 1001 补码: 0111 1001;16 位二进制数原码:0000 0000 0111 1001 补码: 0000 0000 0111 1001。

(8)-9 8 位二进制数原码:1000 1001 补码:1111 0111;16 位二进制数原码:1000 0000 1000 1001 补码:1111 1111 1111 0111。

3.7 试实现下列转换。

(1)[X]原=10111110B,求[X]补(2)[X]补=11110011B,求[-X]补

(3)[X]补=10111110B,求[X]原(4)[X]补=10111110B,求[X]反

答案:(1) 1100 0010 (2) 0000 1101 (3) 1100 0010 (4) 1011 1101

3.8 假设两个二进制数A=01101010,B=10001100,试比较它们的大小。

(1)A、B 两数均为带符号的补码数(2)A、B 两数均为无符号数

答案:(1)A、B 两数均为带符号的补码数:A>B

(2)A、B 两数均为无符号数:A<B

3.9 下列各数均为十进制数,请用8 位二进制数补码计算下列各题,用十六进制数表示其运算结果,并判断是否溢出,验证教材中所给的判断依据。

(1)90+71 (2)90-71 (3)-90-71 (4)-90+71 (5)-90-(-71)

答案:(1)90+71=161>127 溢出

[90]补+[71]补=0101 1010+0100 0111=1010 0001=0A1H=[-91]补

(2)90-71=19<127 无溢出

[90]补+[-71]补=0101 1010+1011 1001=0001 0011=13H=[19]补

(3)-90-71=-161<-128 溢出

[-90]补+[-71]补=1010 0110+1011 1001=0101 1111=5FH=[95]补

(4)-90+71=-19>-128 无溢出

[-90]补+[71]补=1010 0110+0100 0111=1110 1101=0EDH=[-19]补

(5)-90-(-71)=-19>-128 无溢出

[-90]补+[71]补=1010 0110+0100 0111=1110 1101=0EDH=[-19]补

3.10 完成下列8 位二进制数的逻辑运算。

(1)11001100∧10101010 (2)11001100∨10101010

(3)11001100⊕10101010 (4)10101100∧10101100

(5)10101100⊕10101100 (6)10101100∨10101100

(7)10101100

答案:(1)11001100∧10101010=1000 1000 (2)11001100∨10101010=1110 1110

(3)11001100⊕10101010=0110 0110 (4)10101100∧10101100=1010 1100

(5)10101100⊕10101100=0000 0000 (6)10101100∨10101100=1010 1100

(7)10101100=0101 0011

3.11 以下均为2 位十六进制数,试说明当把它们分别看作无符号数或字符的ASCII 码值,它们所表示的十进制数和字符是什么?

(1)30H (2)39H (3)42H (4)62H (5)20H (6)7H

答案:(1)30H 所表示的十进制数是:48D;字符是:0。

(2)39H 所表示的十进制数是:57D;字符是:9。

(3)42H 所表示的十进制数是:66D;字符是:B。

(4)62H 所表示的十进制数是:98D;字符是:b。

(5)20H 所表示的十进制数是:32D;字符是:sp 空格。

(6)7H 所表示的十进制数是:7D;字符是:BEL 报警。

3.12 把以下十进制数分别以压缩BCD 码、非压缩BCD 码、ASCII 码串表示。

(1)2 (2)78

答案:(1)2 压缩BCD 码:0010、非压缩BCD 码:0000 0010、ASCII 码:011 0010

(2)78 压缩BCD 码:0111 1000、非压缩BCD 码:0000 0111 0000 1000、ASCII 码:0110111 011100

3.13 设浮点数格式如下图所示:

阶码、尾数均以补码表示,基数为2,求:+25.6 和-361.25 的规格化浮点数。

答案:1) +25.6D=11001.1001100110B=0.110011001100110×25

+5=0101B,补码:0101,尾数:[ 0.110011001100110]补=0.110011001100110

规格化浮点数:0 0000101 0 110011001100110

2) -361.25D=-101101001.01B=29×(-0.101101001010000)

+9=1001,补码:1001,尾数:[ -0.101101001010000]补=1.010010110110000

规格化浮点数:0 0001001 1 010010110110000

3.14 设某计算机用12 位表示一个浮点数,该浮点数从高位到低位依次为:阶符1 位、

阶码3 位(原码表示)、数符1 位、尾数7 位(补码表示),则0 100 1 0110011 的真值是多少?答案:-9.625

3.15 8086 汇编语言指令的寻址方式有哪几类?哪种寻址方式的指令执行速度最快?

解:寻址方式分为:立即数寻址方式、寄存器操作数寻址方式和存储器操作数寻址方式。

其中,寄存器操作数寻址方式的指令执行速度最快。

3.16 在直接寻址方式中,一般只指出操作数的偏移地址,那么,段地址如何确定?如果要用

某个段寄存器指出段地址,指令中应该如何表示?

解:默认的数据访问,操作数在DS 段;堆栈操作在SS 段;串操作源操作数(SI)在DS

段,目的操作数(DI)在ES 段;用BP 作为指针在SS 段。如果要显式地指定段地址,则在操作数中规定段寄存器。例如:

MOV AX,ES:(BX+10H)

3.17 8086 系统中,设DS=1000H,ES=2000H,SS=1200H,BX=0300H,SI=0200H,

BP=0100H,VAR 的偏移量为0600H,请指出下列指令的目标操作数的寻址方式,若目

标操作数为存储器操作数,计算它们的物理地址。

(1)MOV BX,12 ;目标操作数为寄存器寻址

(2)MOV [BX],12 ;目标操作数为寄存器间址PA=10300H

(3)MOV ES:[SI],AX ;目标操作数为寄存器间址PA=20200H

(4)MOV VAR,8 ;目标操作数为存储器直接寻址PA=10600H

(5)MOV [BX][SI],AX ;目标操作数为基址加变址寻址PA=10500H

(6)MOV 6[BP][SI],AL ;目标操作数为相对的基址加变址寻址PA=12306H

(7)MOV [1000H],DX ;目标操作数为存储器直接寻址PA=11000H

(8)MOV 6[BX],CX ;目标操作数为寄存器相对寻址PA=10306H

(9)MOV VAR+5,AX ;目标操作数为存储器直接寻址PA=10605H

3.18 下面这些指令中哪些是正确的?那些是错误的?如果是错误的,请说明原因。

(1)XCHG CS,AX ;错,CS 不能参与交换

(2)MOV [BX],[1000] ;错,存储器之不能交换

(3)XCHG BX,IP ;错,IP 不能参与交换

(4)PUSH CS ;错,CS 不能为PUSH 的操作数

(5)POP CS ;错,不能将数据弹到CS 中

(6)IN BX,DX ;输入/输出只能通过AL/AX

(7)MOV BYTE[BX],1000 ;1000 大于255,不能装入字节单元

(8)MOV CS,[1000] ;CS 不能作为目标寄存器

(9)MOV BX,OFFSET VAR[SI] ;OFFSET 只能取变量的偏移地址

(10)MOV AX,[SI][DI] ;SI、DI 不能成为基址加变址

(11)MOV COUNT[BX][SI],ES:AX ;AX 是寄存器,不能加段前缀

3.19 试述以下指令的区别:

⑴MOV AX,3000H 与MOV AX,[3000H]

答案:⑴MOV AX,3000H 指令源操作数的寻址方式为立即寻址方式,指令执行结果为:(AX)=3000H。而MOV AX,[3000H]指令源操作数的寻址方式为直接寻址方式,指令执行结果为:DS:3000H)_AX。

⑵MOV AX,MEM 与MOV AX,OFFSET MEM

答案:⑵MOV AX,MEM 指令源操作数的寻址方式为直接寻址方式,指令执行结果为:DS:MEM)_AX。而MOV AX,OFFSET MEM 指令的执行结果是把MEM 的偏移量送AX。

⑶MOV AX,MEM 与LEA AX,MEM

答案:⑶MOV AX,MEM 指令的执行结果是 DS:MEM)_AX。而LEA AX,MEM

的执行结果是把MEM 的偏移量送AX。

(4) JMP SHORT L1 与JMP NEAR PTR L1

答案:JMP SHORT L1 为段内无条件短程转移,跳转的范围不得超过带符号的8 位二进

制数表示的字节范围;JMP NEAR PTR L1 为段内无条件近程转移,跳转的范围不得超过带符号的16 位二进制数表示的字节范围。

(5) CMP DX,CX 与SUB DX ,CX

答案:CMP DX,CX 是比较,也是利用减法比较,但是dx 中的值不变,标志寄存器改变。SUB DX ,CX 是做减法运算,dx 中为减后的值,标志寄存器改变

(6)MOV [BP][SI],CL 与MOV DS:[ BP][SI],CL

答案:BP 默认的段基址是SS,物理地址PA=SS+BP+SI;第二个重定义为DS 段基址,

物理地址PA=DS+BP+SI

3.20 设DS=2100H,SS=5200H,BX=1400H,BP=6200H,说明下面两条指令所进行的

具体操作:

MOV BYTE PTR [BP], 20H

MOV WORD PTR [BX], 20H

解:前一条指令是把立即数20H,传送至堆栈段(BP 的默认段)偏移量由BP 规定的字节单

元,地址为:52000H+6200H=58200H

第二条指令是把立即数20H,传送至数据段(BX 的默认段)偏移量由BX 规定的字单元,地

址为:21000H+1400H = 22400H。

3.21 设当前SS=2010H,SP=FE00H,BX=3457H,计算当前栈顶的地址为多少?当执

行PUSH BX 指令后,栈顶地址和栈顶2 个字节的内容分别是什么?

答案:当前栈顶的地址=2FF00H

当执行PUSH BX 指令后,栈顶地址=2FEFEH

(2FEFEH)=57H

(2FEFFH)=34H

3.22 设DX=78C5H,CL=5,CF=1,确定下列各条指令执行后,DX 和CF 中的值。

(1)SHR DX,1 ;DX=3C62H CF=1

(2)SAR DX,CL ;DX=03C6H CF=0

(3)SHL DX,CL ;DX=18A0H CF=1

(4)ROR DX,CL ;DX=2BC6H CF=0

(5)RCL DX,CL ;DX=18B7H CF=1

(6)RCR DH,1 ;DX=BCC5H CF=0

3.23 设AX=0A69H,VALUE 字变量中存放的内容为1927H,写出下列各条指令执行后寄存器和CF、ZF、OF、SF、PF 的值。

AX CF ZF OF SF PF

(1)XOR AX,VALUE ;134EH 0 0 0 0 1

(2)AND AX,VALUE ;0821H 0 0 0 0 1

(3)SUB AX,VALUE ;F142H 1 0 0 1 1

(4)CMP AX,VALUE ;0A69H 1 0 0 1 1

(5)NOT AX ;F596H X X X X X

(6)TEST AX,VALUE ;0A69H 0 0 0 0 1

3.24 设AX 和BX 中是符号数,CX 和DX 是无符号数,请分别为下列各项确定CMP 和条件转移指令。

CX 值超过DX 转移。

AX 未超过BX 转移。

DX 为0 转移。

CX 值等于小于DX 转移。

答案:

(1)CMP CX,DX

JA NEXT

(2)CMP AX,BX

JLE NEXT

(3)CMP DX,0

JZ NEXT

(4)CMP CX,DX

JBE NEXT

3.25 阅读分析下列指令序列:

ADD AX,BX

JNO L1

JNC L2

SUB AX,BX

JNC L3

JNO L4

JMP L5

若AX 和BX 的初值分别为以下5 种情况,则执行该指令序列后,程序将分别转向何处(L1~L5 中的一个)。

AX=13C6H,BX=80DCH

AX=0B568H,BX=54B7H

AX=42C8H,BX=608DH

AX=0D023H,BX=9FD0H

AX=9FD0H,BX=0D023H

答案:(1)转L1:不溢出,转移到L1 处;

(2)转L1:不溢出,转移到L1 处;

(3)转L2:溢出,不转移到L1 处,进位CF=0,转移到L2 处;

(4)转L3:溢出,不转移到L1 处,进位CF=1,不转移到L2 处,减法借位CF=0,转移

到L3 处;

(5)转L5:溢出,不转移到L1 处,进位CF=1,不转移到L2 处,减法借位CF=1,不转

移到L3 处,不溢出OF=0,转移到L4 处;

3.26 用普通运算指令执行BCD 码运算时,为什么要进行十进制调整?具体地讲,在进行

BCD 码的加、减、乘、除运算时,程序段的什么位置必须加上十进制调整指令?

解:因为8086 指令把操作数作为二进制数进行二进制运算,要得到正确的BCD 结果,需

要进行调整。在加、减、乘法指令之后加上BCD 调整指令,而在除法指令之前先用BCD 调整指令再用除法指令。

3.27 在编写乘除法程序时,为什么常用移位指令来代替乘除法指令?编写一段程序,实

现将BX 中的数除以10,结果仍然放在BX 中。

解:用移位指令时,左移l 位相当于将操作数乘2,右移1 位相当于将操作数除2。用

移位指令实现一些简单的乘除法程序,比用乘法指令和除法指令进行乘、除运算要快得多。用除法指令实现:

MOV CL 0AH

MOV AX,BX

IDIV CL

MOV BX,AX

3.28 串操作指令使用时特别要注意和SI,DI 这两个寄存器及方向标志DF 密切相关。请

具体就指令MOVSB/MOVSW、CMPSB/CMPSW、SCASB/SCASW、LODSB/LODSW、STOSB/STOSW 列表说明和SI、DI 及DF 的关系。

解答:

SI DI DF

MOVSB/MOVSW 指出源地

指出目的地

不带REP 重复前缀时,DF=0,每传送一次,SI、

DI 加1 或加2,DF=1,SI、DI 则减1 或减2

CMPSB/CMPSW

存放源字

符串首地

存放目的字

符串首地址

DF=0,每次比较后,SI、DI 加1 或加2,CX 减

1,DF=1,SI、DI 减1 或减2,CX 减1

SCASB/SCASW 无指出字符串

首址偏移量无

LODSB/LODSW 作为地址

指针

存放处理结

DF=1 时,地址作增量修改,DF=0 时,地址作减

量修改

STOSB/STOSW 无存放目的地

址无

3.29 用串操作指令设计实现以下功能的程序段:首先将100H 个数从2170H 处搬到1000H 处,然后,从中检索相等于VAL 中字符的单元,并将此单元值换成空格符。

解答:

START:MOV AX, DS

MOV ES, AX

MOV SI, 2170H

MOV DI, 1000H

MOV CX, 100H

CLD

REP MOVSB

ANOTHER:MOV DI, 1000H

MOV AL, VAL

MOV CX, 100H

CLD

AGE: SCASB

JZ FIN

DEC CX

JNZ AGE

JMP OVER

FIN: MOV BYTE PTR[DI-1],20H

CMP CX,0

JNZ AGE

OVER: RET

3.30 求双字长数DX∶AX 的相反数。

答:

NEG DX

NEG AX

SBB DX,0

3.31 试对数据段偏移地址为101H 单元中的单字节数求补后存入102H,最高位不变,

低7 位取反存入103H,高4 位置1,低4 位不变,存入104H。

答:

MOV AX,[0101H]

MOV BX,AX

MOV CX,AX

NOT AX

MOV [0102H],AX

XOR BX,7FH

MOV [0103H],BX

AND CX,0F0H

MOV [0104H]

3.32 试编写一个程序,比较两个同长字符串STRING1 和STRING2 所含字符是否相同,

若相同MATCH 单元赋值1,若不相同MATCH 单元赋值0。

答案:

程序段为:

;数据定义

STRING1 DB …ABCDEFGHIJK ;串1,作为源串

STRING2 DB …ABCDFGKJ ;串2,作为目标串

MATCH DB ? ;定义MATCH 单元

;功能代码

MOV AX,SEG STRING1

MOV DS,AX ;源串段地址送DS

MOV AX,SEG STRING2

MOV ES,AX ;目标串段地址送ES

LEA SI, STRING1 ;源串偏移地址送SI

LEA DI, STRING2 ;目标串偏移地址送DI

MOV CX, STRING1- STRING2 ;重复次数送CX

CLD ;地址增

REPE CMPSB ;相等继续比较,不相等退出

JZ EQUAL ;退出时,若ZF=1,表示两串相等

MOV MATCH,0 ;不相同,MATCH 单元赋值0

JMP OVER

EQUAL:MOV MATCH,1 ;相同MATCH 单元赋值1

OVER:HLT

3.34 编写代码,计算a+10b+100c+20d,其中a、b、c、d 均为单字节无符号数,结果为16 位,存入SUM 开始的两单元中。

data segment

ma db 12

mb db 21

mc db 86

md db 150

SUM dw 0

data ends

code segment

assume ds:data,cs:code

start:mov ax,data

mov ds,ax

mov dh,0

mov dl,ma

mov ah,0

mov al,10

mul mb

add dx,ax

mov ah,0

mov al,100

mul mc

mov ah,0

mov al,20

mul md

add dx,ax

mov SUM,dx

code ends

end start

3.35 试_______编写一段程序把LIST 到LIST+100 中的内容传到BLK 到BLK+100 中去。答案:

程序段为:

MOV AX,SEG LIST

MOV DS,AX ;源串段地址送DS

MOV AX,SEG BLK

MOV ES,AX ;目标串段地址送ES

LEA SI, LIST ;源串偏移地址送SI

LEA DI, BLK ;目标串偏移地址送DI

MOV CX, 101 ;重复次数送CX

CLD ;地址增

REP MOVSB

3.36 设CS:0100H 单元有一条两字节的JMP SHORT LAB 指令,若其中的位移量为:

⑴56H ⑵80H ⑶78H (4)0E0H

试写出转向目标的物理地址是多少?

答:因为CS:0100H 处存放两字节指令JMP SHORT LAB,所以当执行该指令时

(IP)=0102H

(1) 转向目标的物理地址是:(CS)*10H+(IP)+0056H=CS:0058H

(2) 转向目标的物理地址是:(CS)*10H+(IP)+0FF80H=CS:0082H;80H 对应的负数为-80H (向上转移,负位移量)

(3) 转向目标的物理地址是:(CS)*10H+(IP)+0078H=CS:0180H

(4) 转向目标的物理地址是:(CS)*10H+(IP)+0FFE0H=CS:00E2H;E2H 对应的负数为

-1EH(向上转移,负位移量)

3.37 不使用除法指令,将堆栈段中10H、11H 单元中的双字节带符号数除以8,结果存入12H、13H 单元(注:多字节数存放格式均为低位在前,高位在后)。

POP AX

POP BX

TEST AX,8000H ;测试被除数符号位

MOV CL,3

JZ ZS ;若为正数,跳转到ZS

SAR AX,CL

JMP OVER

ZS: SHR AX,CL

OVER:PUSH AX

3.38 数据段中3030H 起有两个16 位的带符号数,试求它们的积,存入3034H-3036H 单元中。

MOV AX,[3030H]

MOV BX,[3032H]

IMUL BX

MOV [3034H],AX

MOV [3036H]

3.39 考虑以下调用序列:

(1)MAIN 调用NEAR 的SUBA 过程(返回的偏移地址为150BH);

(2)SUBA 调用NEAR 的SUBB 过程(返回的偏移地址为1A70H);

(3)SUBB 调用FAR 的SUBC 过程(返回的偏移地址为1B50H,段地址为1000H);(4)从SUBC 返回SUBB;

(5)从SUBB 返回SUBA;

(6)从SUBA 返回MAIN。

请画出每次调用或返回时,堆栈内容和堆栈指针变化情况。

答:

*****

(SP) 150BH

*****

150BH

(SP)

*****

150BH

(SP)

*****

150BH

(SP)

*****

(SP) 150BH

(SP) *****

(1) (2) (3)

(4) (5) (6)

1A70H 1A70H

1000H

1B50H

1A70H

第四章汇编语言程序设计习题答案(部分)

4.1 什么是标号?它有哪些属性?

答:标号是一种特殊的标识符,它代表代码段中的某个具体位置,它主要用于表明

转移的目标位置。源程序中的标号都有三种属性:段、偏移及类型。

4.2 什么是变量?它有哪些属性?

答:变量名代表存储器中的一个数据区的名字。源程序中的变量有五种属性:段、偏移、类型、长度、规模。

4.3 什么是伪指令?什么是宏指令?伪指令在什么时候被执行?宏指令在程序中如何被调用?

答:伪指令语句是一种不产生目标代码的语句,它仅仅在汇编过程中告诉汇编程序应

如何汇编。伪指令语句是在汇编程序对源程序汇编期间由汇编程序处理的操作。

宏是若干语句组成的程序段,宏指令语句用来定义宏。一旦把某程序段定义成宏,则可

以用宏名代替那段程序。在汇编时,要对宏进行宏展开,展开的过程是将宏名用程序段代替。

4.4 汇编语言表达式中有哪些运算符?它们所完成的运算是在什么时候进行的?

答:汇编语言表达式中的运算符有:

算术运算符+、-、*、/、MOD

逻辑运算符AND、OR、NOT、XOR

关系运算符EQ、NE、LT、GT、LT、LE、GE

分析运算符SEG、OFFSET、TYPE、LENGTH、SIZE

属性运算符PTR、THIS、SHORT

其它LOW、HIGH

这些运算符都是在在汇编时由汇编程序对其运算的。

4.5 画出下列语句中的数据在存储器中的存储情况。

ORG 100H

VARB DB 34,34H,…GOOD?,2 DUP(1,2 DUP(0))

VARW DW 5678H,…CD?,$+2,2 DUP(100)

VARC EQU 12

VARB DS:0100H 22H DS:010BH 00H

DS:0101H 34H VARW DS:010CH 78H

DS:0102H 47H DS:010DH 56H

DS:0103H 4FH DS:010EH 44H

DS:0104H 4FH DS:010FH 43H

DS:0105H 44H DS:0110H 12H

DS:0106H 01H DS:0111H 01H

DS:0107H 00H DS:0112H 64H

DS:0108H 00H DS:0113H 00H

DS:0109H 01H DS:0114H 64H

DS:010AH 00H DS:0115H 00H

4.6 按下列要求,写出各数据定义语句。

DB1 为10H 个重复的字节数据序列:1,2,5 个3,4。

DB2 为字符串…STUDENTS?

DB3 为十六进制数序列:12H,ABCDH

用等值语句给符号COUNT 赋以DB1 数据区所占字节数,该语句写在最后。

解答:

DB1 DB 16 DUP(1,2,5 DUP(3),4)

DB2 DB …STUDENTS?

DB3 DW 12H,0ABCDH

COUNT EQU DB2-DB1

4.7 指令OR AX,1234H OR 0FFH 中两个OR 有什么差别?这两个操作数分别在什么时

候执行?

解答:(1)指令OR AX,1234H OR 0FFH 中的第一个OR 是指令系统中的“或”指令,而

第二个OR 是表达式中表示逻辑“或”关系的。(2)指令OR AX,1234H OR 0FFH 中的第一个

OR 是在CPU 执行指令操作时才会执行。而第二个OR 是在汇编时就会将1234H 和0FFH 作

逻辑“或”运算,得到结果12FFH。然后执行第一个OR 指令,完成AX 的内容与12FFH 的逻辑“或”运算。

4.8 对于下面的数据定义,各条MOV 指令单独执行后,有关寄存器的内容是什么?PREP DB ?

TABA DW 5 DUP(?)

TABB DB …NEXT?

TABC DD 12345678H

(1)MOV AX,TYPE PREP ;AX=1

(2)MOV AX,TYPE TABA ;AX=2

(3)MOV AX,LENGTH TABA ;AX=5

(4)MOV AX,SIZE TABA ;AX=10

(5)MOV AX,LENGTH TABB ;AX=1

(6)MOV DX,SIZE TABC ;AX=4

4.9 设数据段DSEG 中符号及数据定义如下,试写出数据在内存中的存储示意图。

(数据段DSEG 定义略)

解答:

DAB DS:0100H 2FH DS:0113H

DS:0101H 47H DS:0114H

DS:0102H 4FH DS:0115H

DS:0103H 54H DS:0116H

DS:0104H 4FH DS:0117H

DS:0105H 2FH DS:0118H

DS:0106H 0DH DS:0119H

DS:0107H 0AH DS:011AH

DBB DS:0108H 05H DS:011BH

DS:0109H 13H DDW DS:011CH 32H

DS:010AH 61H DS:011DH 31H

CCB DS:010BH DS:011EH 64H

DS:010CH DS:011FH 00H

DS:010DH DS:0120H 33H

DS:010EH DS:0121H 03H

DS:010FH DS:0122H 78H

DS:0110H DS:0123H 00H

DS:0111H DS:0124H 64H

DS:0112H DS:0125H 00H

4.10 若自STRING 单元开始存放有一个字符串(以字符…$?结束),试完成:

(1)编程统计该字符串长度(不包含$ 字符,并假设长度为两字节)。

(2)把字符串长度放在STRING 单元,把整个字符串往下移两个单元。

程序段为:

(1)

MOV SI, OFFSET STRING

XOR BX, BX

CONT:MOV AL, [SI]

CMP AL, …$?

JZ NEXT

INC BX

INC SI

JMP CONT

NEXT:MOV AH, 4CH

INT 21H

(2)STRING DB … $?

COUNT EQU $-STRING

MOV SI, OFFSET STRING

MOV CX, COUNT

ADD SI, CX

CONT: DEC SI

MOV AL, [SI]

MOV [SI+2], AL

LOOP CONT

MOV CX, COUNT

MOV STRING, CX

MOV AH, 4CH

INT 21H

4.11 将字符串STRING 中的…&?字符用空格代替,字符串STRING“It is FEB&03”。解答程序为:

DATA SEGMENT

STRING DB …It is FEB&03?

COUNT EQU $-STRING

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA

MOV DS,AX

MOV SI,OFFSET STRING

MOV CX,COUNT

MOV AL,…$?

CONT:CMP AL,[SI]

JNZ NEXT

MOV BYTE PTR[SI],… ?

NEXT:INC SI

LOOP CONT

MOV AH,4CH

INT 21H

CODE ENDS

END START

4.12 设BLOCK 起有20 个单字节的数,试将它们按降序排列。

解答程序为:

DATA SEGMENT

ORG 0100H

BLOCK DB 12H,87H,51H,68H,00H,02H,0FFH,0D6H,45H,77H,80H,9FH

LEN EQU $-BLOCK

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV BX,LEN-1 ;BX_比较轮数

LOP0: MOV SI,LEN-1 ;SI_第N 个数在数据表中的偏移量

MOV CX,BX ;CX_比较次数计数值

MOV DX,0 ;DX_置交换标志为第N 个数在数据表中偏移量

LOP1: MOV AL,BLOCK[SI]

CMP AL,BLOCK[SI-1] ;比较相邻两数

JLE NEXT

MOV AH,BLOCK[SI-1] ;交换两数

MOV BLOCK[SI-1],AL

MOV BLOCK[SI],AH

MOV DX,1 ;DX_发生交换处的位置

NEXT: DEC SI ;修改数据地址

LOOP LOP1 ;一轮比较完吗?

CMP DX,0 ;本轮发生交换吗?

JZ STOP ;已全部排好序,转程序结束

DEC BX ;所有轮都比较完否?

JNZ LOP0 ;未完继续

STOP: MOV AH,4CH

INT 21H

CODE ENDS

END START

4.14 试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。解答程序为:

data segment

message db 'please enter the small letter:',0ah,0dh,'$'

message2 db 'the capital letter is:',0ah,0dh,'$'

error db 'enter must be small!please enter again:',0ah,0dh,'$'

message3 db 'the capital letter is:','$'

letter db ?

data ends

stack segment

db 100h dup(?)

stack ends

code segment

assume cs:code,ds:data,ss:stack

start:mov ax,data

mov ds,ax

jmp l1

xor ax,ax

error1:lea dx,error

mov ah,09h

int 21h

l1:lea dx,message

mov ah,09h

int 21h

lea dx,letter

mov ah,01h

int 21h

push ax

mov dl,0ah

mov ah,02h

int 21h

mov dl,0dh

int 21h

lea dx,message3

mov ah,09h

int 21h

pop ax

cmp al,'z' ;比较,判断是否小写字母

ja error1

cmp al,'a'

jb error1 ;大写字母重新输入

sub al,20H ;减20H 转换为大写字母

mov dl,al

mov ah,02h

int 21h

mov ax,4c00h

int 21h

code ends

end start

4.15 键盘输入十个学生的成绩,试编制一个程序统计69~69 分,70~79 分,80~89 分,90~99 分及100 分的人数,分别存放到S6,S7,S8,S9 及S10 单元中。

解答程序为:

DATA SEGMENT

BUF DB 10 DUP(?)

S6 DB ?

S7 DB ?

S8 DB ?

S9 DB ?

S10 DB ?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX

MOV SI,OFFSET S6

XOR AL,AL

MOV CX,0504H

CONT: MOV [SI],AL

INC SI

LOOP CONT

MOV CX,10

MOV SI,OFFSET BUF

CONT1: MOV AH,1

INT 21H

SHL AL,CL

MOV BL,AL

MOV AH,1

INT 21H

SUB AL,30H

OR AL,BL

MOV [SI],AL

CMP AL,70H

JAE NEXT1

INC BYTE PTR S6

NEXT1: CMP AL,80H

JAE NEXT2

INC BYTE PTR S7

NEXT2: CMP AL,90H

JAE NEXT3

INC BYTE PTR S8

NEXT3: CMP AL,99H

JA NEXT4

INC BYTE PTR S9

JMP NEXT5

NEXT4: INC BYTE PTR S10 NEXT5: INC SI

LOOP CONT1

MOV AH,4CH

INT 21H

CODE ENDS

END START

4.17 在有序表“11,22,33,44,55,66,77,88,99,00”中查找44。若找到置find 为其在表中

的位置;未找到,find 置0。

4.18 分别实现满足下面要求的宏定义:

(1)可对任一寄存器实现任意次数的左移操作。

(2)任意两个单元中的数据相加存入第三个单元中。

(3)将任意一个8位寄存器中的压缩BCD码转为两个ASCII码,并在屏幕上显示。

(2)宏定义的代码段如下:

ADDM MACRO M1,M2,M3

MOV AX,[M1]

ADD AX,[M2]

MOV [M3],AX

ENDM

第五章8086 系统时序和微机总线习题答案(部分)

5.1 什么是时钟周期、总线周期、指令周期?

答:8086CPU 执行一条指令是由取指令、译码和执行等操作组成的,为了使8086CPU

的各种操作协调同步进行,8086CPU 必须在时钟信号CLK 控制下工作,时钟信号是一个周期性的脉冲信号,一个时钟脉冲的时间长度称为一个时钟周期(Clock Cycle),是时钟频率(主频)的倒数,时钟周期是计算机系统中的时间基准。

8086CPU 要通过总线才能与外部交换信息,CPU 通过总线接口单元与外部交换一次信息,称为一次总线操作,所耗用的时间称为一个总线周期(Bus Cycle),也称机器周期(Machine Cycle)。一个总线周期由若干个时钟周期组成,总线操作的类型不同,总线周期也不同。一

个总线周期内完成的数据传输,一般有传送地址和传送数据两个过程。

8086CPU 执行一条指令所需要的时间称为指令周期(Instruction Cycle),一个指令周期

由若干个总线周期组成,

5.2 8086 微处理器各个T 状态的主要功能。

答:(1)在T1 状态,CPU 往多路复用总线上发出地址信息,以指出要寻址的存储单元或

外设端口的地址。

(2)在T2 状态,CPU 从总线上撤消地址,而使总线的低16 位浮空,置成高阻状态,为

传输数据作准备。总线的最高4 位(A19~A16)用来输出本总线周期状态信息。在这些状态信息用来表示中断允许状态,当前正在使用的段寄存器名等。

(3)在T3 状态,多路总线的高4 位继续提供状态信息,而多路总线的低16 位(8088 则

为低8 位)上出现由CPU 写出的数据或者CPU 从存储器或端口读入的数据。

(4)在有些情况下,外设或存储器速度较慢,不能及时地配合CPU 传送数据。这时,外

设或存储器会通过“READY”信号线在T3 状态启动之前向CPU 发一个“数据未准备好”信号,

于是CPU 会在T3 之后插入1 个或多个附加的时钟周期Tw。Tw 也叫等待状态,在Tw 状态,

总线上的信息情况和T3 状态的信息情况一样。当指定的存储器或外设完成数据传送时,便在“READY”线上发出“准备好”信号,CPU 接收到这一信号后,会自动脱离Tw 状态而进入T4 状态。

(5)在T4 状态,总线周期结束。

5.3 8086 和8088 有何区别?

答:这两种CPU 的主要区别如下:

⑴外部数据总线位数:8086 CPU 的外部数据总线有16 位,在一个总线周期内可输入/

输出一个字(16 位数据),使系统处理数据和对中断响应的速度得以加快;而8088 CPU 的外部数据总线为8 位,在一个总线周期内只能输入/输出一个字节(8 位数据)。

⑵指令队列容量:8086 CPU 的指令队列可容纳6 个字节,且在每个总线周期中从存储

器中取出2 个字节的指令代码填入指令队列,这可提高取指操作和其它操作的并行率,从而提高系统工作速度;而8088 CPU 的指令队列只能容纳4 个字节,且在每个总线周期中能取一个字节的指令代码,从而增长了总线取指令的时间,在一定条件下可能影响取指令操作和其它操作的并行率。

⑶引脚特性:两种CPU 的引脚功能是相同的,但有以下几点不同:

1) AD15~AD0 的定义不同:在8086 中都定义为地址/数据复用总线;而8088 中,由于

只需8 条数据总线,因此,对应于8086 的AD15~AD8 这8 条引脚定义为A15~A8,只作地址线使用。

2) 34 脚的定义不同:在8086 中定义为BHE信号;而在8088 中定义为SSO,它与DT / R,

IO /M一起用作最小方式下的周期状态信号。

3) 28 脚的相位不同,在8086 中为M / IO;而在8088 中被倒相,改为IO/M,以便与

8080/8085 系统的总线结构兼容。

5.4 8086 是怎样解决地址线和数据线的复用问题的?ALE 的作用是什么?

答:(1)、AD15-AD0 采用分时的多路转换方法来实现对地址线和数据线的复用。在总

线周期T1 状态下,这些引线表示为低16 位地址线,在总线周期为T2、T3、TW 状态,这些引线用作数据总线,可见对复用信号是用时间来加以划分的,他要求在T1 状态下先出现低16 位地址时,用地址锁存器加以锁存,随后的T 状态,即使这些用作数据线,而低16

位地址线的地址状态去被记录保存下来,并达到地址总线上。

(2)、ALE 是地址锁存允许信号,高电平有效。

5.5 8086 有哪4 种最基本的总线操作?

答:(1)存储器及I/O 的读/写操作

(2)中断响应操作

(3)总线请求及响应操作

(4)总线空闲——指CPU 正进行内部操作、不进行对外操作的总线空闲状态Ti。

5.6 8086 微处理器的输入控制信号有HOLD、INTR 和NMI,其含义各是什么?当它们

有效时,8086 将作出何种反应?

答:HOLD(输入):总线保持请求信号。当系统中CPU 之外的总线主设备要求使用总

线时,通过HOLD 引脚向CPU 发出请求,如果CPU 允许让出总线,则CPU 在当前周期的T4 状态或下一总线周期的T1 状态。,由HLDA 引脚向主设备输出高电平信号作为响应。同

时使地址总线、数据总线和相应的控制线处于浮空状态,总线请求主设备取得总线的控制权。一旦总线使用完毕,总线请求主设备使HOLD 变为低电平,CPU 检测到HOLD 为低后,把HLDA 也置为低电平,CPU 重新获得总线的控制权

INTR(输入):可屏蔽中断请求信号,高电平有效。CPU 在执行每条指令的最后一个T

状态时,去采样INTR 信号,若发现为有效,而中断允许标志IF 又为1,则CPU 在结束当前指令周期后响应中断请求,转去执行中断处理程序。

NMI(输入):非屏蔽中断请求信号,上升沿触发。此请求不受IF 状态的影响,也不能

用软件屏蔽,只要此信号一出现,CPU 就会在现行指令结束后引起中断。

5.7 什么是微型计算机的总线?总线可分为哪几类?

答:总线就是在多个模块之间或多个设备之间传送信息的公共通道。

按照总线的规模、用途和应用场合的不同,微型计算机系统中的总线可分为片总线、内

部总线和外部总线三类。

5 8 总线标准一般在哪几个方面进行了详细规定?

为了使计算机的各种模块或设备能够互连和扩展,不同厂商生产的部件能够相互替换,

需要制定一定的规范,因此需要标准化的总线标准。每个总线标准都有详细的规定,一般包括以下四个特征:

⑴物理特性:物理特性是指总线的物理连接方式。包括总线的根数、总线的插头、插

座是什么形状的、引脚是如何排列的等。

⑵功能特性:功能特性描述这一组总线中每一根线的功能。从功能上看,总线分成3

组:地址总线、数据总线和控制总线。地址总线的宽度指明了总线能够直接访问存储器的地址范围。数据总线的宽度指明了访问一次存储器或外部设备最多能够交换数据的位数。控制总线一般包括CPU 与外界联系的各种控制信号。

⑶电气特性:电气特性定义每一根线上信号的传递方向及有效电平范围。一般规定送

入CPU 的信号叫IN(输入信号),从CPU 送出的信号叫OUT(输出信号)。

⑷时间特性:时间特性定义了每根线在什么时间有效。也就是说用户什么时间可以用

总线上的信号或者用户什么时候把信号提供给总线,CPU 才能正确无误地使用。

5.9 简要说明ISA 总线的特征。

ISA(Industry Standard Architecture)总线是在最早的IBM PC 机中的PC 总线基础上发

展起来的。PC 总线是一个8 位的开放结构总线,有62 个引脚,提供地址线、数据线、控制

线及电源等。1984 年,在PC 总线的基础上增加了一个36 引脚的扩展插座,成为ISA 总线。ISA 总线有16 位数据线、24 位地址线、中断线、支持DMA 通道的信号线、等待状态

发生信号线、+5V、-5V、12V 电源线等。工作频率为8MHz,最大传输率为8MB/s。

5.10 简述PCI 接口的用途和特点。

⑴最高操作时钟频率为33MHz/66MHz,拥有32位和64 位2 种数据通道。

⑵支持成组数据传送方式;若被传送的数据在内存中连续存放,则在访问第一个数据

时需要2 个时钟周期,第一个时钟周期内给出地址,第二个时钟周期内传送数据;从第二个数据开始不必再给出地址,可直接传送数据,即每一个时钟周期传送一个数据。这种传送方式也称为突发传送。

⑶支持总线主控方式,允许多处理器系统中的任何一个微处理器都可以成为总线主控

设备,对总线操作进行控制。

⑷与ISA、EISA等多种总线兼容。由于PCI总线在Pentium微处理器与其它总线间架

起了一座桥梁,它也支持像ISA、EISA 等这样的低速总线操作。

⑸支持所有目前的和将来的不同结构的微处理器。可以把PCI局部总线看作是一个独

立的处理器,它可以与任何一种微处理器—起使用,不局限于80x86。这就确保了80x86 系列机在更新换代时,也不会把PCI 局部总线抛弃。因此许多大的计算机公司都宣布支持PCI 总线。

⑹它支持5V 和3.3V 两种扩充插件卡。可以从5V向3.3V 进行平滑的系统转换。PCI

总线上装有一个很小的断路键,使用户在插卡时不会导致在系统主板上有不同的电压电源。

⑺支持即插即用。PCI 设备中有存放设备具体信息的寄存器,这些信息使系统BIOS

和操作系统层的软件可以实现自动配置。

⑻PCI总线的引线,在每2 个信号之间都安排了一个地线,以减少信号间的相互干扰。

⑼PCI总线实现了触发级的中断,这种中断可支持中断共享。

⑽PCI总线能支持高达l0个外围设备,其中的某些外围设备必须嵌入到系统主板上。

第六章存储器习题答案(部分)

6.1 试说明半导体存储器的分类。

答:半导体分为:RAM 和ROM。RAM 分为静态RAM 和动态RAM。ROM 分为:掩膜ROM、PROM、EPROM、E2PROM。

6.2 试说明CMOS 静态存储器基本存储电路数据读、写的原理。

第七章基本输入/输出接口习题答案(部分)

7.1 简述I/O 接口的主要功能。

答:(1)对输入输出数据进行缓冲和锁存

(2)对信号的形式和数据的格式进行变换

(3)对I/O 端口进行寻址

(4)提供联络信号

7.2 CPU 与外设之间的数据传输方式有哪些?简要说明各自含义。

答:(1)程序方式:微机系统与外设之间的数据传输过程在程序的控制下进行

(2)中断方式:在中断传输方式下,当输入设备将数据准备好或输出设备可以接收数

据时,便向CPU 发出中断请求,使CPU 暂时停止执行当前程序,而去执行数据输入/输出的中断服务程序,与外设进行数据传输操作,中断服务程序执行完后,CPU 又返回继续执行原来的程序。

(3)直接存储器存取(DMA)方式:DMA 方式是指不经过CPU 的干预,直接在外设

和内存之间进行数据传输的方式。

7.3 什么是端口?通常有哪几类端口?计算机对I/O 端口编址时通常采用哪?在80x86

系统中,采用哪一种方法?

每个I/O 接口内部一般由三类寄存器组成。CPU 与外设进行数据传输时,各类信息在

接口中进入不同的寄存器,一般称这些寄存器为I/O 端口。

I/O 端口通常有数据端口、状态端口、控制端口。

计算机对I/O 端口编址时通常采用:I/O 端口与内存统一编址、I/O 端口独立编址两种

方法。

在80x86 系统中,采用I/O 端口独立编址方法。

7.4 现有一输入设备,其数据端口地址为FFE0H,状态端口地址为FFE2H,当其D0

为1 时表明输入数据准备好。试采用查询方式,编程实现从该设备读取100 个字节数据并保存到2000H:2000H 开始的内存中。

程序为:

CODE SEGMENT

ASSUME CS:CODE

START: MOV AX,2000H

MOV DS,AX

MOV SI,2000H

MOV CX,100

CONT:MOV DX,0FFE2H

CONT1:IN AL,DX

TEST AL,01

JZ CONT1

MOV DX,0FFE0H

IN AL,DX

MOV [SI],AL

(完整版)微机原理课后习题参考答案

第一章 2、完成下列数制之间的转换。 (1)01011100B=92D (3)135D=10000111B (5)10110010B=262Q=B2H 3、组合型BCD码和非组合型BCD码有什么区别?写出十进制数254的组合型BCD数和非组合型数。 答:组合型BCD码用高四位和低四位分别对应十进制数的个位和十位,其表示范围是0~99;非组合型BCD码用一个字节的低四位表示十进制数,高四位则任意取值,表示范围为0~9。 组合型:254=(001001010100)BCD 非组合型:254=(00000010 00000101 00000100)BCD 7、计算机为什么采用补码形式存储数据?当计算机的字长n=16,补码的数据表示范围是多少? 答:在补码运算过程中,符号位参加运算,简化了加减法规则,且能使减法运算转化为加法运算,可以简化机器的运算器电路。+32767~ -32768。 9、设计算机字长n=8,求下列各式的[X+Y]补和[X-Y]补,并验证计算结果是否正确。 (1)X=18,Y=89 [X+Y]补=00010010+01011001=01101011B=107D 正确 [X-Y]补=10111001B=00010010+10100111=(-71D)补正确 (2)X=-23,Y=-11 [X+Y]补=11101001+11110101=11011110B=(-34D)补正确[X-Y]补=11101001+00001011=11110100B=(-12D)补正确 (3)X=18,Y=-15 [X+Y]补=00010010+11110001=00000011B=(3D)补正确 [X-Y]补=00010010+00001111=00100001B=(33D)补正确 (4)X=-18,Y=120 [X+Y]补=11101110+01111000=01100110B=(102D)补正确[X-Y]补=11101110+10001000=01110110B=(123D)补由于X-Y=-138 超出了机器数范围,因此出错了。 13、微型计算机的主要性能指标有哪些? 答:CPU字长、存储器容量、运算速度、CPU内核和IO工作电压、制造工艺、扩展能力、软件配置。 第二章 2、8086标志寄存器包含哪些标志位?试说明各标志位的作用。 答:进位标志:CF;奇偶校验:PF;辅助进位:AF;零标志:ZF;符号标志:SF;溢出标志:OF。 5、逻辑地址与物理地址有什么区别?如何将逻辑地址转换为物理地址? 答:物理地址是访问存储器的实际地址,一个存储单元对应唯一的一个物理地址。逻辑地址是对应逻辑段内的一种地址表示形式,它由段基址和段内偏移地址两部分组成,通常表示为段基址:偏移地址。 物理地址=段基址*10H+偏移地址。 6、写出下列逻辑地址的段基址、偏移地址和物理地址。 (1)2314H:0035H (2)1FD0H:000AH 答:(1)段基址:2314H;偏移地址:0035H;物理地址:23175H。 (2)段基址:1FD0H;偏移地址:000AH;物理地址:1FD0AH。 8、设(CS)=2025H,(IP)=0100H,则当前将要执行指令的物理地址是多少? 答:物理地址=(CS)*10H+(IP)=20350H 9、设一个16字的数据区,它的起始地址为70A0H:DDF6H(段基址:偏移地址),求这个数据区的首字单元和末字单元的物理地址。

微机原理-期末考试题库及答案(含3套试卷)

微型计算机原理与接口技术综合测试题一 一、单项选择题(下面题只有一个答案是正确的,选择正确答案填入空白处) 1.8086CPU通过(1 )控制线来区分是存储器访问,还是I/O访问,当CPU执行IN AL,DX 指令时,该信号线为(2 )电平。 (1) A. M/ B. C. ALE D. N/ (2) A. 高 B. 低 C. ECL D. CMOS 2.n+1位有符号数x的补码表示范围为()。 A. -2n < x < 2n B. -2n ≤ x ≤ 2n -1 C. -2n -1 ≤ x ≤ 2n-1 D. -2n < x ≤ 2n 3.若要使寄存器AL中的高4位不变,低4位为0,所用指令为()。 A. AND AL, 0FH B. AND AL, 0FOH C. OR AL, 0FH D. OR AL 0FOH 4.下列MOV指令中,不正确的指令是()。 A. MOV AX, BX B. MOV AX, [BX] C. MOV AX, CX D. MOV AX, [CX] 5.中断指令INT 17H的中断服务程序的入口地址放在中断向量表地址()开始的4个存贮单元内。 A. 00017H B. 00068H C. 0005CH D. 0005EH 6.条件转移指令JNE的条件是()。 A. CF=0 B. CF=1 C. ZF=0 D. ZF=1 7. 在8086/8088 CPU中,一个最基本的总线读写周期由(1 )时钟周期(T状态)组成,在T1状态,CPU往总线上发(2 )信息。 ⑴ A. 1个 B. 2个 C. 4个 D. 6个

⑵ A. 数据 B . 地址 C. 状态 D. 其它 8. 8086有两种工作模式, 最小模式的特点是(1 ),最大模式的特点是(2 )。 ⑴ A. CPU提供全部控制信号 B. 由编程进行模式设定 C. 不需要8286收发器 D. 需要总线控制器8288 ⑵ A. M/ 引脚可直接引用 B. 由编程进行模式设定 C. 需要总线控制器8288 D. 适用于单一处理机系统 9.在8086微机系统的RAM 存储单元器0000H:002CH开始依次存放23H,0FFH,00H,和0F0H四个字节,该向量对应的中断号是( )。 A. 0AH B. 0BH C. 0CH D. 0DH 10.真值超出机器数表示范围称为溢出,,此时标志寄存器中的( )位被置位 A. OF B AF C PF D CF 11.8086 系统中内存储器地址空间为1M,而在进行I/O读写是,有效的地址线是( ) A . 高16位 B. 低16位 C. 高8位 D. 低8位 12.8086 CPU中段寄存器用来存放( ) A. 存储器的物理地址 B. 存储器的逻辑地址 C. 存储器的段基值 D. 存储器的起始地址 13.8259A可编程中断控制器的中断服务寄存器ISR用于( ) A.记忆正在处理中的中断 B. 存放从外设来的中断请求信号 C.允许向CPU发中断请求 D.禁止向CPU发中断请求 14.8253 可编程定时/计数器的计数范围是( ) A. 0-255 B. 1-256 C. 0-65535 D. 1-65536 15. 在8086中,(BX)=8282H,且题中指令已在队列中,则执行INC [BX]指令需要的总

微机原理期末考试试题及答案

上海应用技术学院2008—2009学年第一学期 《微机原理及应用》期末试卷 A 课程代码: B203205A 学分: 3.5 考试时间: 100 分钟 课程序号: 1958,1960 班级:学号:姓名: 我已阅读了有关的考试规定和纪律要求,愿意在考试中遵守《考场规则》,如有违反将愿接受相应的处理。 试卷共页,请先查看试卷有无缺页,然后答题。 一、填空(每空1分,共20分) 1.MCS-51的EA管脚接低电平时,CPU只能访问外部程序存储器。 2.MCS-51单片机从外部程序存储器取指令时,使用/PSEN信号作“读”信号,从外部数据存储器取数据时,使用/RD信号作“读”信号。 3.MCS-51的堆栈设在内部RAM中,单片机复位后SP的内容为07 H。 4. MOV A,34H 中的34H 是直接寻址。 MOV A,@R0 中的 @R0 是间接寻址。 5.若PSW=98H,则选择了第3组工作寄存器,此时R7的地址是1F H。 6.MCS-51的数据总线共8位,来自P0 口,地址总线共16位,来自P2和P0口。 7.8255A具有(3)个8位可编程I/O口。 8.若串口工作于方式1,每分钟传送3000个字符,其波特率是(500)bit/s。 9.一个8位A/D转换器的分辨率是( 3.9)‰。 10.若0809 U REF=5V,输入模拟信号电压为2.5V时,A/D转换后的数字量是(80H)。 11.一个EPROM的地址有A0----A11引脚,它的容量为(4)KB。

12.已知1只共阴极LED显示器,其中a笔段为字形代码的最低位,若需显示数字1,它的字形代码应为( 06H )。 二、判断题,对者划“√”,错者划“×”。(每小题1分,共10分) 1.(√)8051单片机的算术运算类指令执行的一般会影响标志位。 2.(√)8051单片机的外部数据存储器和内部数据存储器的要用不同的指令来访问。 3.(×)AJMP指令转移范围是-128~127之间。 4.(√)DPTR可以分成高8位和低8位分别寻址。 5.(×)MCS51内部定时/计数器在溢出时,都必须由软件重装初值才能按原设定值定时/计数。 6.(×)MCS-51系列单片机4个I/O端口都是多功能的。 7.(√)MCS-51特殊功能寄存器的字节地址能被8整除者,可以位寻址。 8.(×)并行扩展简单I/O口,对芯片的要求是:输入要锁存,输出要缓冲。 9.(√)串行通信要求是互相通信的甲乙双方具有相同的波特率。 10.(√)8255A的PA口具有3种工作方式。 三、阅读程序片段,指出执行结果。(每空2分,共20分) 1.MOV R1,#30H MOV A,#62H ADD A,#0B4H RLC A ANL A,01H MOV @R1,A RET ;执行到此 A=(20H),R1,=(30H),CY=(0),30H=(20H) 2.MOV R0,#20H MOV 20H,#05H MOV A,#10H MOV R2,A LOOP: ADD A,@R0

微机原理期末考试试卷(有答案)

丽水学院《微机原理》考试试卷 班级:___________ 姓名:___________学号:____________ 题号一二三四五六总分得分 得分 一、判断题(每题1分,共10分) 1、十六位微型机的含义是:这种机器能同时处理十六位二进制数。(√) 2、微机的字长愈长,计算精度愈高,指令处理功能愈强。(√) 3、MOV指令要影响标志位。(×) 4、JMP SHORT NEXT称为近转移。(×) 5、8086与8088在软件上不一定完全兼容。(×) 6、端口是位于主机与外设之间的总称。() 7、DMA是一种不需要CPU介入的高速数据传送。() 8、8253中的计数可以通过初始化设置成加计数或减计数。() 9、内部中断的优先权总是高于外部中断。() 10、两片8259A级连后可管理16级中断。() 得分 二、选择题(每题1分,共20分) 1、属于数据寄存器组的寄存器是_____C___。 A.AX,BX,CX,DS B.SP,DX,BP,IP C. AX,BX,CX,DX D.AL,DI,SI,AH 2、在8086和8088汇编语言中,一个字能表示的有符号数的范围是_____B___。 A.-32768≤n≤32768 B.-32768≤n≤32767 C.-65535≤n≤65535 D.-65536≤N≤65535 3、某数存于内存数据段中,已知该数据段的段地址为2000H,而数据所在单元的偏移地址为0120H,该数的在内存的物理地址为__B______。 A.02120H B.20120H C.21200H D.03200H 4、在8086/8088微机系统中,将AL内容送到I/O接口中,使用的指令是 ___D_____。 A.IN AL,端口地址 B.MOV AL,端口地址 C.OUT AL,端口地址 D.OUT 端口地址,AL 5、与十进制数58.75等值的十六进制数是__B______。 A.A3.CH B.3A.CH C.3A.23H D.C.3AH 6、将十六进制数FF.1转换成十进制数是__C______。 A.255.625 B.2501625 C.255.0625 D.250.0625 7、十进制负数-38的八位二进制补码是____D____。

微机原理习题集以及答案

第一部分 例题与习题 第1章 微型计算机基础 例 题 1.把十进制数转化为二进制数。P7 解:把十进制数转换成二进制数时,需要对一个数的整数部分和小数部分分别进行处理,得出结果后再合并。 整数部分:一般采用除2取余法 小数部分:一般采用乘2取整法 余数 低位 整数 高位 2 | 137 2 | 68 × 2 2 | 34 2 | 17 × 2 2 | 8 2 | 4 × 2 2 | 2 1 高位 低 位 (137)10=()2 10=2 所以,10=(.111)2 2.把二进制数转换为八进制数和十六进制数。P9 解:八进制、十六进制都是从二进制演变而来,三位二进制数对应一位八进制数,四位二进制数对应一位十六进制数,从二进制向八进制、十六进制转换时,把二进制数以小数点为界,对小数点前后的数分别分组进行处理,不足的位数用0补足,整数部分在高位补0,小数部分在低位补0。 (10 1)2=(010 100)2=8 (1 2=(0001 2=16 3.将八进制数转换为二进制数。P9 解:8=(010 100)2=2 4.X=,Y=-,求[X -Y]补,并判断是否有溢出P11 解:[X -Y]补=[X]补+[-Y]补 [X]补= [Y]补= [-Y]补= + -------------- 1 -------------- 0 -------------- 0 -------------- 1 -------------- 0 -------------- 0 -------------- 0 -------------- 1 ------------- 1 ------------- 1 ------------- 1

微机原理试题及答案

微机原理试题及答案 微机原理试题及答案 一、填空题(每空1分,共15分) 1、在计算机中,对带符号数的运算均采用补码。带符号负数1100 0011的补码为_10111101_。2、单片机通常采用“三总线”的应用模式,芯片内部设有单独的地址总线、数据总线_ 和控制总线。 3、当使用80C51单片机时,需要扩展外部程序存储器,此时EA应为_0__。 4、若(A)=B3H,(R0)=A8H,执行指令XRL A,R0之后,(A)=_1BH__。 5、在80C51单片机中,带借位减法SUBB指令中,差的D7需借位时,_CY_=1,差的D3需借位时,AC_=1。 6、80C51单片机中,在调用子程序前,用_PUSH__指令将子程序中所需数据压入堆栈,进入执行子程序时,再用___POP__指令从堆栈中弹出数据。 7、在十六进制数与ASCII码值的转换过程中,当十六进制数在0~9之间时,其对应的ASCII码值为该十六进制数加___30H______。 8、外部中断INT0和INT1有两种触发方式:___电平触发方式_____和__边沿触发方式__。 9、在单片机串行通信中,依发送与接收设备时钟的配置情况,串行通信可以分为 __异步通信___和__同步通信_。10、若累加器A中的数据为

0111 0010B,则PSW中的P=__0___。二、选择题(每题1分,共15分) 1、单片机是在一片集成电路芯片上集成了以下部分,除了( D ) A、微处理器 B、存储器 C、I/O接口电路 D、串口通信接口2、一个机器周期包含多少个晶振周期(D ) A、2 B、6 C、8 D、12 3、80C51单片机有21个特殊功能寄存器,其中与串行口相关的有以下几个,除了( B ) A、SBUF B、TCON C、SCON D、PCON 4、 80C51系列单片机具有4个8位的并行I/O口,其中哪个口工作时需要外接上拉电阻(A ) A、P0 B、P1 C、P2 D、P3 5、寄存器中的内容为地址,从该地址去取操作数的寻址方式称为( C ) A、寄存器寻址 B、直接寻址 C、寄存器间接寻址 D、变址寻址6、源地址为1005H。目的'地址为 0F87H。当执行指令“JC rel”时,rel为( B )。A、7EH B、80H C、82H D、84H 7、若(R0)=30H,(30H)=75H,(75H)=90H,执行指令MOV A,@R0后,(A)=__B____。A、30H B、75H C、90H D、00H 8、下列哪个语句是起始地址设置伪指令( A )。A、ORG B、END C、DW D、EQU 9、在80C51单片机中,各中断优先级最低的是( D )。A、外部中断0 B、外部中断1 C、定时器0 D、计数器1 10、80C51单片机的中断响应时间至少需要( C )个完整的机器周期。A、1 B、2 C、3 D、5 11、在80C51单片机中,

微机原理期末考试试卷(有答案)

微机原理期末考试试卷 (有答案) -CAL-FENGHAI.-(YICAI)-Company One1

《微机原理》考试试卷 一、判断题(每题1分,共10分) 1、十六位微型机的含义是:这种机器能同时处理十六位二进制数。(√) 2、微机的字长愈长,计算精度愈高,指令处理功能愈强。(√) 3、MOV指令要影响标志位。(×) 4、JMP SHORT NEXT称为近转移。(×) 5、8086与8088在软件上不一定完全兼容。(×) 6、端口是位于主机与外设之间的总称。() 7、DMA是一种不需要CPU介入的高速数据传送。() 8、8253中的计数可以通过初始化设置成加计数或减计数。() 9、内部中断的优先权总是高于外部中断。() 10、两片8259A级连后可管理16级中断。() 二、选择题(每题1分,共20分) 1、属于数据寄存器组的寄存器是_____C___。 A.AX,BX,CX,DS B.SP,DX,BP,IP C. AX,BX,CX,DX D.AL,DI,SI,AH 2、在8086和8088汇编语言中,一个字能表示的有符号数的范围是 _____B___。 A.-32768≤n≤32768 B.-32768≤n≤32767 C.-65535≤n≤65535 D.-65536≤N≤65535 3、某数存于内存数据段中,已知该数据段的段地址为2000H,而数据所在单元的偏移地址为0120H,该数的在内存的物理地址为__B______。 A.02120H B.20120H C.21200H D.03200H 4、在8086/8088微机系统中,将AL内容送到I/O接口中,使用的指令是 ___D_____。

微机原理的答案

第二章8086/808816位微处理器习题解答 1.试说明8086/8088CPU中有哪些寄存器?各有哪些用途? 答:寄存器组有(1)数据寄存器,含AX、BX、CX、DX四个通用寄存器,用来暂时存放计算过程中所遇到的操作数,结果和其它信息。(2)指针及变址寄存器,含SP、BP、SI、DI四个十六位寄存器,它们可以像寄存器一样在运算过程中存放操作数只能以字为单位使用。还用来在段内寻址时提供偏移地址。(3)段寄存器,含CS、DS、SS、ES,用来专门存放段地址。(4)控制寄存器,包括IP和PSW两个16为寄存器。IP是指令指针寄存器,用来存放代码段中的偏移地址。 PSW为程序状态字寄存器,由条件码标志和控制标志构成。条件码标志用来纪录程序运行结果的状态信息。包括OF、SF、ZF、CF、AF、PF。控制标志位有三个寄存器DF、IF、TF组成。 2.是说明8086/8088CPU中标志位寄存器中各标志位的意义? 答:OF溢出标志,在运算过程中,如操作数超出了机器能表示的范围则置1,否则置0。SF符号标志,运算结果为负时置1,否则置0。 ZF零标志,运算结果为0置1,否则置0 。 CF进位标志,记录运算是最高有效位产生的进位。 AF辅助进位标志,记录第三位的进位情况。 PF奇偶标志位,用来为机器中传送信息时可能产生的出错情况提供检验条件,当结果操作数中的1的个数为偶时置1。 DF方向标志位,在串处理指令中控制处理信息的方向。当DF=1时,每次操作后变址寄存器减量,这样就使串处理从高地址向低地址方向处理。IF中断标志,当IF=1时,允许中断,否则间断中断。TF陷阱标志,用于单步操作方式,当TF为1时,每条指令执行完后产生陷阱,由系统控制计算机。当TF为0时,CPU正常工作不产生陷阱。 3.哪些操作只能隐含使用某个段寄存器,而不能用其它段寄存器代替?哪些操作出隐含使用某个段寄存器外,还可以使用其它段寄存器? 答:计算程序的地址隐含使用CS,正在执行的程序隐含使用SS,而数据的地址隐含使用ES和DS。4.8086/8088系列违纪在存储器中寻找存储单元时,逻辑地址由哪两个部分组成的? 答:由段地址和偏移地址两部分构成。 5.设IBM PC微机内存中某个单元的物理地址是12345H,试完成下列不同的逻辑地址表示: (1)1234H:___H (2)____H:0345H 答:(1)1234H:05H (2) 1200H:0345H 6.假设某程序执行过程中,(SS)=0950H,(SP)=64H,试问该用户程序的堆栈底部物理地址是多少?答:(SS)*10H+(SP)=09564H 7.设堆栈段寄存器(SS)=0E4BH,程序中设堆栈长度为200H个字节。试计算出堆栈底部字单元物理地址,堆栈指针SP初始值(即堆栈中没有数据时)和SP初始值指向的物理地址。 答:物理地址为:3E4B0H, SP的初始值为200H,指向的物理地址为:3E6B1H.。 8.设某用户程序(SS)=0925H,SP=30H,(AX)=1234H,(DX)=5678H,问堆栈的地址范围是多少?如现有两条进展指令: PUSH AX PUSH DS 试问两指令执行后,(SP)=? 答:寻址范围:09250H~09280H,SP减4为2CH。 9.8086CPU与 8088CPU由哪些相同之处?又有哪些区别? 答:他们内结构基本相同,不同之处仅在于8088有8条外部数据总线,因此为准16位。 8088有16条外部数据总线,两个CPU的软件完全兼容,程序的编制也完全相同。 10.8086CPU从功能上分为几部分?各部分由什么组成?各部分的功能是什么? 答:8086CPU从功能上分外两大部分,一是执行部件(EU),二是总线接口部件(BIU)。

微机原理期末考试考试卷及答案

的数据线为16位,地址线为20位,I/O口使用16位地址线。 2.在某进制的运算中7×3=33,则7×5=_55。 3.用8位二进制数表示整数时,十进制数(-128)的补码为__。原码为无,反码为无。3.8086内部寄存器长度为16位,通用寄存器有8个,段寄存器有4个。 4.8086偶存储体的选片信号是A0,奇存储体的选片信号是BHE 。 5.MOV AX,[BX+SI]的源操作数是基址变址寻址方式,目的操作数是寄存器寻址方式。6.8086可以指向堆栈的指针寄存器有bp和sp。 7.程序中段定义结束的伪指令是ENDS,子程序定义结束的伪指令是ENDP。 8.EEPROM的擦除方法为点擦除. 9.下列指令段经汇编后,DATA所代表的偏移地址为_100 CH__。 & ORG 1000H STROE DB 12 DUP() DATA DB 05H,06H,07H,08H 1. 8086/8088在不考虑段跨越情况下,DI寄存器给出的偏移地址位于_C__。 A. 仅DS段 B. DS或SS段 C. DS或ES段 D. DS或CS段 2. 下列指令中格式错误的是___A___。 A. SHL AL,CX B. XCHG AL,BL C. MOV BX,[SI] D. AND AX,BX 3. 设(20010H)=3FH,(20011H)=B2H,执行下列指令段后,BX=____B__。 MOV AX,2000H " MOV DS,AX MOV BX,[0010H] A. B2B2H B. B23FH C. 3F3FH D. 3FB2H 4. 若SP=0124H,SS=3300H,在执行INT 60H这条指令后,堆栈栈顶的物理地址为___D___。 A. 3311CH B. 33120H C. 33122H D. 3311EH 5. 下列指令中格式错误的是_C__。 A. MOV AX,357AH[BX][DI] B. OUT DX,AL C. LEA AX,50H[BX][BP] D. RCR BX,1 6. 下列指令中允许寻址范围最大的是_D__。 A. JNZ NEXT B. LOOP NEXT ¥ C. JMP SHORT PTR NEXT D. CALL NEAR PTR NEXT 7. 8086/8088不属于BIU部分的寄存器是__D____。 A. IP B. ES C. DS D. SP 8088最大模式比最小模式在结构上至少应增加___B_。 A. 中断优先级控制器 B. 总线控制器 C. 数据驱动器 D. 地址锁存器 9. 8086在存取存贮器中以偶地址为起始地址的字时,M/IO、BHE、A0的状态分别是____D__。 A. 0,0,1 B. 1,0,1 C. 1,1,0 D. 1,0,0 10. 一个半导体存贮芯片的引脚有 A13~A0,D3~D0,WE,OE,CS,VCC,GND等,该芯片存贮容量为____C__。 A. 8K×8 B. 8K×4 C. 16K×4 D. 16K×8 !

微机原理作业答案

创作编号:BG7531400019813488897SX 创作者:别如克* 微机原理作业 1.8086C P U由哪两部分组成?它们的主要功能是什么? 答:8086CPU由总线接口单元(BIU)和指令执行单元(EU)组成。总线接口单元(BIU)的功能是:地址形成、取指令、指令排队、读/写操作数和总线控制。指令执行单元(EU)的功能是指令译码和指令执行。 2.微型计算机系统由微处理器、存储器和I/O接口 等组成。 3.8086CPU中的指令队列可存储6个字节的指令代码,当指令 队列至少空出 2 个字节时,BIU单元便自动将指令取到指令 队列中; 4.8086系统中,1MB的存储空间分成两个存储体:偶地址存 储体和 奇地址存储体,各为512 字节。 5.8086系统中存储器采用什么结构?用什么信号来选中存储体?答:8086存储器采用分体式结构:偶地址存储体和奇地址存储体,各为512K。用AO和BHE来选择存储体。当AO=0时,访问偶地址存储体;当BHE=0时,访问奇地址存储体;当AO=0,BHE=0时,访问两个存储体。 6.在8086CPU中,指令指针寄存器是 C 。 (A) BP (B) SP (C) IP (D) DI 7.8086CPU中的SP寄存器的位数是 B 。 (A) 8位(B) 16位(C) 20位(D) 24位

8.8086CPU中指令指针寄存器(IP)中存放的是 B 。 (A)指令(B)指令偏移地址(C)操作数(D)操作数偏移地址 9.若当前SS=3500H,SP=0800H,说明堆栈段在存储器中的物理地址 (最大),若此时入栈10个字节,SP内容是什么?若再出栈6个字 节,SP为什么值?答:堆栈段的物理地址范围:35000H~357FFH 当前顶的物理地址为:35000H+0800H=35800H 入栈10个字节以后:SP=0800H-000AH=07F6H 出栈6个字节以后:SP=07F6H+0006H=07FCH 10.下列关于8086系统堆栈的论述中,正确的是 A 。 (A) 堆栈的工作方式是“先进后出”,入栈时SP减小 (B) 堆栈的工作方式是“先进后出”,入栈时SP增大 (C) 堆栈的工作方式是“先进先出”,入栈时SP减小 (D)堆栈的工作方式是“先进先出”,入栈时SP增大 11.8086CPU对内存读/写操作,需两个总线周期的读/写操作是 D 。 (A) 从偶地址读/写一个字节(B) 从奇地址读/写一个字节 (C) 从偶地址读/写一个字(D) 从奇地址读/写一个字 12.总线周期是指 C 。 (A) 执行一条指令所需要的时间; (B) BIU完成一次读和一次写I/O端口操作所需时间之和; (C) BIU完成一次访问存储器或I/O端口操作所需要的时间; (D) BIU完成一次读和一次写存储器操作所需时间之和。 13.8086CPU通过RESET引脚上的触发信号来引起系统复位和启动,复位 时代码段寄存器CS= 0FFFFH ,指令指针IP= 0000H 。 重新启动后,从物理地址为 FFFF0H 的地方开始执行指令。 14. 8086CPU数据总线信号的状态是 C 。 (A)单向双态(B)单向三态(C)双向三态(D)双向双态

微机原理习题及答案

一、选择 1、在微型计算机中,微处理器的主要功能是进行( )。 D A、算术运算 B、逻辑运算 C、算术、逻辑运算 D、算术、逻辑运算及全机的控制 2、Pentium I属于()位CPU C A、16 B、8 C、32 D、64 3、Intel 8086属于()位CPU A A、16 B、8 C、32 D、64 4、CPU与I/O设备间传送的信号通常有( ) D A、控制信息 B、状态信息 C、数据信息 D、以上三种都有 5、存储器用来存放计算机系统工作时所需要的信息,即( )。 D A、程序 B、数据 C、技术资料 D、程序和数据 6、运算器的核心部件是( )。 D A、加法器 B、累加寄存器 C、多路开关 D、算逻运算单元 二、填空 1、内存可分为2大类:随机存储器RAM 和 2、数据总线是向的,地址总线是向的。 3、计算机的五大部件是:、、、、输出设备 4、总线可分为三类:、、 5、存储程序工作原理最先由提出 6、在计算机内部,一切信息的存取、处理和传送都是以形式进行的。 1、只读存储器ROM 2、双、单 3、运算器、控制器、存储器、输入设备 4、地址总线、数据总线、控制总线 5、冯·诺依曼 6、二进制 三、简答 1、冯·诺依曼型计算机的特点是什么? (1).以二进制表示指令和数据 (2).程序和数据存放在存储器中,从存储器中取指令并执行 (3).由运算器、控制器、存储器、输入设备、输出设备构成计算机硬件系统。 一、选择 1、在机器数______中,零的表示形式是唯一的()。BD A、原码 B、补码 C、反码 D、移码 2、计算机内部表示带符号整数通常采用()。C A、原码 B、反码 C、补码 D、移码

微机原理与接口技术考试试题及答案A

《微机原理与接口技术》课程期末考试试卷(A卷,考试) 一、单项选择(在备选答案中选出一个正确答案,并将其号码填在题干后的括号内。每题2分,共30分) 1 .某微机最大可寻址的内存空间为16MB,其CPU地址总线至少应有( D )条。 A. 32 B. 16 C. 20 D. 24 2 .用8088CPU组成的PC机数据线是( C )。 A. 8条单向线 B. 16条单向线 C. 8条双向线 D. 16条双向线 3 .微处理器系统采用存储器映像方式编址时存储单元与I/O端口是通过( B )来区分的。 A. 不同的地址编码 B. 不同的读控制逻辑 C. 不同的写控制逻辑 D. 专用I/O指令 4 .要禁止8259A的IR0的中断请求,则其中断屏蔽操作指令字OCW1应为( D )。 A. 80H B. 28H C. E8H D. 01H 5 .在8086环境下,对单片方式使用的8259A进行初始化时,必须放置的初始化命令字为( B )。 A. ICW1,ICW2,ICW3 B. ICW1,ICW2,ICW4 C. ICW1,ICW3,ICW4 D. ICW2,ICW3,ICW4 6 .6166为2Kx8位的SRAM芯片,它的地址线条数为( A )。 A. 11 B. 12 C. 13 D. 14 7 .在计算机系统中,可用于传送中断请求和中断相应信号的是( C )。 A. 地址总线 B. 数据总线 C. 控制总线 D. 都不对 8 .段寄存器装入2300H,该段的最大结束地址是( A )。 A. 32FFFH B. 23000H C. 33FFFH D. 33000H 9 .在进入DMA工作方式之前,DMA控制器当作CPU总线上的一个( A )。 A. I/O设备 B. I/O接口 C. 主处理器 D. 逻辑高 10 .在8086宏汇编过程中不产生指令码,只用来指示汇编程序如何汇编的指令是( B )。 A. 汇编指令 B. 宏指令 C. 机器指令 D. 伪指令 11 .中断向量表占用内存地址空间为( A )。 A. 00000H~003FFH B. 00000H~000FFH C. 00000H~00100H D. FFF00H~FFFFFH 12 .实现CPU与8259A之间信息交换是( D )。A. 数据总线缓冲器 B. 级联缓冲/比较器 C. 读写控制电路 D. 数据总线缓冲器与读写控制电路 13 .Intel 8253的最大输入时钟频率是( B )。 A. 5MHz B. 2MHz C. 1MHz D. 4MHz 14 .完成两数相加后是否溢出的运算,用( C )标志位判别。 A. ZF B. IF C. OF D. SF 15 .8255A的方式选择控制字应写入( D )。 A. A口 B. B口 C. C口 D. 控制口

微机原理期末考试试卷(有答案)

微机原理期末考试试卷(有答案)

INC DI LOOP AGAIN 也可用指令___A____完成同样的功能。 A.REP MOVSB B.REP LODSB C.REP STOSB D.REPE SCASB 11、动态存贮器刷新,下面哪种说法正确________。 A.刷新可在CPU执行程序过程中进行 B.刷新在外电路控制下,定时刷新,但刷新时,信息不读出 C.在正常存贮器读操作时也会发生刷新,可防止刷新影响读出信息,故读操 作时,应关闭电路工作。 D.刷新过程一定伴随着信息输出,无法控制,故刷新时不要进行读出操作。 12、用4K×8的存贮芯片,构成64K×8的存贮器,需使用多少4K×8的存贮芯片,正确答案为________。 A.128片 B.16片 C.8片 D.32片 13、对内存单元进行写操作后,该单元的内容________。 A.变反 B.不变 C.随机 D.被修改 14、在DMA方式下,CPU与总线的关系是________。 A.只能控制地址总线 B.相互成隔离状态 C.只能控制数据线 D.相互成短接状态 15、在PC/XT机中键盘的中断类型码是09H,则键盘中断矢量存储在________。 A.36H~39H B.24H~27H C.18H~21H D.18H~1BH 16、已知某系统共带三台外设,即X、Y、Z,每台外设都能发出中断,它们的中 断优先级为X>Y>Z,当前在执行Z中断服务程序时,X,Y同时发出中断请求, 若此时IF=0,问CPU响应哪台外设请求________。 A.X设备 B.Y设备 C.无响应X,后响应Y D.都不响应 17、8255A芯片中各端口的位数是________。 A.8位 B.26位 C.12位 D.4位 18、8255A的________一般用作控制或状态信息传输。 A.端口A B.端口B C.端口C D.端口C的上半部分 19、若以8253某通道的CLK时钟脉冲信号为基础,对其实行N分频后输出,通 道工作方式应设置为________。 A.方式0 B.方式2 C.方式3 D.方式4 20、8253有________个独立的计数器。 A.2 B.3 C.4 D.6 得分 三、填空题(每空1分,共20分) 1、IBM-PC机中的内存是按段存放信息的,一个段最大存贮空间为___64K_____ 字节。 2、下列字符表示成相应的ASCII码是多少? 回车___0AH_____;数字’0’ ___36H_____。 3、假设(DS)=0B000H,(BX)=080AH,(0B080AH)=05AEH,(0B080CH) =4000H,当执行指令“LES DS,[BX]”后,(DI)=____05AEH____,(ES)

微机原理答案共16页文档

1.8086/8088 CPU由哪两部分组成?它们的主要功能各是什么?它们之间是如何协调工作的? 微处理器(CPU)总线接口部件(BIU):负责与存储器、I/O 端口传送数据执行部件(EU):负责指令的执行协调工作过程:总线接口部件和执行部件并不是同步工作的,它们按以下流水线技术原则来协调管理: ①每当8086 的指令队列中有两个空字节,或者8088 的指令队列中有一个空字节时,总线接口部件就 ②每当执行部件准备执行一条指令时,它会从总线接口部件的指令队列前部取出指令的代码,然后用几个时钟周期去执行指令。在执行指令的过程中,如果必须访问存储器或者输入/输出设备,那么,执行部件就会请求总线接口部件进入总线周期,完成访问内存或者输入/输出端口的操作;如果此时总线接口部件正好处于空闲状态,那么,会立即响应执行部件的总线请求。但有时会遇到这样的情况,执行部件请求总线接口部件访问总线时,总线接口部件正在将某个指令字节取到指令队列中,此时总线接口部件将首先完成这个取指令的操作,然后再去响应执行部件发出的访问总线的请求。 ③当指令队列已满,而且执行部件又没有总线访问请求时,总线接口部件便进入空闲状态。 ④在执行转移指令、调用指令和返回指令时,由于程序执行的顺序发生了改变,不再是顺序执行下面一条指令,这时,指令队列中已经按顺序装入的字节就没用了。遇到这种情况,指令队列中的原有内容将被自动消除,总线接口部件会按转移位置往指令队列装入另一个程序段中的指令 2.8086/8088 CPU中有哪些寄存器?各有什么用途?标志寄存器F有哪些标志位?各在什么情况下置位? 通用寄存器:用于存放操作数和指针 段寄存器CS 控制程序区DS 控制数据区SS 控制堆栈区ES 控制数据区 标志寄存器F 的标志位:①控制标志:OF、DF、IF、TF;②状

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

学年第学期微机原理及应用(A)课程试卷 卷16 班级姓名得分任课教师 一、选择题:(每题分,共18分) 1、DMAC向CPU发出请求信号,CPU响应并交出总线控制权后将( 3)。 反复执行空操作,直到DMA操作结束 进入暂停状态, 直到DMA操作结束 进入保持状态, 直到DMA操作结束 进入等待状态, 直到DMA操作结束 2、有一个实时数据采集系统,要求10ms进行一次数据采集,然后进行数据 处理及显示输出,应采用的数据传送方式为( 3 )。 无条件传送方式查询方式 中断方式直接存储器存取方式 3、在数据传送过程中,数据由串行变并行,或由并行变串行的转换可通过 (3 )来实现。 计数器寄存器移位寄存器 D触发器 4、8088 CPU输入/输出指令可寻址外设端口的数量最大可达(4 )个。 128 256 16K 64K 5、CPU响应中断后,通过( 4)完成断点的保护。 执行开中断指令执行关中断指令 执行PUSH指令内部自动操作 6、并行接口芯片8255A具有双向数据传送功能的端口是(1 )。 PA口PB口 PC口控制口 7、8088CPU处理动作的最小时间单位是(2 )。 指令周期时钟周期机器周期总线周期8.堆栈是内存中(4 )。 先进先出的ROM区域后进先出的ROM区域 先进先出的RAM区域后进先出的RAM区域

9、计算机中广泛应用的RS-232C实质上是一种(3 )。 串行接口芯片串行通信规程(协议) 串行通信接口标准系统总线标准 5--1 10、高速缓冲存储器(CACHE)一般是由( 1 )芯片组成。 SRAM DRAM ROM EPROM 11、鼠标器是一种(3 )。 手持式的作图部件手持式的光学字符识别设备 手持式的座标定位部件手持式扫描器 12、传送速度单位“bps”的含义是( 2 )。 bytes per second bits per second baud per second billion bytes per second 二、填空题:(每空1分,共12分) 1、CPU在响应中断后,自动关中。为了能实现中断嵌套,在中断服务程序中, CPU必须在保护现场后,开放中断。 2、在计算机运行的过程中,有两股信息在流动,一股是数据,另 一股则是控制命令。 3、指令MOV BX,MASK[BP]是以 ss 作为段寄存器。 4、指令REPE CMPSB停止执行时,表示找到第一个不相等的字符 或 CX=0 。 5、设CF=0,(BX)= 7E15H,(CL)= 03H,执行指令 RCL BX,CL后, (BX) = ,(CF)=,(CL)=。0F0A9H 1 3 6、在8088 CPU中,一个总线周期是 CPU从存储器或I/O端口存取一个字 节的时间。 8253定时/计数器有 3 个独立的16位计数器,每个计数器都可按二进制或 bcd 来计数。 三、程序设计(共40分) 1.(10分)假设X和X+2单元与Y和Y+2单元中分别存放的是两个双

微机原理期末考试考试卷及答案

1、8086的数据线为16位,地址线为20位,I/O口使用16位地址线。 2、在某进制的运算中7×3=33,则7×5=_55。 3、用8位二进制数表示整数时,十进制数(-128)的补码为__。原码为无,反码为无。 3.8086内部寄存器长度为16位,通用寄存器有8个,段寄存器有4个。 4.8086偶存储体的选片信号就是A0,奇存储体的选片信号就是BHE 。 5.MOV AX,[BX+SI]的源操作数就是基址变址寻址方式,目的操作数就是寄存器寻址方式。 6.8086可以指向堆栈的指针寄存器有bp与sp。 7.程序中段定义结束的伪指令就是ENDS,子程序定义结束的伪指令就是ENDP。 8.EEPROM的擦除方法为点擦除、 9、下列指令段经汇编后,DATA所代表的偏移地址为_100 CH__。 ORG 1000H STROE DB 12 DUP(?) DATA DB 05H,06H,07H,08H 1、8086/8088在不考虑段跨越情况下,DI寄存器给出的偏移地址位于_C__。 A、仅DS段 B、DS或SS段 C、DS或ES段 D、DS或CS段 2、下列指令中格式错误的就是___A___。 A、SHL AL,CX B、XCHG AL,BL C、MOV BX,[SI] D、AND AX,BX 3、设(20010H)=3FH,(20011H)=B2H,执行下列指令段后,BX=____B__。 MOV AX,2000H MOV DS,AX MOV BX,[0010H] A、B2B2H B、B23FH C、3F3FH D、3FB2H 4、若SP=0124H,SS=3300H,在执行INT 60H这条指令后,堆栈栈顶的物理地址为___D___。 A、3311CH B、33120H C、33122H D、3311EH 5、下列指令中格式错误的就是_C__。 A、MOV AX,357AH[BX][DI] B、OUT DX,AL C、LEA AX,50H[BX][BP] D、RCR BX,1 6、下列指令中允许寻址范围最大的就是_D__。 A、JNZ NEXT B、LOOP NEXT C、JMP SHORT PTR NEXT D、CALL NEAR PTR NEXT 7、8086/8088不属于BIU部分的寄存器就是__D____。 A、IP B、ES C、DS D、SP 8、8086/8088最大模式比最小模式在结构上至少应增加___B_。 A、中断优先级控制器 B、总线控制器 C、数据驱动器 D、地址锁存器 9、8086在存取存贮器中以偶地址为起始地址的字时,M/IO、BHE、A0的状态分别就是____D__。 A、0,0,1 B、1,0,1 C、1,1,0 D、1,0,0 10、一个半导体存贮芯片的引脚有A13~A0,D3~D0,WE,OE,CS,VCC,GND等,该芯片存贮容量为____C__。 A、8K×8 B、8K×4 C、16K×4 D、16K×8 1、写出8086CPU所含14个寄存器的英文标识及中文名称。CS16位代码段寄存器DS 16位数据段寄存器SS16位堆栈段寄存器ES16位附加段寄存器AX 累加寄存器BX基址寄存器

相关主题
文本预览
相关文档 最新文档