当前位置:文档之家› 微机原理课后答案

微机原理课后答案

微机原理课后答案
微机原理课后答案

第三章习题讲评

3.1 已知DS=091DH,SS=1E4AH,AX=1234H,BX=0024H,CX=5678H,BP=0024H

SI=0012H,DI=0032H,(09226H)=00F6H,(09228H)=1E40H,(1E4F6H)=091DH。

在以上给出的环境下,试问下列指令或指令段执行后的结果如何?

(1)MOV CL,[BX+20H][SI]

解:EA= BX+20H+SI=56H

PA=DS*16+EA=91D0H+56H=9226H

CL=(09226H)=F6H

(2)MOV[BP][DI],CX

解:EA= BP+DI=56H

PA=SS*16+EA=1E4F6H

(1E4F6H)= 5678H

(3)LEA BX,[BX+20H][SI]

MOV AX,[BX+2]

解:BX= BX+20H+ SI=0056H

EA= BX+2=58H

PA=DS*16+EA=91D0H+58H=9228H

AX=(09228H)=1E40H

(4) LDS SI,[BX][DI]

MOV[SI],BX

解:EA= BX+DI=56H, PA=DS*16+EA=91D0H+56H =9226H

SI=(09226H)=00F6H, DS=(09228H)=1E40H

EA= SI=00F6H, PA=DS*16+EA=1E400H+00F6H=1E4F6H

(1E4F6H)= BX=0024H

(5) XCHG CX,[BX+32H]

XCHG[BX+20H][SI],AX

解:EA= BX+32H=56H, PA=DS*16+EA=91D0H+56H =9226H (09226H)= CX=5678H , CX=(09226H)=00F6H

EA= BX+20H+SI=56H,PA=DS*16+EA=91D0H+56H =9226H

AX=(09226H)=5678H ,(09226H) = AX=1234H

3.2设DS=1000H,SS=2000H,AX=1A2BH,BX=1200H,CX=339AH,BP=1200H,SP=1350H,SI=1354H,(11350H)=0A5H,(11351H)=3CH,(11352H)=0FFH,(11353H)=26H,(11354H)=52H,(11355H)=OE7H,(126A4H)=9DH,(126A5H)=16H,(21350H)=88H,

(21351H)=51H

下列各指令都在此环境下执行,在下列各小题的空格中填入相应各指令的执行结果。

(1)MOV AX,1352H AX=

解:AX=1352H

(2)MOV AX,[1352H] ;AX=

解:PA=DS*16+EA=10000H+1352H=11352H

(11352H)=0FFH,(11353H)=26H

AX=26FFH

(3)MOV 0150H[BX],CH

(11350H)= (11351H)=

解:EA=BX+0150H=1350H

PA=DS*16+EA=10000H+1350H=11350H, CH=33H (11350H)=33H, (11351H)的值不变,(11351H)=3CH

(4) MOV AX,0150H[BP]

AX=____

解:EA= BP+0150H=1350H

PA=SS*16+EA=20000H+1350H=21350H

AX=5188H

(5)POP AX ;AX=____,SP=____

解:EA= SP=1350H

PA=SS*16+EA=20000H+1350H=21350H

AX=5188H, SP=1350H+2H=1352H

(6)ADD[SI],CX

(11354H)=____,(11355H)=____,SF=____

ZF=____,PF=____,CF=____,OF=____

解:EA=SI=1354H, PA=DS*16+EA=10000H+1354H=11354H

CX=339AH, (11354H)=52H,(11355H)=OE7H

0E752H+339AH=11AECH->(11355H): (11354H)

(11354H) =0ECH, (11355H)= 1AH

(11354H) =0ECH, (11355H)= 1AH

CF=1,ZF=0,

PF(低八位奇偶校验):0ECH= 11101100B?PF=0

SF(最高位状态),1H=0001B?SF=0

OF(溢出标志)

0E752H=1110011101010010B

339AH=11001110011010B

1110011101010010

+ 11001110011010

10001101011101100

(7)SUB BH,0150H[BX][SI]

BH=____,SF=____,ZF=____,PF=____,CF=____,0F=____

解:EA=0150H+BX+SI=26A4H;PA=DS*16+EA=10000H+26A4H=126A4H;(126A4H)=9DH,BH=12H

BH=75H, SF=0,ZF=0,PF=0, CF=1 ,OF=0

(8)INC BYTE PTR 0152H[BX]

(11352H)=____,(11353H)=____,CF=____

解:EA=0152H+ BX= 1352H,PA=DS*16+EA=11352,

(11352H)=0FFH,

(11352H)=00H, (11353H)= 26H, 不影响CF

(9)INC WORD PTR 0152H[BX]

(11352H)=____,(11353H)=____,CF=____

解:EA=0152H+ BX= 1352H, PA=DS*16+EA=11532,

(11352H)=0FFH, (11353H)= 26H

(11352H)=00H, (11353H)= 27H, 不影响CF

(10)SAR BYTE PTR 0150H[BX],1

(11350H) =____,CF=____,OF=____

解:EA=BX+0150H=1350H

PA=DS*16+EA=11350H,

(11350H)=0A5H= 10100101B

11010010B=0D2H, CF=1,OF=0

(当移位数为1是,最高位不变则OF=0)

(11)SAL BYTE PTR 0150H[BX],1

(11350H)=____,CF=____,OF=____

解:EA=BX+0150H=1350H,PA=DS*16+EA=11350,

(11350H)=0A5H= 10100101B

01001010B=4AH, CF=1,OF=1

3、3 设下列各转移指令的第一字节在内存中的地址为CS=2000H和IP=016EH,且环境均为DS=6000H,BX=16C0H,(616C0H)=46H,(616C1H)=01H,(616C2H)=00H,(616C3H)=30H,(61732H)=70H,(61733H)=17H。写出下列各无条件转移指令执行后CS和IP值。个指令左首的16进制编码是该指令的机器码。指令中的目的地址用相应的标号表示。

(1)EBE7 JMP SHOURT AGAIN

(2)E90016 JMP NEARPTR OTHER

(3)E3 JMP BX

(4)EA46010010 JMP FAR PROB

(5)FF67 JMP WORD PTR 0072H[BX]

(6)FFEB JMP DWORD PTR [BX]

解:

(1)E7补码为-19,IP目标=IP源+2+EA(即-19)

=016EH+2-19=0157H

因为段内寻址,所以cs=2000H不变

(2)IP目标=IP源+3 +EA=016EH+3+1600H=1771H

因为段内寻址所以cs=2000H不变

(3)IP=16C0H, 因为段内寻址所以cs=2000H不变

(4)段间寻址,有机器码可看出IP=0146H CS=3000H

(5)段内寻址,所以CS=2000H不变

DS*16+0072H+BX=61732H

(61732H)=70H,(61733H)=17H

IP=1770H

(6)PA=DS*16+BX=60000H+16C0H=616C0H

(616C0H)=46H (616C1H)=01H IP=0146H

(616C2H)=00H (616C3H)=30H CS=3000H 3.4 阅读下列各小题的指令序列,在后面空格中填入该指令序列的执行结果。

(1) MOV BL,85H

MOV AL,17H

ADD AL,BL

DAA

AL=____,BL=____,CF=____

解:17H+85H=9CH?AL

DAA 压缩的BCD码加法十进制调整指令。

(AL的低4位>9或AF=1,AL?AL+06H,AF?1;

AF是辅助进位标志用以标志D3向D4的进位

AL的高4位>9或CF=1,AL?AL+60H,CF?1;)

AL=9CH+ 06H=0A2H

AL=0A2H+60H=02H, BL=85H CF=1

(2) MOV AX,BX;NOT AX;ADD AX,BX;lNC AX AX=____,CF=____

解:lNC不影响标志位AX=0000H,CF=0

(3)MOV AX,0FF60H ;STC ;MOV DX,96

XOR DH,0FFH ;SBB AX DX

AX=____,CF=____

解:XOR 命令会使CF?0,OF?0

96=60H,AX=0000H, CF=0

(4)MOV BX,0FFFEH ;MOV CL,2;SAR BX,CL

BX=____,CF=____

解:0FFFEH=1111111111111110B

1111111111111111B,CF=0

1111 1111 1111 1111B,CF=1

3.5 阅读分析下列指令序列ADD AX,BX

JNO Ll

JNO L2

SUB AX,BX

JNC L3

JNO L4

JMP L5

(1)AX=14C6H,BX=80DCH

解:ADD AX,BX

OF=0,CF=0;L1 (2)AX=0B568H,BX=5487H 解:ADD AX,BX

OF=0,CF=1;L1 (3)AX=42C8H,BX=608DH

解:ADD AX,BX

CF=0 ,OF=1, AX=0AC55H SUB AX,BX;CF=0,OF=0;L3 (4) AX=0D023H,BX=9FDOH 解:ADD AX,BX

OF=1,CF=1,AX=6FF3H

SUB AX,BX ;CF=1,OF=1;L5 (5)AX=9FDOH,BX=0D023H 解:ADD AX,BX

OF=1,CF=1,AX=6FF3H

SUB AX,BX ;CF=1,OF=1;L5 3.6 AND AL,AL

JZ BRCHl

RCR AL,1

JZ BRCH2

RCL AL,1

INC AL

JZ BRCH3

上述程序运行后,试回答:

(1)当AL =00H时,程序转向BRCHl

(2)当AL =01H时,程序转向BRCH2

(3)当AL =0FFH时,程序转向BRCH3

3.7完成下列操作,选用什么指令:

(1)将AX的内容减去0520H,和上次运算的借位;

SBB AX,0520H

(2)将变量名TABL的段地址送AX。

MOV AX SEG TABL

3.8 D1 DB 20H DUP(?)

D2 DW D1

请写出用一条指令实现取D1的偏移地址SI中的三种方法。

(A) LEA SI,D1

(B) MOV SI,OFFSET D1

(C) MOV SI,D2

3.9 程序段1 程序段2

MOV AX , 147BH MOV AX , 99D8H MOV BX , 80DCH MOV BX , 9847H ADD AX , BX SUB AX , BX

JNO L1 JNC L3

JNC L2 JNO L4

上述两个程序段执行后,分别转移到哪里?

解:1) L1

2) L3

3.10 MOV BX , 0FFH

AND BX , 0FFFH

OR BX , 0F0FH

XOR BX , 00FFH

上述程序段运行后,BX= 0F00H,CF= 0

(注意:对于8086 的加法和减法操作,使用CF 来标识将两个操作数看成无符号数时计算是否发生了溢出,而OF 则标识将两个操作数看成有符号数时的情况。

计算CF 位时,加法操作是直接将最高位的进位赋给CF,而对于减法操作而言,转换后的补码加法有进位表示实际进行的减法没有借位(即没有溢出),因此需要将最高位进位取反以后赋给CF;对于OF 位的计算则是相同的,通过将最高位的进位和次高位的进位进行异或运算,结果赋给OF(当然也可以使用双符号位来进行计算)。当然对于减法操作而言,我们也可以简单地认为:对于CF 位,将减数与被减数都看成无符号数,如果减数>被减数,则CF=1,否则CF 为0;对于OF 位,若两个数的符号相反,而结果的符号与减数相同则OF=1,其他情况OF=0。)

3.11 CMP AX , BX

JGE NEXT

XCHG AX , BX

NEXT: CMP AX , CX

JGE DONE

XCHG AX , CX

DONE: ….

试回答:

(1)上述程序段执行后,原有AX 、BX 、CX中最大数存放在哪个寄存器中?

最大数在AX中

(2)这3个数是带符号数还是无符号数?

是带符号数

第4章汇编语言程序设计

习题解答

习题4.1

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

?ARRAYB DB 63,63H,’ABCD’,3 DUP(?),2 DUP(1,3)

?ARRAYW DW 1234H,5,’AB’,’CD’,?,2 DUP(1,3)

习题4.2

?程序中数据定义如下:

DATA1 DW ?

DATA2 DB 32 DUP(?)

DATA3 DD ?

DLENGTH EQU $-DATA1

?此时DLENGTH的值是多少?

解答:DLENGTH=2(字)+32+4(双字)=38

习题4.3

?程序中数据定义如下:

ARRAY DB ‘ABCDEF’

RESULT DB ?

TABLE DW 20 DUP(?)

?则执行指令

MOV AX,TYPE RESULT后,AX=1

MOV BX,TYPE TABLE后,BX= 2

MOV CX,LENGTH TABLE后,CX=20

MOV DX,LENGTH ARRAY后,DX=1

MOV SI ,SIZE TABLE后,SI=2×20=40

MOV DI ,SIZE ARRAY后,DI=1

习题4.4

?指令AND AX,7315H AND 0FFH中,两个AND有什么差别?这两个AND 操作分别在什么时候执行?

解答:

(1)指令AND AX,7315H AND 0FFH中的第一个AND是指令系统中的逻辑?与?指令,而第二个AND是表达式中的表示逻辑?与?关系的。

(2)指令AND AX,7315H AND 0FFH中的第一个AND是在CPU执行指令操作时才会执行。而第二个AND是在汇编时就会将7315H和0FFH 作逻辑?与?运算,得到结果0015H。然后执行第一个AND指令,完成AX的内容与0015H的逻辑?与?运算。

习题4.5

?设BX=1034H,则执行下列指令:

MOV AX,BX AND 0FFH

MOV CX,BX EQ 1234H

后,AX和CX各多少?若BX=1234H,则结果如何?

解答(1)BX AND 0FFH=0034H

(2)0034H→AX=0034H

(3)BX EQ 1234H= 0000H

(4)0000H →CX=0000H

结果:AX=0034H;CX=0000H

若BX=1234H,则结果:

AX=0034H;CX=FFFFH

习题4.6

?设已知语句为:

ORG 0024H

DATA1 DW 4,12H,$+4(0028H +04H=002CH) 则执行指令MOV AX,DATA1+4后AX的值是多少?

解答:

(1)DATA1+4=0024H+04H=0028H

(2)[0028H]=002CH →AX= 002CH

0024H 04H

0025H 00H

0026H 12H

0027H 00H

0028H 2CH Array 0029H 00H

习题4.7

?已知数据定义语句为:

BUFFER DB 16 DUP(0,2 DUP(1))

则其中字数据单元内容为0100H的单元数是多少?

解答:字数据单元内容

为0100H的单元数是16个

习题4.8

?要在以DA1为首地址的数据区中依次存放下列数据;

?‘A’,‘B’,0,0,’C’,’D’, 0,0

?请分别用DB,DW和DD语句实现。

解答:

(1)DA1 DB ‘A’,‘B’,0,0,’C’,’D’, 0,0

(2)DA1 DW ‘BA’,0,’ DC’, 0

(3)DA1 DD ‘BA’, ’DC’

习题4.9

?试按下列要求在数据段中依次书写各数据定义语句:

(1)以DA1为首字节的连续存储单元中存放20H个重复的数据序列:2,3,10个4,一个7。

(2)DA2为字符串变量,用字变量(DW)设置一字符串;‘STUDENTS’(按次顺序存放在各单元中)。

(3)用等值语句给符号COUNT赋值以DA1为首地址的数据区共占有的字节数,此等值语句必须放在最后一语句。

解答:

(1)DA1 DB 20H DUP(2,3,10 DUP(4),7)

(2)DA2 DW ‘TS’,‘DU’,‘NE’,’ST’,

(3)COUNT EQU DA2- DA1

习题4.10

?下面程序段是实现从键盘输入十个一位10进制数后累加,最后累加和以非压缩BCD码形式存放在AH(高位)和AL (低位)中。试把程序段中所空缺的指令填上。

XOR BX ,BX ;BX清零

MOV CX,10 ; 传送数据长度

LOP:MOV AH,01H;中断INT 21H的01H号调用

INT 21H ;中断调用P172, 键入值送入AL中

MOV AH,BH ;将BH的内容传AH

ADD AL,BL ;BL与AL的值相加,结果在AL中

AAA ;非压缩BCD码加法调整

MOV BX,AX ;累加结果送BX

LOOP LOP ;CX-1→CX,判断CX≠0,则转

习题4.11

?下面程序段的功能是把DA1数据区的0-9转换为对应的ASCⅡ码.

DA1 DB 00H,01H,02H,03H,04H,05H,06H,07H,08H,09H

ASCI DB 10 DUP(?)

CUNT = ASCI-DA1

LEA SI,DA1 ;送数组DA1的首地址偏移量到SI

LEA DI, ASCI ;送数组ASCI的首地址偏移量到DI MOV CX, CUNT;送数组DA1的长度

LOP1: M OV AL,[SI] ;取数

ADD AL,30H;或者OR AL,30H;加30H变成ASCⅡ码

MOV [DI],AL ;转换后存入数组ASCI

INC SI ;源数据地址加1

INC DI ;目的数据地址加1

LOOP LOP1 ;CX-1→CX,判断CX≠0,则转

习题4.12

BUFF DB ‘ABD$QC%$A….XYZ’ ;定义数组BUFF

CONT DB EQU $-BUFF ;定义长度

CLD ;方向标志DF=0串操作增量

LEA DI,BUFF ;送数组BUFF的首地址偏移量到DI

MOV CX,CONT ; 送数组BUFF的长度到CX

MOV AL,’$’ ; 送$的ASCⅡ码到AL

XOR DX,DX ;DX清零

NEXT:REPNZ SCASB ;P102,串扫描AL-[ES:DI],若CX≠0且ZF=0则重复执行

;若CX=0或ZF=1,退出重复,停止串操作

CMP CX,0 ;CX-0,CX内容与0比较

JZ K1 ;P111,等于/为零,则转移到K1

INC DX ;DX加1

JMP NEXT ;转NEXT

K1: …

上述程序运行后,DX中的值表示的意义是什么?

答:上述程序运行后, DX中的值表示的是字符串中符号’$’ 的个数

习题4.13

?设A,B是长度为10的字节数组,用串操作指令编写程序实现AB两数组内容的相互交换.试完善程序.

DATA SEGMENT

A D

B 1,2,3,4,5,6,7,8,9,0AH

ORG 0010H

B DB 0AH,9,8,7,6,5,4,3,2,1

DATA ENDS

LEA SI,A

LEA DI,B

MOV CX,10

LOP: LODSB

XCHG AL,[DI]

XCHG SI,DI

DEC DI

STOSB

XCHG SI,DI

INC DI

LOOP LOP

习题4.14

?现有一子程序:

SUB1: PROC

TEST AL,80H(1000 0000B);AL的值与80H相?与?,判断正负

JE PLUS ;如果AL的首位为0(即为正),则转移到PLUS

;如果AL为负,则顺序执行

TEST BL,80H ; 判断BL的值的正负

JNE EXITO ;如果BL的首位为1(为负),则转移到EXITO

;如果BL为正,则

顺序执行

JMP XCHANGE;转移到XCHANGE

PLUS: TEST BL,80H ;判断BL的值的正负

JE EXITO ;如果BL的首位为0(即为正),则转移到EXITO

;如果BL为负,时顺序执行

XCHANGE: XCHG AL,BL ;AL与BL交换

EXITO: RET ;返回主程序

SUB1 ENDP

试回答(1)子程序的功能是什么?

(2)如调用前AL=9AH,BL=77H,那么返回主程序时AL=?;BL=?

解答:(1)子程序的功能是判别AL和BL中的数是否为异号数,当为异号时交换,否则不变。

(2) AL中的数据的最高位为1,BL中的数据的最高位为0,即两个数为异号,所以要交换AL和BL中的内容,即AL=77H,BL=9AH。

习题4.15

?编写一程序段,将AL中的第7和第0位,第6和第1位,第5和第2位,第4和第3位互换.

MOV CX,8;

MOV AH,0;

K1: SHR AL,1;P99

RCL AH,1; P100

DEC CX;

JNZ K1;

MOV AL,AH

习题4.16

?试编写一程序段,在CHAR为首的26个单元中依次存放字母‘A’- ‘Z’.

CHAR DB 26 DUP (?)

START: LEA BX, CHAR;

MOV AL, ‘A’

MOV CX, 26

LOP1: MOV [BX] , AL

INC AL

INC BX

LOOP LOP1

HLT

习题4.17

?设在数据段中有X,Y两个变量(字节单元),试编写程序段计算(只写有关功能的指令).

X 当X≥0时

?Y=

│X│当X <0时

X DB X

Y DB Y

MOV AL,X

CMP AL,0

JGE DONE

NEG AL

DONE:MOV Y,AL

习题4.18

?编写程序段计算SUM=a

1+ a

2

+ ….+ a

20

,已知a

1-

a

20

依次存放在以BUF为首址的

数据区,每个数据占两个字节,和数SUM也为两个字节.(要求用循环结构编写,循环控制采用计数控制).此题勿需书写源程序格式,只需要把题中要求的有关指令序列书写出来.

MOV AX,0;

MOV BX,OFFSET BUF;

MOV CX,20;

LOP:ADD AX,[BX];

INC BX;

INC BX;

LOOP LOP;

MOV SUM,AX;

习题4.19

?编写一个完整的源程序,将BUF字节单元存放的两位BCD码,转换成2个字节的ASCⅡ码,并分别存放在ASC和ASC+1字节单元中.

?例如(BUF字节单元)=58H,那么(ASC字节单元)=35H, (ASC+1字节单元)=38H DATA SEGMENT

BCD DB XXH

ASC DB ?,?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA

MOV DS,AX

MOV CL,4

MOV AL,BCD ;取BCD码数

SHR AL,CL ;转换高位

ADD AL,30H

MOV ASC,AL

MOV AL,BCD

AND AL,0FH ;转换低位

ADD AL,30H

MOV ASC+1,AL

MOV AH,4CH

INT 21H

CODE ENDS

END START

习题4.20

?在A1单元开始定义了一个长度为N的字符串,找出其中所有的小写字母并存放在以A2开始的存储区中.统计出小写字母的个数,存放到SL单元中.请编写一完整的源程序.程序段如下:

DATA SEGMENT

A1 DB ‘……’

N DB EQU $-A1

A2 DB N DUP(?)

SL DB ?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA

MOV DS,AX ;给数据段段段地址赋值

MOV CX,N ;设置循环次数

LEA SI,A1 ;SI指向源字符串

LEA DI,A2 ;DI指向目的字符串

MOV DL,0 ;小写字母计数器清零

L1:MOV AL,[SI] ;当前字符同小写字母‘a’比较

CMP AL,61H

JL L2

CMP AL,7AH ;当前字符同小写字母‘z’比较

JG L2

MOV [DI],AL ;当前字符为小写字母则将其移动到A2

INC DI

INC DL 并将计数器DL加1

L2:INC SI ;SI指向源串中的下一个字符

LOOP L1

MOV SL,DL;将DL的值写入到SL中

MOV AH,4CH;返回系统

INT 21H

CODE ENDS

END START

注意:在8086汇编中,寄存器间接寻址、寄存器相对寻址、基址变址寻址和相对基址变址寻址中只能使用BX、BP、SI和DI这4个寄存器,不能使用AX、DX等其它寄存器。这一点在编写汇编程序的时候需要注意。

习题4.21

?设在DAT单元存放一个-9~+9的字节数据,在SQRTAB数据区中存放0~9的平方值,请用直接查表法编写一子程序,在SQRTAB中查找出DAT单元中数据对应的平方值送SQR单元.并写出主程序的调用方式.

数据段如下:

DATA SEGMENT

DAT DB XXH

SQRTAB DB 0, 1, 4, 9,…, 81

SQR DB ?

DATA ENDS

DATA SEGMENT

DAT DB XXH

SQRTAB DB 0,1,4,9,…,81

SQR DB ?

DATA ENDS

STACK SEGMENT PARA STACK

DW 20H DUP(?)

STACK ENDS

CODE SEGMENT

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

START:MOV AX,DATA

MOV DS,AX

CALL DTOS

MOV AH,4CH

INT 21H

DTOS PROC

PUSH AX

PUSH BX

LEA BX,SQRTAB

MOV AL,DAT

TEST AL,80H ;判断AL的正负

JE NEXT

NEG AL

NEXT: XLAT SQRTAB ;AL←(BX+AL)

MOV SQR,AL

POP BX

POP AX

RET

DTOS ENDP

CODE ENDS

END SRART

习题4.22

?编写能完成下列要求的程序:测试字节数据STATUS,若其中位1、3、5有一位是?1?,程序就转至ROUT2;若三位都是?1?,就转向ROUT3;若这三位没有一位是?1?,就转向ROUT4.

MOV BL, 0

MOV CX 3

LOP: MOV AL,STATUS

AND AL, 01H

ADD BL, AL

MOV AL,STATUS

SHR AL, 2

LOOP LOP

MOV AL, BL

CMP AL, 01H

JE ROUT2

CMP AL, 03H

JE ROUT3

CMP BL, 0H

JE ROUT4

习题4.23

?STRING字符串的最大长度为80个字符,字符串的结束用字符$表示.编写程序在该字符串中查找是否有空格字符(ASCII码为20H),若有就将第一个空格在字符串中的位置(00H~4FH)存入POST单元;若无空格则将-1存入POST.

LEA BX , STRING

MOV CX , 80

LOP : MOV AL , [BX]

CMP AL, ‘$’

JE DONE

CMP AL, 20H

JE POSITION

INC BX

LOOP LOP

DONE: MOV POST, 0FFH

HLT

POSITION: SUB BX, OFFSET STRING

MOV POST, BL

HLT

第5章内存储器及其接口习题解答

习题5.1

?用下列芯片构成存储系统,需要多少RAM芯片?需要多少位地址作为片外地址译码?设系统为20位地址线,采用全译码。

(1)512×4位RAM构成16KB的存储系统;

(2)1024×1位RAM构成128KB的存储系统;

(3)2K×4位RAM构成64KB的存储系统;

(1)64K×1位RAM构成256KB的存储系统;

解答:

芯片存储系统容量多少芯片片外译码线(20根地址)

(1)512×4位16KB 64片11根512×8位2片→1K ×8位4片→16 ×4片=64片

片内地址寻址512=29,片内地址寻址将用去9根线,片外译码线20-9= 11根

(2)1024×1位128KB 1024片10根1024×8位8片→128K位×8位8片×128=1024片

片内地址寻址1024=210,片内地址寻址将用去10根线,片外译码线20-10= 10根(3)2K×4位64KB 64片9根2K×8位2片→2K ×32=64KB, 2片×32=64片

片内地址寻址2K=211,片内地址寻址将用去11根线,片外译码线20- 11 = 9根(1)64K×1位256KB 32片4根

64K×8位8片→64K ×8位×4=256KB→8片×4=32片

片内地址寻址64K=216,片内地址寻址将用去16根线,片外译码线20-16=4

习题5.2

?现有一种存储芯片容量为512×4位,若要它组成4KB的存储容量,需要多少这样的存储芯片?每块芯片需要多少寻址线(片内寻址)?而4KB存储系统需要多少寻址线?

解答:

512×4位的芯片2片→512×8位的2组(4片)→1K×8 →4 ×4=16片

(1)需要16片512×4位可以组成4KB的存储容量

(2)512=29需要9根地址线片内寻址

(2) 4KB=212,系统需要12根寻址线

习题5.3 有一个2716(2K)EPROM芯片的译码电路,如图所示,请计算该芯片的地址范围。

解答:

地址范围:A

19…A

16

A

15

…A

12

A

11

A

10

A

9

A

8

A

7

…A

4

A

3

…A

1 1 1 1 1 1 1 1 0 0 0

0 0 0 0 0 0 0 0 0

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

A 13 A

12

A

11

范围:(A

11

=0) FF000H—FF7FFH

1 1 1 (A

11

=1) FF800H—FFFFFH

1 1 0

习题5.4

某一存储器系统如图5-2所示,回答他们的存储容量是多少?RAM和存储器EPROM地址范围各是多少?

A 19…A

16

A

15

…A

12

A

11

A

10

A

9

A

8

A

7

…A

4

A

3

…A

EPROM 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0

微机原理考试课后练习题筛选

第一章 一、选择题 7.(D)8.(B)9.(D)10.(C)11.(A) 二、填空题 l.(运算器)2.(冯·诺依曼、输出器、存储器、存储器)9.(尾数、指数) 第二章 一、选择题 1.(C)4.(B)5.(D)7.(A)8.(D)18.(B) 二、填空题 4.(TF、DF、IF) 5. (9E100H)10.(0、0、 1、1)15.(FFFFH、0000H、0000H、0000H) 三、问答题 2.完成下列补码运算,并根据结果设置标志SF、ZF、CF和OF,指出运算结果是否溢出? (1)00101101B+10011100B (2) 01011101B-10111010B (3)876AH-0F32BH (4)10000000B十 11111111B (1)00101101B +10011100B 11001001B=C9H SF=1 ZF=0 CF=0 OF=0 (2) -10111010B=01000110B 01011101B-10111010B=01011101B +01000110B 10100011B SF=1 ZF=0 CF=0 OF=1 (3)876AH-0F32BH=876AH +0CD5H 943FH SF=1 ZF=0 CF=0 OF=0 (4) 10000000B +11111111B 101111111B=7FH SF=0 ZF=0 CF=1 OF=1 习题3 一、选择题 1.D 4.B 5.A 14.D 17.C 二、填空题 7. 3400H;5000H 8. 9AH;6CH;0;1;1;1;0 17.低8位;高8位;0FFA4H 三,问答题 1、(1)源操作数是基址寻址,目的操作数是寄存器寻址(2)逻辑地址是0705H,物理地址是10705H (3)(AX)=1234H (BX)=0700H 10、(1)MOV SI,2500H MOV DI,1400H MOV CX,64H CLD REP MOVSB (2) MOV SI,2500H MOV DI,1400H MOV CX,64H CLD REPE CMPSB JNZ L1 XOR BX,BX HLT L1:DEC SI MOV BX,SI MOV AL,[SI] HLT 习题4 一、选择题 1.B 4.C 二、填空题 1..ASM;.OBJ;.EXE 6.( AX)= 1 (BX)= 2 (CX)= 20 (DX)= 40

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

第一章 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(段基址:偏移地址),求这个数据区的首字单元和末字单元的物理地址。

微机原理课后练习题-答案

1、 2、B 3、十,非压缩的BCD码 4、 5、微型计算机、微型计算机系统 6、,, 二、 B D B 三、 1、微型计算机系统的基本组成。 答案:以微型计算机为主体,配上相应的系统软件、应用软件和外部设备之后,组成微型计算机系统。 2、简述冯.诺依曼型计算机基本组成。 答案:冯.诺依曼型计算机是由运算器,控制器,存储器,输入设备和输出设备组成的。其中,运算器是对信息进行加工和运算的部件;控制器是整个计算机的控制中心,所以数值计算和信息的输入,输出都有是在控制器的统一指挥下进行的;存储器是用来存放数据和程序的部件,它由许多存储单元组成,每一个存储单元可以存放一个字节;输入设备是把人们编写好的程序和数据送入到计算机内部;输出设备是把运算结果告知用户。 3、什么是微型计算机 答案:微型计算机由CPU、存储器、输入/输出接口电路和系统总线构成。 4、什么是溢出 答案:在两个有符号数进行家减运算时,如果运算结果超出了该符号数可表示的范围,就会发生溢出,使计算出错。

1、4、100ns 2、Ready ,Tw(等待) 3、ALE 4、INTR 5、85010H 6、存储器或I/O接口未准备好 7、非屏蔽中断 8、指令周期 9、4 二、 1、在内部结构上,微处理器主要有那些功能部件组成 答案:1) 算术逻辑部件2) 累加器和通用寄存器组 3) 程序计数器4) 时序和控制部件 2、微处理器一般应具有那些基本功能 答案:1.可以进行算术和逻辑运算2.可保存少量数据 3.能对指令进行译码并完成规定的操作4.能和存储器、外部设备交换数据 5.提供整个系统所需的定时和控制6.可以响应其他部件发来的中断请求 3、什么是总线周期 答案:CPU通过外部总线对存储器或I/O端口进行一次读/写操作的过程;一个基本的总线周期包含4个T状态,分别称为T1、T2、T3、T4。 三、×、×、×、×、×、√、√

微机原理课后习题答案

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

微机原理及接口技术课后习题及参考答案

第一章课后习题 1.1 把下列十进制数转换成二进制数、八进制数、十六进制数。 ① 16.25 ② 35.75 ③ 123.875 ④ 97/128 1.2 把下列二进制数转换成十进制数。 ① 10101.01 ② 11001.0011 ③ 111.01 ④ 1010.1 1.3 把下列八进制数转换成十进制数和二进制数。 ① 756.07 ② 63.73 ③ 35.6 ④ 323.45 1.4 把下列十六进制数转换成十进制数。 ① A7.8 ② 9AD.BD ③ B7C.8D ④ 1EC 1.5 求下列带符号十进制数的8位补码。 ① +127 ② -1 ③ -0 ④ -128 1.6 求下列带符号十进制数的16位补码。 ① +355 ② -1 1.7 计算机分那几类?各有什么特点? 1.8 简述微处理器、微计算机及微计算机系统三个术语的内涵。 1.9 80X86微处理器有几代?各代的名称是什么? 1.10 你知道现在的微型机可以配备哪些外部设备? 1.11 微型机的运算速度与CPU的工作频率有关吗? 1.12 字长与计算机的什么性能有关? 习题一参考答案 1.1 ① 16.25D=10000.01B=20.2Q=10.4H ② 35.75D=100011.11B=43.6Q=23.CH ③ 123.875D=1111011.111B=173.7Q=7B.EH ④ 97/128D=64/123+32/128+1/128=0.1100001B=0.604Q=0.C2H 1.2 ① 10101.01B=21.25D ② 11001.0011B=25.1875D ③ 111.01B=7.25D ④ 1010.1B=10.5D 1.3 ① 756.07Q=111101110.000111B=494.109D ② 63.73Q=110011.111011B=51.922D ③ 35.6Q=11101.110B=29.75D ④ 323.45Q=11010011.100101B=211.578D 1.4 ① A7.8H=167.5D ② 9AD.BDH=2477.738D ③ B7C.8D=2940.551D ④ 1ECH=492D 1.5 ① [+127] 补=01111111 ② [-1] 补 = 11111111 ③ [-0] 补=00000000 ④[-128] 补 =10000000 1.6 ① [+355] 补= 0000000101100011 ② [-1] 补 = 1111 1111 1111 1111 1.7 答:传统上分为三类:大型主机、小型机、微型机。大型主机一般为高性能的并行处理系统,存储容量大,事物处理能力强,可为众多用户提供服务。小型机具有一定的数据处理能力,提供一定用户规模的信息服务,作为部门的信息服务中心。微型机一般指在办公室或家庭的桌面或可移动的计算系统,体积小、价格低、具有工业化标准体系结构,兼容性好。 1.8 答:微处理器是微计算机系统的核心硬件部件,对系统的性能起决定性的影

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

第一章 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章微型计算机系统 〔习题〕简答题 (2)总线信号分成哪三组信号 (3)PC机主存采用DRAM组成还是SRAM组成 (5)ROM-BIOS是什么 (6)中断是什么 (9)处理器的“取指-译码-执行周期”是指什么 〔解答〕 ②总线信号分成三组,分别是数据总线、地址总线和控制总线。 ③ PC机主存采用DRAM组成。 ⑤ ROM-BIOS是“基本输入输出系统”,操作系统通过对BIOS 的调用驱动各硬件设备,用户也可以在应用程序中调用BIOS中的许多功能。 ⑥中断是CPU正常执行程序的流程被某种原因打断、并暂时停止,转向执行事先安排好的一段处理程序,待该处理程序结束后仍

返回被中断的指令继续执行的过程。 ⑨指令的处理过程。处理器的“取指—译码—执行周期”是指处理器从主存储器读取指令(简称取指),翻译指令代码的功能(简称译码),然后执行指令所规定的操作(简称执行)的过程。 〔习题〕填空题 (2)Intel 8086支持___________容量主存空间,80486支持___________容量主存空间。 (3)二进制16位共有___________个编码组合,如果一位对应处理器一个地址信号,16位地址信号共能寻址___________容量主存空间。 (9)最初由公司采用Intel 8088处理器和()操作系统推出PC机。 ② 1MB,4GB ③ 216,64KB (9)IBM,DOS 〔习题〕说明微型计算机系统的硬件组成及各部分作用。 〔解答〕

CPU:CPU也称处理器,是微机的核心。它采用大规模集成电路芯片,芯片内集成了控制器、运算器和若干高速存储单元(即寄存器)。处理器及其支持电路构成了微机系统的控制中心,对系统的各个部件进行统一的协调和控制。 存储器:存储器是存放程序和数据的部件。 外部设备:外部设备是指可与微机进行交互的输入(Input)设备和输出(Output)设备,也称I/O设备。I/O设备通过I/O接口与主机连接。 总线:互连各个部件的共用通道,主要含数据总线、地址总线和控制总线信号。 〔习题〕区别如下概念:助记符、汇编语言、汇编语言程序和汇编程序。 〔解答〕 助记符:人们采用便于记忆、并能描述指令功能的符号来表示机器指令操作码,该符号称为指令助记符。 汇编语言:用助记符表示的指令以及使用它们编写程序的规则就形成汇编语言。 汇编语言程序:用汇编语言书写的程序就是汇编语言程序,或称汇编语言源程序。

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

6、[+42]原=00101010B=[+42]反=[+42]补 [-42]原=B [-42]反=B [-42]补=B [+85]原=01010101B=[+85]反=[+85]补 [-85]原=B [-85]反=B [-85]补=B 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.2 课后练习题 一、填空题 1.将二进制数1011011.1转换为十六进制数为__5B.8H_____。 2.将十进制数199转换为二进制数为____ 11000111____B。 3.BCD码表示的数,加减时逢__10____进一,ASCII码用来表示数值时,是一种非压缩的BCD 码。 4.十进制数36.875转换成二进制是___100100.111____________。 5.以_微型计算机____为主体,配上系统软件和外设之后,就构成了__微型计算机系统____。6.十进制数98.45转换成二进制为__1100010.0111_B、八进制__142.3463________Q、十六进制__62.7333________H。(精确到小数点后4位) 二、选择题 1.堆栈的工作方式是__B_________。 A)先进先出B)后进先出C)随机读写D)只能读出不能写入 2.八位定点补码整数的范围是____D_________。 A)-128-+128 B)-127-+127 C)-127-+128 D)-128-+127 3.字长为16位的数可表示有符号数的范围是___B___。 A)-32767-+32768 B)-32768-+32767 C)0-65535 D)-32768-+32768 三、简答题 1.微型计算机系统的基本组成? 微型计算机,系统软件,应用软件,输入输出设备 2.简述冯.诺依曼型计算机基本思想? ●将计算过程描述为由许多条指令按一定顺序组成的程序,并放入存储器保存 ●指令按其在存储器中存放的顺序执行; ●由控制器控制整个程序和数据的存取以及程序的执行; ●以运算器为核心,所有的执行都经过运算器。 3.什么是微型计算机? 微型计算机由CPU、存储器、输入/输出接口电路和系统总线构成。 4.什么是溢出? 运算结果超出了计算机所能表示的范围。 2.2 一、填空题 1. 8086/8088的基本总线周期由___4____个时钟周期组成,若CPU主频为10MHz,则一个时钟周期的时间为___0.1μs_____。 2. 在8086CPU的时序中,为满足慢速外围芯片的需要,CPU采样___READY_________信号,若未准备好,插入___TW__________时钟周期。 3. 8086系统总线形成时,须要用_____ALE__________信号锁定地址信号。 4. 对于8086微处理器,可屏蔽中断请求输入信号加在_____INTR__________引脚。

微机原理(第三版)课后练习答案

1 思考与练习题 一、选择题 1.计算机硬件中最核心的部件是( )。C A.运算器 B.主存储器 C.CPU D.输入/输出设备 2.微机的性能主要取决于( )。 A (B——计算机数据处理能力的一个重要指标) A.CPU B.主存储器 C.硬盘 D.显示器 3.计算机中带符号数的表示通常采用( )。C A.原码 B.反码 C.补码 D.BCD码 4.采用补码表示的8位二进制数真值范围是( )。C A.-127~+127 B.-1 27~+128 C.-128~+127 D.-128~+128 5.大写字母“B”的ASCII码是( )。B A.41H B.42H C.61H D.62H 6.某数在计算机中用压缩BCD码表示为10010011,其真值为( )。C A.10010011B B.93H C.93 D.147 二、填空题 1.微处理器是指_CPU_;微型计算机以_CPU_为核心,配置_内存和I/O接口_构成;其特点是_(1)功能强 (2)可靠性高 (3)价格低 (4)适应性强 (5)体积小 (6)维护方便_。P8 P5 2.主存容量是指_RAM和ROM总和_;它是衡量微型计算机_计算机数据处理_能力的一个重要指标;构成主存的器件通常采用_DRAM和PROM半导体器件_。P5 P9 3.系统总线是_CPU与其他部件之间传送数据、地址和控制信息_的公共通道;根据传送内容的不同可分成_数据、地址、控制_3种总线。P9 4.计算机中的数据可分为_数值型和非数值型_两类,前者的作用是_表示数值大小,进行算术运算等处理操作_;后者的作用是_表示字符编码,在计算机中描述某种特定的信息_。P12 5.机器数是指_数及其符号在机器中加以表示的数值化_;机器数的表示应考虑_机器数的范围、机器数的符号、机器数中小数点位置_3个因素。P15 P16 6.ASCII码可以表示_128_种字符,其中起控制作用的称为_功能码_;供书写程序和描述命令使用的称为_信息码_。P18 P19 三、判断题 1.计算机中带符号数采用补码表示的目的是为了简化机器数的运算。( )√ 2.计算机中数据的表示范围不受计算机字长的限制。( )× 3.计算机地址总线的宽度决定了内存容量的大小。( )√ 4.计算机键盘输入的各类符号在计算机内部均表示为ASCII码。( )× (键盘与计算机通信采用ASCII码) 2 思考与练习题 一、选择题 1.在EU中起数据加工与处理作用的功能部件是( )。A A.ALU B.数据暂存器 C.数据寄存器 D.EU控制电路 2.以下不属于BIU中的功能部件是( )。 B A.地址加法器 B.地址寄存器 C.段寄存器 D.指令队列缓冲器

微机原理(王忠民版课后答案)

部分习题答案 第二章计算机中的数值和编码 1、将十进制数转换为二进制和十六进制 (1) =1000 =(2) =1101 = (3) ==(4) =10 1B=H 2、将下列二进制数转换为十进制和十六进制 (1) 111010 B=58 =3A H(2) 1011 = =H (3) 1B= = (4) B= = 3、完成下列二进制数的加减法运算 (1) +=(2) -= (3) 00111101+=(4) -= 4、完成下列十六进制数的加减法运算 (1) 745CH+56DFH=D14B H(2) -=H (3) +=1678 .FC H(4) 6F01H-EFD8H=7F29 H 5、计算下列表达式的值 (1) +.1011B+= (2) -.11H+= (3) ++-= 6、选取字长n为8位和16位两种情况,求下列十进制数的补码。 (1) X=-33的补码:1101 1111, 111 (2) Y=+33的补码:0010 0001, 0000 0000 0010 0001 (3) Z=-128的补码:1000 0000,1111 1111 1000 0000 (4) N=+127的补码:0111 1111, 0000 0000 0111 1111 (5) A=-65的补码:1011 1111, 1111 1111 1011 1111 (6) B=+65的补码:0100 0001,0000 0000 0100 0001 (7) C=-96的补码:1010 0000,1111 1111 1010 0000 (8) D=+96的补码:0110 0000, 0000 0000 0110 0000 7、写出下列用补码表示的二进制数的真值 (1) [X]补=1000 0000 0000 0000 H X=-1000 0000 0000 0000 H=-32768 (2) [Y]补=0000 0001 0000 0001 H Y=+0000 0001 0000 0001 H=+257 (3) [Z]补=1111 1110 1010 0101 H Z=-0000 0001 0101 1011 H=-347 (4) [A]补=0000 0010 0101 0111 H A=+0000 0010 0101 0111 H=+599 8、设机器字长为8位,最高位为符号位,试对下列格式进行二进制补码运算,并判断结果是否溢出。 (1) 43+8 ∵[43]补=00101011B,[8]补=00001000B ∴[43]补+[8]补=00101011B+00001000B=00110011B=33H 00101011B +00001000B

微机原理课后习题解答

微机原理习题 第一章绪论 习题与答案 1、把下列二进制数转换成十进制数、十六进制数及BCD码形式。 (1) 10110010B= (2) 01011101、101B = 解: (1) 10110010B = 178D =B2H=(00010111 1000)BCD (2) 01011101、101B =93、625D=5D.AH =(1001 0011、0110 0010 0101)BCD 2. 把下列十进制数转换成二进制数。 (1) 100D= (2) 1000D= (3) 67、21D= 解: (1) 100D = 01100100B (2) 1000D=1111101000B (3) 67、21D=1000011、0011B 3. 把下列十六进制数转换成十进制数、二进制数。 (1) 2B5H = (2) 4CD、A5H= 解: (1) 2B5H = 693D = 00101011 0101B (2) 4CD、A5H=1229.6445D=0100 11001101.10100101B 4、计算下列各式。 (1) A7H+B8H = (2) E4H-A6H = 解: (1) A7H+B8H = 15FH (2) E4H-A6H =3EH 5、写出下列十进制数的原码、反码与补码。 (1)+89 (2)-37

解: (1) [+89 ] 原码、反码与补码为: 01011001B (2) [-37] 原码= 10100101 B [-37] 反码= 11011010 B [-37] 补码=11011011 B 6.求下列用二进制补码表示的十进制数 (1)(01001101)补= (2)(10110101)补= 解: (1)(01001101)补= 77D (2)(10110101)补=-75D 7.请用8位二进制数写出下列字符带奇校验的ASCII码。 (1)C: 1000011(2)O: 1001111 (3)M: 1001101 (4)P: 1010000 解: (1)C:0 1000011 (2)O: 01001111 (3)M:11001101 (4)P: 1 1010000 8、请用8位二进制数写出下列字符带偶校验的ASCII码。 (1)+:0101011 (2)=: 0111101 (3)#:0100011(4)>: 0111110 解: (1)+:00101011 (2)=: 10111101 (3)#:10100011 (4)>: 1 0111110 9、叙述CPU 中PC的作用。 解:PC就是CPU中的程序计数器,其作用就是提供要执行指令的地址。

微机原理王忠民版课后答案

部分习题答案 (3) 0.1101 1B= 0.84375 = 0.D8H (4) 11110.01 B= 30.25 =1E.4H 3、完成下列二进制数的加减法运算 (1) 1001.11 + 100.01 = 1110.0001110101.0110 (4) 01011101.0110 — 101101.1011 = 101111.1011 4、 完成下列十六进制数的加减法运算 (1) 745CH + 56DFH= D14B H (2) ABF.8H — EF6.AH = 9C28.E H (3) 12AB.F7 + 3CD.05= 1678 .FC H (4) 6F01H — EFD8H= 7F29 H 5、 计算下列表达式的值 103.CEH (3) 18.9 + 1010.1101B + 12.6H — 1011.1001 = 36.525 6、选取字长n 为8位和16位两种情况,求下列十进制数的补码。 (1) X=— 33的补码: ⑵ Y=+ 33的补码: 0010 0001 , 0000 0000 0010 0001 ⑶ Z=— 128 的补码:1000 0000 , 1111 1111 1000 0000 ⑷ N=+ 127的补码: 0111 1111 , 0000 0000 0111 1111 A=— 65的补码: 1011 1111 , 1111 1111 1011 1111 ⑹ B=+ 65的补码: 0100 0001 , 0000 0000 0100 0001 ⑺ C=— 96的补码: 1010 0000 , 1111 1111 1010 0000 (8) D=+ 96的补码: 0110 0000 , 0000 0000 0110 0000 7、写出下列用补码表示的二进制数的真值 (1) [X 补=1000 0000 0000 0000 H X = — 1000 0000 0000 0000 H =— 32768 (2) [Y 补=0000 0001 0000 0001 H Y = + 0000 0001 0000 0001 H = + 257 (3) [Z 补=1111 1110 1010 0101 H Z= — 0000 0001 0101 1011 H =—347 (4) [A 补=0000 0010 0101 0111 H A= + 0000 0010 0101 0111 H =+ 599 8、设机器字长为8位,最高位为符号位,试对下列格式进行二进制补码运算,并判断结果是否溢出。 (1) 43 + 8 [43]补=00101011B , [8]补=00001000B [43]补+ [8]补=00101011B + 00001000B = 00110011B = 33H 00101011B + 00001000B 00110011B T C s = 0, C D = 0, OF= C S ? C D = 0 ? 0= 0 ??? 无溢出 (1) 43 + 8 33H (无溢出) 第二章 1、 将十进制数转换为二进制和十六进制 (1) 129.75 = 1000 0001.11B = 81.CH (3) 15.625 = 1111.101B = F.AH 2、 将下列二进制数转换为十进制和十六进制 (1) 111010 B= 58 =3A H 计算机中的数值和编码 (2) 218.8125 = 1101 1010.1101B = DA.DH ⑷ 47.15625 = 10 1111.0010 1B = 2F.28 H (2) 1011 1100.111B= 188.875 = BC.E H (2) — 52 + 7 D3 H (无溢出)

微机原理习题解答

第一章微型计算机的基础知识 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.6)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

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