当前位置:文档之家› 微机原理及应用习题答案

微机原理及应用习题答案

微机原理及应用习题答案
微机原理及应用习题答案

《微机原理及应用》习题答案

第一章

?1.11 请完成下列数制转换:

(1)将174.66D转换为对应的二进制和十六进制形式。

(2)将100011101011.01011B转换为对应的十进制和十六进制形式。

(3)将F18A6.6H转换为对应的二进制和十进制形式。

答:174.66D=10101110.1010B=AE.AH

100011101011.01011B=2283.34375D=8EB.58H

F18A6.6H=989350.375D

?1.12 请写出与数据+37和-37对应的8位机器数原码、反码和补码,并分别用二进制和十六进制表示出来。

答:-37D=(10100101B)原=(11011010B)反=(11011011B)补

?1.13 8位机器数46H,若作为无符号数和补码有符号数,其对应的真值各是什么?若作为BCD码和ASCII码,其对应的又是什么?

答:无符号数46H=70,补码46H=+70 BCD码46H=46,ASCII码46H=“F”

第二章

●2.5什么是8088中的逻辑地址和物理地址?逻辑地址如何转换成物理地址?1MB最多能分成多少个逻辑段?请将如下逻辑地址用物理地址表达:

(1)FFFFH:0H (2) 40H:17H (3) 2000H:4500H (4) B821H:4567H

答:⑴FFFFH:0H = FFFF0H

⑵40H:17H = 00417H

⑶2000H:4500H = 24500H

⑷B821H:4567H = BC777H

●2.8已知DS=2000H,BX=0100H,SI=0002,存储单元[20100H]~[20103H]依次存放12H,34H,56H,78H,[21200H]~[21203H]依次存放2AH,4CH,87H,65H,说明下列每条指令执行完后AX寄存器的内容以及源操作数的寻址方式?

答:⑴AX=1200H,立即数寻址;

⑵AX=0100H,寄存器寻址;

⑶AX=4C2AH,直接寻址;

⑷AX=3412H,寄存器间接寻址;

⑸AX=4C2AH,寄存器相对寻址;

⑹AX=7865H,基址变址寻址;

⑺AX=65B7H,基址变址相对寻址。

●2.9 说明下面各条指令的具体错误原因:

(1)mov cx,dl (2)mov ip,ax (3)mov es,1234h (4)mov es,ds

(5) mov al,300 (6)mov [sp],ax (7)mov ax,bx+di (8)mov 20h,ah

答:⑴操作数类型不同;

⑵不能手工修改IP;

⑶不能将立即数直接MOV到段寄存器;

⑷不能在段寄存器之间直接MOV数据;

⑸300大于AL所能存放的数据的范围;

⑹寄存器间接寻址只能用BX/BP/SI/DI之一;

⑺MOV AX,[BX+DI];

⑻目的操作数不能是立即数。

●2.10 已知数字0~9对应的格雷码依次为:18H,34H,05H,06H,09H,0AH,0CH,11H,12H,14H,它存在于以table为首地址(设为200H)的连续区域中。请为如下程序段的每条指令加上注释,说明每条指令的功能和执行结果。

lea bx,table

mov al,8

xlat

答:

lea bx,table ;bx=0200h

mov al,8 ;al=08h

xlat ;al=12h

●2.11给出下列各条指令执行后的AL值,以及CF,ZF,SF,OF和PF的状态:

mov al,89h

add al,al

add al,9dh

cmp al,0bch

sub al,al

dec al

inc al

答:⑴al=89h

⑵al=12h,CF=1,ZF=0,SF=0,OF=1,PF=1,AF=1

⑶al=afh,CF=0,ZF=0,SF=1,OF=0,PF=1,AF=0

⑷al=afh,CF=1,ZF=0,SF=1,OF=1,PF=1,AF=0

⑸al=00h,CF=0,ZF=1,SF=0,OF=0,PF=1,AF=0

⑹al=ffh,CF=0,ZF=0,SF=1,OF=0,PF=1,AF=1

⑺al=00h,CF=0,ZF=1,SF=0,OF=0,PF=1,AF=1

●2.12请分别用一条汇编语言指令完成如下功能:

(1)把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器。

(2)用寄存器BX和SI的基址变址寻址方式把存储器的一个字节与AL寄存器的内容相加并把结果送到AL中。用BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和CX寄存器的内容相加,并把结果送回存储器中。

(4)用位移量为0520H的直接寻址方式把存储器中的一个字与数3412H相加,并把结果

送回该存储单元中。

(5)把数0A0H与AL寄存器的内容相加,并把结果送回AL中。

答:

⑴add dx,bx;

⑵add al,[bx+si];

⑶add [bx+00b2h],cx

⑷add word ptr [0520h],3412h

⑸add al,0a0h

●2.13设X,Y,Z,V均为16位带符号数,分别装在X,Y,Z,V存储器单元中,阅读如下程序段,得出它的运算公式,并说明运算结果存于何处。

imul y

mov cx,ax

mox bx,dx

mov ax,z

cwd

add cx,ax

adc bx,dx

sub cx,540

abb bx,0

mov ax,v

cwd

sub ax,cx

abb dx,bx

idiv x

答:(V -( X * Y + Z -540 ) )/ X

●2.14给出下列各条指令执行后的结果,以及状态标志CF、OF、SF、ZF、PF的状态。mov ax,1470h

and ax,ax

or ax,ax

xor ax,ax

not ax

test ax,0f0f0h

答:⑴ax=1470h

⑵ax=1470h,CF=0,ZF=0,SF=0,OF=0,PF=0

⑶ax=1470h,CF=0,ZF=0,SF=0,OF=0,PF=0

⑷ax=0000h,CF=0,ZF=0,SF=0,OF=1,PF=1

⑸ax=0ffffh,CF=0,ZF=0,SF=0,OF=1,PF=1

⑹ax=0ffffh,CF=0,ZF=0,SF=1,OF=0,PF=1●2.16假设DS=2000H,BX=1256H,TABLE的偏移地址是20A1H,物理地址232F7H处存放3280H,试问执行下列段内间接寻址的转移指令后,转移的有效地址是什么?

答:⑴1256h;⑵3280h

●2.17判断下列程序段跳转的条件

(1)xor ax,leleh

je equal

(2)test al,10000001b

jnz there

(3)cmp cx,64h

jb there

答:⑴ax=1e1eh;⑵al=1******1b;⑶cx<64h

●2.18如下是一段软件延时程序,请问NOP指令执行了多少次?

xor cx,cx

delay: nop

loop delay

●2.19 有一个首地址为array的20个字的数组,说明下列程序段的功能。

mov cx,20

mov ax,0

mov si,ax

sumlp: add ax,array[si]

add si,2

loop sumlp

mov total,ax

答:将array数组的20个字(无进位)累加,其和存入total单元。

●2.20按照下列要求,编写相应的程序段:

(1)由string指示的起始地址的主存单元中存放一个字符串(长度大于6),把该字符串的第1个和第6个字符(字节量)传送给DX寄存器。

(2)有两个32位数值,按“小端方式”存放在两个缓冲区buffer1和buffer2中,编写程序段完成DX.A X←buffer1-buffer2功能。

(3)编写一个程序段,在DX高4位全为0时,使AX=0;否则,使AX=-1。

(4)把DX.AX中的双字右移4位。

(5)有一个100个字节元素的数组,其首地址为array,将每个元素减1(不考虑溢出或借位)存于原处。

答:

⑴mov dl,string

mov dh,string+5

⑵mov ax,word ptr buffer1

sub ax,word ptr buffer2

mov dx,word ptr buffer1+2

sbb dx,buffer2+2

⑶test dx,0f0h

je t1

mov ax,-1

jmp done

t1: mov ax,0

done: …..

⑷mov ax,1234h

mov dx,5678h

mov cx,4

lp1:

shr dx,1

rcr ax,1

loop lp1

⑸lea bx,array

mov cx,100

lp1:

sub [bx],1

inc bx

2.25编写一个程序段:先提示输入数字“Input Number:0~9”,然后在下一行显示输入的数字,结束;如果不是键入了0~9数字,就提示错误“Error!”,继续等待输入数字。

答:

.model small

.stack 100h

.data

message db “Input Number : 0~9”,0dh,0ah,“$”

error db “Error!”,0dh,0ah,“$”

.code

.startup

mov dx,offset message

mov ah,09h

int 21h

begin1: mov ah,01h

int 21h

cmp al,“0”

jb err1 cmp al,“9”

ja err1

mov dl,al

mov ah,02h

int 21h

.exit

err1: mov offset error

mov ah,09h

int 21h

jmp begin1

end

第三章

3.11请设置一个数据段,按照如下要求定义变量:

(1)my1b为字符串变量,表示字符串“Personal Computer”。

(2)my2b为用十进制数表示的字节变量,这个数的大小为20。

(3)my3b为用十六进制数表示的字节变量,这个数的大小为20。

(4)my4b为用二进制数表示的字节变量,这个数的大小为20。

(5)my5w为20个未赋值的字变量。

(6)my6c为100的符号常量。

(7)my7c为字符串常量,代替字符串“Personal Computer”。

答:

my1b db “Personal Computer”

my2b db 20

my3b db 14h

my4b db 00010100b

my5w dw 20 dup(?)

my6c equ 100

my7c equ < Personal Computer >

3.14设在某个程序中有如下片段,请写出每条传送指令执行后寄存器AX的内容:;数据段

org 100h

varw dw 1234h,5678h

varb db 3,4

vard dd 12345678h

buff db 10 dup(?)

mess db …hello?

;代码段

mov ax,offset mess

mov ax,type buff+type mess+type vard

mov ax,sizeof varw+sizeof buff+sizeof mess

mov ax,lengthof varw+lengthof vard

答:

offset varb = 0104h

offset mess = 0114h

type buff = 1;type mess = 1;

type vard = 4

sizeof varw = 4;sizeof buff = 10;

sizeof mess = 5

lengthof varw =2;lengthof vard = 1

3.15假设myword是一个字变量,mybyte1和mybyte2是两个字节变量,指出下列语句中的具体错误原因。

(1)mov byte ptr [bx],1000

(2) mov bx,offset myword[si]

(3) cmp mybyte1, mybyte2

(4) mov mybyte1,al+1

(5) sub al,myword

(6) jnz myword

答:

⑴1000大于字节变量所能表示的范围

⑵OFFSET只能用于简单变量

⑶双操作数不能同时为存储器操作数

⑷数值表达式应为运算符加常量

⑸两操作数类型不一致

⑹条件跳转只能是短跳转

3.17已知用于LED数码管的显示代码表为:

LEDtable db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h

db 80h,90h,88h,83h,0c6h,0c1h,86h,8eh

它依次表示0~9,A~F这16个数码的显示代码。现编写一个程序实现将lednum中的一个数字(0~9、A~F)转换成对应的LED显示代码。

答:

stack segment stack

db 100h dup(?)

stack ends

data segment

ledtable db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h

db 80h,90h,88h,83h,0c6h,0c1h,86h,8eh

lednum db 3

data ends

code segment 'code'

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

start:

mov ax,data

mov ds,ax

lea bx,ledtable

mov al,lednum

xlat

mov ax,4c00h

int 21h

code ends

end start

3.18编制一个程序,把变量bufX和bufY中较大者存入bufZ;若两者相等,则把其中之一存入bufZ中。假设变量存放的是8位有符号数。

答:

data segment

x db 13

y db -3

z db ?

data ends

stack segment stack

db 100 dup(?)

stack ends

code segment 'code'

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

start:

mov ax,data

mov ds,ax

mov al,x

mov ah,y

cmp al,ah

jbe change

mov z,ah

jmp done

change:

mov z,al

done:

mov ax,4c00h

int 21h

code ends

end start

3.19设变量bufX为有符号数16位数,请将它的符号状态保存在signX,即:如果变量值大于等于0,保存0;如果X小于0,保存-1.编写该程序。

答:

data segment

buffx dw 13

signx dw ?

data ends

stack segment stack

db 100 dup(?)

stack ends

code segment 'code'

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

start:

mov ax,data

mov ds,ax

mov ax,buffx

cmp ax,0

jbe change

mov signx,0

jmp done

change:

mov signx,-1

done:

mov ax,4c00h

int 21h

code ends

end start

3.20 bufX、bufY和bufZ是3个有符号十六进制数,编写一个比较相等关系的程序:(1)如果这3个数都不相等,则显示0。

(2)如果这3个数中有两个数相等,则显示1。

(3)如果这3个数都相等,则显示2 。

答:

data segment

bufx db 13

bufy db -3

bufz db -3

data ends

stack segment stack

db 100 dup(?)

stack ends

code segment 'code'

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

start:

mov ax,data

mov ds,ax

mov al,bufx

mov bl,bufy

mov cl,bufz

cmp al,bl

je cac

cmp al,cl

je view1

cmp bl,cl

je view1

mov dl,'0'

jmp view

cac:

cmp al,cl

je view2

view1:

mov dl,'1'

jmp view

view2:

mov dl,'2'

view:

mov ah,02h

int 21h

mov ax,4c00h

int 21h

code ends

end start

3.21例3.7中,如果要实现所有为1的位都顺序执行相应的处理程序段(而不是例题中仅执行最低为1位的处理程序段),请写出修改后的代码段?

答:

data segment

number db 78h

addrs dw offset fun0, offset fun1, offset fun2, offset fun3,

offset fun4, offset fun5, offset fun6, offset fun7

data ends

stack segment stack

db 100 dup(?)

stack ends

code segment 'code'

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

start:

mov ax, data

mov ds, ax

mov dh, number

mov cx, 8

mov bx, 0

lp1:

jc next

again:

inc bx

inc bx

loop lp1

jmp done

next:

jmp addrs[bx]

fun0:

mov dl, '0' jmp view

fun1:

mov dl, '1' jmp view

fun2:

mov dl, '2' jmp view

fun3:

mov dl, '3' jmp view

fun4:

mov dl, '4' jmp view

fun5:

mov dl, '5' jmp view

fun6:

mov dl, '6' jmp view

fun7:

mov dl, '7' jmp view

view:

mov ah, 02h int 21h

jmp again

done:

mov ax, 4c00h

code ends

end start

3.22编制程序完成12H, 45H, F3H, 6AH, 20H, FEH, 90H, C8H, 57H和34H共10个无符号字节数据之和,并将结果存入字节变量SUM中(不考虑进位)。

答:

data segment

num db 12h, 45h, 0f3h, 6ah, 20h, 0feh, 90h, 0c8h, 57h, 34h

sum db ?

data ends

stack segment stack

db 100 dup(?)

stack ends

code segment 'code'

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

start:

mov ax, data

mov ds, ax

mov cx, 10

lea bx, num

again:

mov al, [bx]

add sum, al

inc bx

loop again

mov ax, 4c00h

int 21h

code ends

end start

3.23 求主存0040H:0开始的一个64KB物理段中共有多少个空格?

答:

stack segment stack

db 100 dup(?)

stack ends

code segment 'code'

assume cs:code, ss:stack

start:

mov ax, 0040h

mov es, ax

mov di, 0

mov cx, 0

mov bx, 0

mov al, ' '

again:

scasb

jne next

inc bx

next:

dec cx

jne again

mov ax, 4c00h

int 21h

code ends

end start

3.24编写计算100个正整数之和的程序。如果和不超过16位字的范围(65535),则保存其和到wordsum,如超过则显示…overflow!?。

答:

data segment

num dw 100 dup(800)

sum dw ?

msg db 'Overflow!', 13, 10, '$'

data ends

stack segment stack

db 100 dup(?)

stack ends

code segment 'code'

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

start:

mov ax, data

mov ds, ax

mov cx, 100

lea bx, num

mov ax, 0

again:

add ax, [bx]

inc bx

inc bx

jc err

loop again

mov sum, ax

jmp done

err:

mov dx, offset msg

mov ah, 09h

int 21h

done:

mov ax, 4c00h

int 21h

code ends

end start

3.25编制程序完成将一个16位无符号二进制数转换成为用8421BCD码表示的5位十进制数。转换算法可以是:用二进制数除以10000,商为“万位”,再用余数除以1000,得到“千位”;一次用余数除以100、10和1,得到“百位”、“十位”和“个位”。

答:

data segment

bnum dw 19982

dnum db 5 dup(?), '$'

data ends

stack segment stack

db 100 dup(?)

stack ends

code segment 'code'

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

start:

mov ax, data

mov ds, ax

mov ax, bnum

lea bx, dnum

mov dl, 0

cwd

mov cx, 10000

div cx

add al, 30h

mov [bx], al

inc bx

mov ax, dx

cwd

mov cx, 1000

div cx

add al, 30h

mov [bx], al

inc bx

mov ax, dx

cwd

mov cx, 100

div cx

add al, 30h

mov [bx], al

inc bx

mov ax, dx

cwd

mov cx, 10

div cx

add al, 30h

mov [bx], al

inc bx

add dl, 30h

mov [bx], dl

mov dx, offset dnum

mov ah, 09h

int 21h

mov ax, 4c00h

int 21h

code ends

end start

3.27编写一个源程序,在键盘上按一个键,将从AL返回的ASCII码值显示出来,如果按下ESC键则程序退出。

答:

stack segment stack

db 100h dup(?) stack ends

code segment 'code' assume cs:code, ss:stack

start:

mov ah, 07h

int 21h

cmp al, 1bh

je done

push ax

mov dl, al

mov cl, 4

shr dl, cl

call htoasc

mov ah, 02h

int 21h

pop ax

mov dl, al

and dl, 0fh

call htoasc

mov ah, 02h

int 21h

jmp start

done:

mov ax, 4c00h

int 21h

htoasc proc

add dl, 30h

cmp dl, 39h

jbe htoend

add dl, 7

htoend:

ret

htoasc endp

code ends

end start

3.28请按如下说明编写子程序:

;子程序功能:把用ASCII码表示的两位十进制数转换位对应二进制数

;入口参数:DH=十位数的ASCII码,DL=个位数的ASCII码

;出口参数:AL=对应的二进制数

答:

stack segment stack

db 100h dup(?)

stack ends

code segment 'code'

assume cs:code, ss:stack

start:

mov dx, 3932h

call asctoh

mov ax, 4c00h

int 21h

asctoh proc

push cx

sub dx, 3030h

mov cl, 10

mov al, dh

mul cl

add al, dl

pop cx

ret

asctoh endp

code ends

end start

3.29调用HTOASC子程序,编写显示一个字节的16进制数、后跟“H”的子程序。答:

stack segment stack

db 100h dup(?)

stack ends

code segment 'code'

assume cs:code, ss:stack

start:

int 21h

cmp al, 1bh

je done

call htoah

jmp start

done:

mov ax, 4c00h int 21h

htoah proc push ax

push cx

push dx

push ax

mov dl, al mov cl, 4

shr dl, cl

call htoasc mov ah, 02h int 21h

pop ax

mov dl, al and dl, 0fh call htoasc mov ah, 02h int 21h

mov dl, 'H' mov ah, 02h int 21h

pop dx

pop cx

pop ax

ret

htoah endp

htoasc proc add dl, 30h

jbe htoend

add dl, 7

htoend:

ret

htoasc endp

code ends

end start

3.30写一个子程序,根据入口参数AL=0、1、2,依次实现对大些字母转换成小写、小写转换成大写或大小写字母互换。欲转换的字符串在string中,用0表示结束。

答:

data segment

string db 'abcDEfGh', '$'

data ends

stack segment stack

db 100 dup(?)

stack ends

code segment 'code'

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

start:

mov ax, data

mov ds, ax

mov al, 2

call change

mov dx, offset string

mov ah, 09h

int 21h

mov al, 0

call change

mov dx, offset string

mov ah, 09h

int 21h

mov al, 1

call change

mov dx, offset string

int 21h

mov ax, 4c00h

int 21h

change proc

lea bx, string

cmp al, 0

je cg1

cmp al, 1

je cg2

cg3:

cmp byte ptr [bx], '$' je done

cmp byte ptr [bx], 5ah ja xtod

add byte ptr [bx], 20h jmp cg33

xtod:

sub byte ptr [bx], 20h cg33:

inc bx

jmp cg3

cg2:

cmp byte ptr [bx], '$' je done

cmp byte ptr [bx], 61h jb cg22

sub byte ptr [bx], 20h cg22:

inc bx

jmp cg2

cg1:

cmp byte ptr [bx], '$' je done

cmp byte ptr [bx], 5ah ja cg11

add byte ptr [bx], 20h cg11:

inc bx

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

《微机原理及应用》试题库 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 。

微机原理及应用复习题

练习题 一、单项选择题 1.下列字符中,ASCII码值最小的是(A )。 A. K B.Y C. a D.i 2.已知SRAM2114芯片容量为1K×4位,若要组成16KB的系统存储器,则共需( A )芯片。 (1)32片(2)16片 (3)8片;(4)4片 3.8088CPU内部的数据总线有( B )条。 (1)8条; (2)16条; (3)20条;(4)32条 4. 若(AL)=0FH,(BL)=04H,则执行CMP AL,BL后,AL和BL的内容为( A )。 (1)OFH和04H;(2)0B和04H;(3)0F和0BH;(4)04和0FH 5.在下列伪指令中定义字节变量的是( A )。 (1)DB; (2)DW; (3)DD; (4)DT 6.在并行可编程电路8255中,8位的I/O端口共有( C )。 (1)1个 ;(2)2个; (3)3个; (4)4个 7.可编程计数/定时器电路8253的工作方式共有(D )。 (1)3种; (2)4种; (3)5种; (4)6种 8. 若8086/8088系统采用单片8259A,其中断类型号为46H时,试问其中断矢量指针是(C)。 A:184H B:178HC:118HD:280H 12. 已知DRAM2118芯片容量为16K*1位,若需组成64KB的系统存储器,则组成的芯片组数和每个芯片数为( D )。 A:2和8 B:1和16C:4和16 D:4和8 13.CPU与外设间数据传送的控制方式有( D ) A.中断方式 B.DMA方式C.程序控制方式 D.以上三种都是 14.8086 CPU内标志寄存器中的控制标志位占(C ) A.9位B.6位 C.3位 D.16位 15.CPU与I∕O设备间传送的信号有( D) A.数据信息 B.控制信息 C.状态信息 D.以上三种都是 17.8255A这既可作数据输入、出端口,又可提供控制信息、状态信息的端口是( D) A.B口B.A口 C.A、B、C三端口均可以 D.C口 18.设串行异步通信的数据格式是:1个起始位,7个数据位,1个校验位,1个停止位,若传输率为1200,则每秒钟传输的最大字符数为( C) A.10个 B.110个 C.120个D.240个 19.堆栈的工作方式是( D) A.先进先出 B.随机读写C.只能读出,不能写入D.后进先出 20.指令MOV AX,[3070H]中源操作数的寻址方式为( B) A.寄存器寻址 B.直接寻址 C.立即寻址 D.间接寻址 21.Reset信号到来后,8086 CPU的启动地址为( C)

微机原理及应用试卷及答案

····································密························封························线································ 学生答题不得超过此线 一、单项选择题(每小题1分,共20分。请将答案填入答题单) 1.8086CPU由两个独立的工作单元组成,它们是执行单元EU和( ). A)总线控制逻辑器 B)内部通信寄存器 C)指令寄存器 D)总线接口单元 2.8086系统若用256KB*1动态存储器芯片可望构成有效存储系统的最小容量是( ). A)256KB B)512KB C)640KB D)1MB 3.Intel8255A使用了()个端口地址。 A)1 B)2 C)3 D)4 4.PC机中为使工作于一般全嵌套方式的8259A中断控制器能接受下一个中断请求,在中断服务程序结束处就( ). A)发送OCW2指令 B)发送OCW3指令 C)执行IRET指令 D)执行POP指令 5.RAM是随机存储器,它分为( )两种. A)ROM和SRAM B)DRAM和SRAM C)ROM和DRAM D)ROM和CD-ROM 6.在程序运行过程中,确定下一条指令的物理地址的计算表达式是() A)CS×16+IP B)DS×16+SI C)SS×16+SP D)ES×16+DI 7.( )是以CPU为核心,加上存储器,I/O接口和系统总线构成的. A)微处理器 B)微型计算机 C)微型计算机系统 D)计算机 8.对于掉电,8086/8088CPU是通过( )来处理的. A)软件中断 B)可屏蔽中断 C)非屏蔽中断 D)DMA 9.计算机的存储器采用分级存储体系的主要目的是()。 A)便于读写数据 B)减小机箱的体积 C)便于系统升级 D)解决存储容量、价格和存取速度之间的矛盾 10.8259A的OCW1----中断屏蔽字( )设置. A)在ICW之前 B)只允许一次 C)可允许多次 D)仅屏蔽某中断源时11.将十六进制数163.5B转换成二进制数是)( ) A)1101010101.1111001 B)110101010.11001011 C)1110101011.1101011 D)101100011.01011011 12.Intel 8086/8088微处理器有()地址线,直接寻址内存空间的范围是()。 A)10条,64KB B)20条,64KB C)16条,1M D)20条,1M 13.Intel 8086/8088微处理器的标志寄存器中,作为记录指令操作结果的标志是()。 A)CF,OF,PF,AF,SF,ZF B) CF,PF,ZF,SF C) OF,DF,IF,SF,ZF,CF D) IF,DF,OF,CF 14.下述对标志寄存器中标志位不产生影响的指令是()。 A)JMP NEXT B) TEST AL,80H C) SHL AL,1 D) INC SI 15.简单的汇编语言程序可以通过()来建立、修改和执行。 A)连接程序 B) 调试程序 C) 汇编程序 D) 编辑程序 16.累加器AL中的内容是74H,执行CMP AL,47H指令后,累加器AL中的内容是()。

微机原理及应用 第2章 习题及答案

CH02 8086/8088指令系统 习题与思考题 1.假定DS=2000H,ES=2100H,SS=1500H,SI=00A0H,BX=0100H,BP=0010H,数据变量VAL的偏移地址为0050H,请指出下列指令源操作数是什么寻址方式?源操作数在哪里?如在存储器中请写出其物理地址是多少? (1)MOV AX,0ABH (2)MOV AX,[100H] (3)MOV AX,VAL (4)MOV BX,[SI] (5)MOV AL,VAL[BX] (6)MOV CL,[BX][SI] (7)MOV VAL[SI],BX (8)MOV [BP][SI],100 解答: (1)MOV AX,0ABH 寻址方式:立即寻址;源操作数在数据线上;物理地址:无 (2)MOV AX,[100H] 寻址方式:直接寻址;源操作数在存储器中;物理地址:DS*16+100H=2000H*16+100H=20100H (3)MOV AX,VAL 寻址方式:直接寻址;源操作数在存储器中;物理地址:DS*16+VAL=2000H*16+0050H=20050H (4)MOV BX,[SI] 寻址方式:寄存器间接寻址;源操作数在存储器中;物理地址:DS*16+SI=2000H*16+00A0H=200A0H (5)MOV AL,VAL[BX] 寻址方式:变址寻址;源操作数在存储器中;物理地址:DS*16+VAL+BX=2000H*16+0050H+0100=20150H (6)MOV CL,[BX][SI] 寻址方式:基址加变址寻址;源操作数在存储器中;物理地址:DS*16+BX+SI= 2000H*16+0100H+00A0H =201A0H (7)MOV VAL[SI],BX 寻址方式:寄存器寻址;源操作数在寄存器中;物理地址:无 (8)MOV [BP][SI],100 寻址方式:立即寻址;源操作数在;物理地址:无 .设有关寄存器及存储单元的内容如下:2. DS=2000H,BX=0100H,AX=1200H,SI=0002H,[20100H]=12H,[20101H]=34H,[20102H]=56H,[20103]=78H,[21200]=2AH,[21201H]=4CH,[21202H]=0B7H,[21203H]=65H。

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

《微机原理及应用》试题库 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。

微机原理及应用期末试卷及答案

微机原理与汇编语言(期末试卷A答案) 一、单项选择题(每题2分,共40分) 1.(B )用来存放即将执行的指令的偏移地址的寄存器是 A.SP B.IP C.BP D.CS 2.(A )源变址寄存器是 A.SI B.DI C.SP D.BX 3.(B )设SP=1110H,执行PUSH AX后,SP中的内容为 A.SP=1112H B.SP=110EH C.SP=1111H D.SP=110FH 4.(D )语句DA1 DB 2 DUP(3,5,7)汇编后,与该语句功能等同的语句是A.DA1 DB 3,5,7 B.DA1 DB 2,3,5,7 C.DA1 DB 3,5,7,2 D.DA1 DB 3,5,7,3,5,7 5.( B )下面四个寄存器中,不能用来作为间接寻址的寄存器是 A.BX B.CX C.BP D.DI 6.( C )确定下列哪些数据在汇编语言中是非法的 A.19AH B.1372 C.102B D.145 7.(D)若栈顶的物理地址为20100H,当执行完指令PUSH AX后,栈顶的物理地址为 A.20102H B.20101H C.200FFH D.200FEH 8.( C )当执行完下列指令序列后,标志为CF和SF的值是 MOV AL,0C4H ADD AL,9DH A.0,0 B.0,1 C.1,0 D.1,1 9.( D )JMP WORD PTR[BX]的转移目标地址是 A.BX中的内容B.SP+BX的和 C.IP+[BX]之和D.BX指示的内存单元的内容 10.( B )8086/8088CPU的I/O指令采用间接寻址时,可以使用的寄存器是A.BX B.DX C.SI D.DI 11.(C )完成将BX清零,并使标志寄存器CF清零,下面指令错误的是A.SUB BX , BX B.XOR BX ,BX C.MOV BX,0 D.AND BX,0000H 12.(D )下面数据传送指令中,正确的是 A.MOV BUF1,BUF2 B.MOV CS,AX C.MOV CL,1000 D.MOV DX,WORD PTR[BP+DI] 13.(D )下列存储器哪一种存取速度最快 A.硬盘B.DROM C.ROM D.Cache 14.(B )完成将有符号数BX的内容除以2的正确指令是 A.SHR BX,1 B.SAR BX,1 C.ROR BX,1 D.RCR BX,1 15.( C )指令LOOPZ的循环执行条件是 A.CX≠0且ZF=0 B.CX≠0或ZF=0 C.CX≠0且ZF=1 D.CX≠0或ZF=1 16.(B )以8086/8088为CPU的微机内存最大容量为 A .4M B B.1MB C.640KB D.64KB 17 (C )与1A.5H不等的数据是 A.26.3125D B.11010.0101B C.32.5Q 18.( A )8位二进制补码表示的整数数据范围是 A.-128~127 B.-127~127 C.-128~128 D.-127~128 19.( A )下列四个寄存器中,不允许用传送指令赋值的寄存器是 A.CS B.DS C.ES D.SS 20.( B )指令MOV 100[SI][BP],AX的目的操作数的隐含段为 A.数据段 B.堆栈段 C.代码段 D.附加段 二、填空题(每空2分,共20分) 1.225D= 11100001 B= E1 H 2.已知X=-1011011,求[X]补= 10100101 。 3.地址2000H:0480H,其物理地址是20480H ,段地址是2000H ,偏移地址是0480H 。 4.按存储器的位置,可以将存储器分为内存储器和外存储器。5.8086最多可处理256 种中断,对每一个中断设置一个中断类型码。 三、判断题(共10分,对的画√,错的画×) 1.(×)在8位补码表示中,10000000表示的真值为-0 2.(×)奇偶标志位PF,当运算结果的低8位中有偶数个1时,被置为0。3.(×)CS、DS、ES和SS段都可以存放指令代码。 4.(×)MOV CS,[SI] 5.(×)MOV [DI],[SI] 6.(√)两数相等时转移可用JZ指令。 7.(×)OUT [BX],AL 8.(×)当IF=0时,CPU不能响应NMI中断。 9.(√)已知AL,BX为带符号数,计算AL*BX的乘积,使用下述程序段。 CBW IMUL BX 10.(√)在8位补码表示法中,对-128求补会产生溢出。 四、简答题(共20分) 1.冯·诺依曼型计算机的结构由哪些部分组成?各部分的功能是什么?(10分) 答:冯·诺依曼型计算机在硬件结构上主要由运算器,控制器,存储器,输

微机原理及应用 第4章 习题及答案

CH04 存储系统 习题与思考题 1.存储器的哪一部分用来存储程序指令及像常数和查找表一类的固定不变的信息?哪一部分用来存储经常改变的数据? 解答:只读存储器ROM;随机存储器RAM。 2.术语“非易失性存储器”是什么意思?PROM和EPROM分别代表什么意思? 解答:“非易失性存储器”是指当停电后信息会丢失;PROM--可编程序的只读存储器PROM(Programmable ROM),EPROM--可擦除的可编程的只读存储器EPROM(Erasible Programmable ROM)。 3.微型计算机中常用的存储器有哪些?它们各有何特点?分别适用于哪些场合? 解答: 双极型半导体存储器 随机存储器(RAM) MOS存储器(静态、动态) 主存储器可编程只读存储器PROM 可擦除可编程只读存储器EPROM,EEPROM 只读存储器(ROM)掩膜型只读存储器MROM 快擦型存储器 存储器磁盘(软盘、硬盘、盘组)存储器 辅助存储器磁带存储器 光盘存储器 缓冲存储器 4.现代计算机中的存储器系统采用了哪三级分级结构,主要用于解决存储器中存在的哪些问题? 解答:目前在计算机系统中通常采用三级存储器结构,即使用高速缓冲存储器、主存储器和辅助存储器,由这三者构成一个统一的存储系统。从整体看,其速度接近高速缓存的速度,其容量接近辅存的容量,而位成本则接近廉价慢速的辅存平均价格。三级结构主要用于解决速度、容量和成本的问题。 5.试比较静态RAM和动态RAM的优缺点,并说明有何种方法可解决掉电时动态RAM中信息的保护。 解答:静态RAM----存储一位信息的单元电路可以用双极型器件构成,也可用MOS器件构成。双极型器件构成的电路存取速度快,但工艺复杂,集成度低,功耗大,一般较少使用这种电路,而采用MOS器件构成的电路。静态RAM的单元电路通常是由6个MOS 管子组成的双稳态触发器电路,可以用来存储信息“0”或者“1”,只要不掉电,“0” 或“1”状态能一直保持,除非重新通过写操作写入新的数据。同样对存储器单元信息的读出过程也是非破坏性的,读出操作后,所保存的信息不变。使用静态RAM的优点是访问速度快,访问周期达20~40ns。静态RAM工作稳定,不需要进行刷新,外部电

微机原理及应用练习题(1)

https://www.doczj.com/doc/ea1904200.html, 1000H X DB 12H Y DW X Z DD Y (DS)=3800H, (BX)=1000H, (SI)=0002H 求下列指令执行完后指定寄存器的内容 MOV AX, [1000H] ; (AX)= 0012 H MOV AX, [BX+SI] ; (AX)= 0110 H LEA DX,Y ; (DX)= 1001 H 2.(AX)=4F08H,(CF)=0,(CL)=4,则 ROR AX,CL指令执行完后,(AX)= 84F0H,(CF) = 1。 3.执行以下程序后,DI的值为 1234。sp=1FFEH AX=00F0H DX=0ACF0H MOV SP,2000H MOV AX,0F0H MOV SI,1234H MOV DX,5678H PUSH SI POP DI SHL DX,1 TEST AX,DX PUSH DX HLT 4.MOV AX, 80C9H MOV BX, 5312h MOV SP, 1070H PUSH BX PUSH AX NOT AX POP BX 程序执行后: (AX)= 7F36H (BX)= 80C9H SS:[106EH]= 12H (SP)= 106EH 5.执行下列程序: MOV AX,0 MOV BX,1 MOV CX,100 A: ADD AX,BX INC BX LOOP A HLT 执行后的结果为(BX)= 101 。

6.MOV BL, 3BH XOR AL, AL OR BL, AL MOV AL, BL AND AL, F2H MOV AH, AL STC RCR AL, 1 程序执行后(AX)= 3299H (BL)= 003BH CF 0 7.MOV AX,0 MOV DX, AX L: MOV BL, AL INC DX ADD AL, 1 JNZ L 程序执行后 (BL)= 25510H (AL)= 00H (DX)= 0010H CF= 1 8.设初值(AX)=4321H,(DX)=8765H,则 MOV CL,04H SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL OR DL,BL 上述程序执行后(DX)= 7654H ,(AX)= 3210H 9.设CPU各个标志位的初始状态均为0,执行指令: MOV AX,0 DEC AX 后,请问AX= 0FFFFH ,SF= 1 ,CF= 0 ? 10.设初值为AX=1234H,BX=5678H,DX=0ABCDH,则下面一段程序: MOV CL,4 SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL OR DL,BL 执行后,请问AX= 2340H ,BX= 5610H ,DX= 0BCDH

最新微机原理及应用试卷答案

微机原理及应用试卷答案 一、填空题: 1、锁存复用线上的地址 2、确定是否在T3周期后插入T w周期 3、IP由寻址方式决定的16位偏移量SP 4、微处理器存储器I/O接口电路 5、825908H—OFH 6、n 7、3 2 8、接收移位发送移位 二、判断题: 1、√ 2、√ 3、√ 4、√ 5、√ 6、× 7、√ 8、× 9、×10、√ 11、×12、√13、√14、√ 三、简答题: 1、答:①在刷新周期,是用只有行地址的方法,选中一行对它进行刷新。(3分) ②有效将行地址存入行地址锁存器,被这个地址选中的那一行中的所有单元都读出 和重写,达到刷新的目的。(3分) 2、答:①CUP输出控制字CW=16H,指定它的工作方式;(1.5分) ②CPU向它写入计数初值LSB=4;(1.5分) ③装入计数值后开始计数,一个CLK使计数值减2;(1.5分) ④当计数到0时,使输出改变状态。同时重装这个计数值,开始新的计数。(1.5分) 3、答:①当CPU响应中断时,将发出高电平的中断响应信号;(2分) ②由于F/FA没有中断请求,它的输出为低电平,故A2输出为高,相当于将中断响 应信号传递下去;(2分) ③因为F/FB有中断请求,F/FB输出为高,故B1输出为高,即中断输出2为高,用它去控制转至中断2的服务程序的入口。(2分) 四、问答题: 1、答:①20位物理地址的形成如下图所示:(2分)

②段寄存器内容左移4位与16位偏移量相加,形成20位物理地址。(2分) 2、答:①这是在一个周期内完成的;(2分) ②读出某一单元的内容,修改后再写回这个单元。(2分) 3、答:①停止位和空闲位都是高电平; ②停止位是字符格式中规定好的,是传递字符的一部分;(2分) ③两个互相通信的系统,在传输线上没有字符传送时是高电平。这个高电平称为空 闲位。(2分) 4、答:①全译码方式:存储器芯片中的每一个存储单元对应一个唯一的地址。译码需要的 器件多;(3分) ②部分译码方式:存储器芯片中的一个存储单元有多个地址。译码简单;(3分) ③线选:存储器芯片中的一个存储单元有多个地址。地址有可能不连续。不需要译 码。(2分) 五、应用题: 1、答:可用2种方法实现: ①8255A工作于方式O时,端口C可以指定为输出。每隔1/2方波周期改变其中一位的状态,其它位不变。就可以通过端口C的某一条线输出连续的方波。(4.5分) ②用对端口C某一位置位/复位的方法实现。即每隔1/2方波周期时间,对端口 C 的某一位交替进行置位、复位,即可从端口C的某一条线输出连续的方波。(4.5分) 2、答:①分配给32K×8ROM芯片的地址为:F8000H-FFFFFH(4.5分) ②分配给8K×8ROM的地址为下述4组地址之一: F0000H-F1FFFH F2000H-F3FFFH F4000H-F5FFFH F6000H-F7FFFH(4.5分)

微机原理及应用习题105道

《微机原理与应用》习题 1. 求ADDRI 开始单元中连续存放的两个双字数据之和,将结果存放在ADDR2开始的单元,并将结果在显示器上显示出来。(假定和不超过双字) 2. 在一个首地址为STR 、长度为N 的字符串中查找“空格”,找到则向DL 中送1,否则向DL 中送-1。 3. 将两位十六进制数转换成ASCII 码,并送屏幕显示,要求使用顺序结构实现。 4. 使用分支结构实现将1位十六进制数转换成ASCII 码。假设需要转换的十六进制数已存放在AL 的低4位上,转换结果仍存放到AL 中。 5. 一个32位数存放在以数据段的BUF 单元开始的位置。编写子程序统计该数中含“1”的个数,并将其结果存入RSLT 字节单元。 6. 用查表法将1位十六进制数转换成相应的ASCII 码,并将结果送屏幕显示。 7. 将数据段中首地址为ADDR 、长度为N 的一组数据加1,并送回原处。 8. 将数据段ADDR1地址处的200个字节数据,传送到数据段地址为ADDR2处。 9. 编写程序,已知有某字串BUF1的首址为2000H ,并且数据段与附加段重合。欲从BUF1处开始将20个字数据顺序传送至BUF2处。 10. 有First 和Second 开始的2个长度相等的字符串,交换2个字符串的内容。 11. 编写程序能够完成矩阵A 与向量B 相乘,结果存放在向量C 中。 已知:矩阵142321598765A ????=?????? ,向量[]T 2457B =。 提示:对于[][]11 121314T T 21 22232412341233132 3334a a a a a a a a b b b b c c c a a a a ?????=?????? 计算公式为:41, 1,2,3i ij j j C a b i ===∑;汇编语言程序采用双循环结构。 12. 假设在内存BUF 为首地址的数据区中,有50个字节的无符号数,编一程序能够找出数据块中的最大者,并把它送至MAX 单元中。 13. 编写程序,给一串字符加上奇校验位,采用堆栈传递参数。 14. 编写程序,分别将M1、M2、M3中两个压缩型BCD 码求和,并将结果保存。 15. 编写程序,求ARRAY 开始的100个带符号字节数据的绝对值,结果放在Result 开始的100个字节中。

微机原理及应用试题

扬州大学试题纸Array ( 2009-2010学年第1学期) 广陵学院07 班(年)级课程微机原理及应用 (A)卷 1. 以程序存储和程序控制为基础的计算机结构提出者是(B ) A.布尔 B.冯﹒诺依曼 C.图灵 D.帕斯卡尔 2.十进制数95转换成二进制数是(D ) A. 10010101 B. 01100101 C. 0100110 D. 01011111 3.大写字母C的ASCII码是(C ) A. 11001100B B. 00001100B C. 01000011B D. 01000111B 4.在微机中,主机和高速硬盘进行数据交换,一般采用的方式是( D) A. 程序直接控制方式 B. 程序中断控制方式 C. 无条件传送方式 D. DMA方式 5.将寄存器AX的内容求反的正确指令是( C ) A. NEG AX B. CMP AX,0FFFFH C. NOT AX D. CMP AX,AX 6. 指令MOV ARRAY[DI],DX 源操作数的寻址方式是(B ) A.变址寻址 B.寄存器寻址 C.基址寻址 D.基址变址寻址 7. 8086/8088响应不可屏蔽中断时,其中断类型号是(A ) A.由CPU自动产生 B.从外设取得 C.由指令INT给出 D.由中断控制器提供 8.8086指令队列的长度是 ( C ) A. 4个字节 B.5个字节 C.6个字节 D.8个字节 M/、WR、RD信号的状态依次9. 在最小模式下,CPU从外设读取数据操作,IO 为( A ) A. 0,1,0 B. 0,三态,0 C. 0,0,1 D. 1,1,0 10.在8086系统中,CPU被启动后,IP及四个段寄存器的初始状态是(D )

(完整word版)微机原理与应用试卷-有答案

微机原理与应用试卷 一、单项选择题(每小题 1 分共 10 分) 1.十进制33.25转换成十六进制数为( ) A. B1.4H B. 1B.19H C. 21.4H D. 33.4H 2. 若有16条地址线,那么可访问的内存地址范围为。( ) A. 0001H~FFFFH B. 0000H~FFFFH C. 00000H~FFFFFH D. 00001H~FFFFFH 3. 8086 CPU内有指示下条指令有效地址的指示器是( ) A. IP B. SP C. BP D. SI 4.下列指令中语法有错误的是( ) A. IN AX,20H B. LEA SI,[2000H] C. OUT DX,AL D. SHL AX,2 5. 8088CPU内部的数据总线有多少条( ) A. 8条 B. 16条 C. 20条 D. 32条 6. 若(AL)=0FH,(BL)=04H,则执行CMP AL,BL后,AL和BL的内容为( ) A. 0FH和04H B. 0BH和04H C. 0FH和0BH D. 04H和0FH 7. 指令MOV AX,[BX][SI]中源操作数的寻址方式是。( ) A. 寄存器间接寻址 B. 变址寻址 C. 基址变址寻址 D. 相对寻址 8. 与MOV BX,OFFSET X等价的指令是( ) A. MOV BX,X B. LDS BX,X C. LES BX,X D. LEA BX,X 9. 不能实现将AX清零和CF清零的指令是() A. SUB AX,AX B. MOV AX,0 C. XOR AX,AX D. AND AX,0 10.可编程计数/定时器8253的工作方式有几种() A. 3 B. 4 C. 5 D. 6 二、填空题(每空2分,共20分) 1. 计算机通常___________和___________是核心部件,合称为中央处理单元CPU。 2. 8086CPU通过数据总线对__________进行一次访问所需要的时间为一个总线周期,一个总线周期至少包括__________时钟周期。 3. 组成16M*8位的存储器,需要1M*4位的存储芯片___________片。 4. 微机中一般采用__________芯片作为串行通信接口。 5.在8086CPU系统中,设某中断源的中断类型码为08H,中断矢量为0100H:1000H,则相应的中断矢量存储地址为__________;从该地址开始,连续的4个存储单元存放的内容依次为__________。

微机原理及应用习题2套(含答案)

一.填空题 01.________由中央处理器、存储器、输入/输出接口和总线组成。 02.微机系统中,有四级(或四层)总线,分别是片内总线、片总线、内总线和________。 03.与十进制数2006等值的十六进制数是________,与十六进制数AC04H等值的十进制数是________。 04.设[X]补=10101010B,则用8位二进制数表示的[ X 8 1 ]补的值是________B;若[X]补=00110101B,则[-2X]补=________B。 05.字符串‘Win98’的ASCII代码是________。 06.8086/8088的地址空间最多可分为________个逻辑段。 07.一个数据的有效地址EA = 1234H,且DS =5678H,则该数据在内存中的物理地址是________,该数据段的首末单元的物理地址是________。 08.若当前堆栈指针SP指向2006H单元,则向堆栈中压入5个字的内容后,SP应指向________。 09.若8086/8088 CPU引脚状态是M/IO=1,RD=1,WR=0,则此时执行的操作是________。 10.一台8微机的地址总线为16条,其RAM存储器容量为16KB,首地址为2000H,且地址是连续的,则可用的最高地址是________。 11.某中断类型号是20H,则中断向量地址是________。 12.某微机中断级联系统中,共采用3片8259A可编程中断控制器,则该系统最多可管理________级中断源。13.某微机系统采用一块8253芯片,时钟频率为1MHz。若要求通道0工作于方式3,输出的方波周期为0.5ms,则时间常数应设定为________,通道控制字应设定为________。 14.一个串行字符由一个起始位,7个数据位,一个奇偶效验位和一个停止位构成,若每秒传送240个字符,则数据传送的波特率是________,传送每位信息所占用的时间是________。 15.异步串行通信工作方式下,一个串行字符由一个起始位,7个数据位1101110,一个奇效验位和一个停止位构成,则先后发送该帧字符信息的数据位是________。 二.简答题

微机原理及应用陈继红徐晨课后习题答案

微机原理及应用(陈继红、徐晨)课后习题答案 第三章 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;二进制数;

微机原理及应用习题答案

《微机原理及应用》习题答案 教材:《80X86/Pentium 微型计算机原理及应用》答案第一章 计算机基础 1-3 (1)01101110 真值=110 (2)10001101 真值=-13 1-4 (1)+010111 [+010111]原=[+010111]反=[+010111]补=00010111 (2) +101011 [+101011]原=[+101011]反=[+101011]补=00101011 (3) - 101000 [-101000]原=10101000 [-101000]反= 11010111 [-101000]补=11011000 (4) -111111 [-111111]原=10111111 [-111111]反= 11000000 [-111111]补=11000001 1- 6 (1) [x1+y1] 补=[x1]补+ [y1]补 =00010100+00100001=00110101 (2) [x2-y2]补=[x2]补+ [-y2]补 =11101100+00100001=00001101 1- 7 (1) 85+60 解:[-85] 补=10101011 [60] 补=00111100 [-85] 补+[60] 补=10101011+00111100=11100111 (11100111)补=10011001 真值=—25 CS= 0, CP=0, CS? CP= 0 无溢出 (4)-85-60 [-85] 补=10101011 [-60] 补=11000100 [-85] 补+[-60] 补=10101011+11000100=101101111 CS=1, CP=0 CS? CP=1 有溢出1- 8 (1) [x] 补+ [y] 补=01001010+01100001=10101011 CS=0, CP=1 CS? CP=1 有溢出⑵[X] 补-[y]补=[x]补+ [-y]补 =01001010- 01100001=01001010+10101010 =100010110 CS=1, CP=1 CS? CP=0 无溢出1- 9 (1) (127)10=(000100100111)BCD (2) (74)H=(116)10=(000100010110)BCD (1) 41H 代表 A (2) 72H 代表r (3) 65H 代表e (4) 20H 代表SP 1-14 (1) 69.57 (69.57)10=(1000101.100)B=0.1000101100 X 27 =0.1000101100 X 2+111 浮点规格数为011101000101 (2) -38.405 (-38.405)10=(-100110.011)B -100110.011= -0.100110011 x 26 = - 0.100110011 x 2110 浮点规格数为011011001100 (3) - 0.3125 (-0.3125)10=(-0.0101)2=(-0.101)2 x 2-001 浮点规格数为111111010000 1. +0.00834 2. (+0.00834)10=(0.000000100010001)2=(0.100010 001)2 x 2-110 3. 浮点规格数为101001000100 4. 1-15 5. (1) (69.57)10=(1000101.10010001111010111)2 6. =(1.00010110010001111010111)2 x 2110 7. p=6+127=133=(10000101)2 8. 单精度浮点数为 01000010100010110010001111010111 9. ( 2) (-38.405)10=(-100110.011001111010111000)2 10. = - (1.00110011001111010111000)2 x 2101 11. p=5+127=132=(10000100)2 12. 单精度浮点数为 11000010000110011001111010111000 13. (3) (-0.3125)10=(-0.0101)2=(-1.01)2 x 2-10 14. p=-2+127=125=(1111101)2 15. 单精度浮点数为 10111110101000000000000000000000 第二章80X86/Pentium 微处理器 2- 3 IO/M DT/R DEN RD WR 读存储器0 0 0 0 1 写存储器0 1 0 1 0 2- 17 PA=CS x 16+IP IP 的范围为OOOOH?FFFFH而CS 为 A000H 因此PA的范围即现行代码段可寻址的存储空间范围为 1-10

单片微机原理及应用课后习题答案

第一章单片机基础 1-1单片机的发展分为几个阶段?答:单片机的发展到目前为止大致分为5个阶段:第一阶段:单片机发展的初级阶段。 第二阶段:低性能单片机阶段。 第三阶段:高性能单片机阶段。 第四阶段:16位单片机阶段。 第五阶段:单片机在集成度、功能、速度、可靠性、应用领域等方面向更高水平发展。1-2说明单片机的主要应用领域?答:由于单片机具有体积小、重量轻、价格便宜、功耗低、易扩展、可靠性高、控制功能强及运算速度快等特点,在国民经济建设、军工产品及家用电器等各个领域均得到广泛应用。主要有:①工业自动化;②智能仪表;③消费类电子产品;④通信方面;⑤军工产品;⑥终端及外部设备控制;⑦多机分布式系统。 1-3MCS-51系列单片机片内包含哪些功能部件?各功能部件的功能是什么?答:MCS-51系列单片机的内部结构:1.中央处理器CPU。其主要完成单片机的运算和控制功能,MCS-51系列单片机的CPU不仅可以处理字节数据,还可以进行位变量的处理。2.片内数据存储器RAM。RAM用于存储单片机运行中的工作变量、中间结果和最终结果等。3.片内程序存储器ROM/EPROM。程序存储器既可以存放已编制的程序,也可以存放一些原始数据和表格。4.特殊功能寄存器SFR。SFR用以控制和管理内部算术逻辑部件、并行I/O口、定时/计数器、中断系统等功能模块的工作。5.并行口。一共有4个8位的并行I/O口:P0、P1、P2、P3。P0是一个三态双向口,可作为地址/数据分时复用口,也可作为通用I/O口。P1只能作为通用I/O口。P2可以作为通用I/O口,也可作为在单片机扩展外部设备时,高8位地址总线使用。P3除了作为通用准双向I/O接口外,各引脚还具有第二功能。6.串行口。有一个全双工的串行口,可以实现单片机与外设之间数据的逐位传送。7.定时/计数器。可以设置为定时方式或计数方式。 1-4MCS-51系列单片机引脚中有多少I/O线?它们和单片机对外的地址总线和数据总线有什么关系?地址总线和数据总线各是多少位?说明准双向口的含义?答:MCS-51一共有32个I/O引脚。P0口有8位数据总线和地址总线的低8位,P2口有地址总线的高8位,因此单片机的地址总线位是16位,寻址空间为64KB,数据总线位宽为8位。同时在P3口还R/W控制信号线。“准双向口”即不是真的双向口的意思。双向口与准双向口的区别为双向口有高阻态,输入为真正的外部信号,准双向口内部有上拉,故高电平为内部给出不是真正的外部信号!软件做处理时都要先向口写“1”!P0是双向口,P1、P2、P3均为准双向口。 1-5MCS-51系列单片机的EA引脚的作用是什么?该引脚分别接高电平和低电平时各有何种功能?答:EA为访问外部程序存储器控制信号,低电平有效。当EA端保持高电平时,单片机访问片内程序存储器;当EA保持低电平时无论片内有无程序存储器,均只访问外部程序存储器。 1-6MCS-51系列单片机的RST引脚的作用是什么?说明单片机上电复位的工作过程?答:RST是复位信号输入端,高电平有效。当单片机运行时,再该引脚出现持续时间大于两个机器周期的高电平,就可完成复位操作。上电复位利用电容两端电压不能突变的原理,在上电瞬间RST引脚与VCC引脚电压相等,随着电容充电两端电压逐渐上升,RST引脚逐渐下降。在充电过程中能够提供足够的高电平,使单片机能够可靠的复位。 1-7MCS-51系列单片机存储器从物理结构、寻址空间分布及功能上如何分类?寻址范围为多少?答:51单片机存储器从物理结构上可分为:片内、片外程序存储器与片内、片外数据存储器4个部分。从寻址空间分布和功能上分为128字节的片内RAM区、128字节的特殊功能寄存器区、64KB的外部RAM区、64KB的外部ROM区、4KB的片内f

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