微型计算机原理复习(第六版)姚向华编著

情郎 情郎     2022-11-17     240

关键词:

微型计算机原理复习(第六版)姚向华编著(转载请注明出处) 

第一章P37

05.   设机器字长为8位,最高位为符号位,试对下列各算式进行二进制补码运算:

       (2)8 + 18 = ?[8]补=[8]原 [18]补=[18]原

       (4)-25 + 6 = ?[-25]补=[[-25]补]补 [6]补=[6]原

       (6)9 - (-7)= ?[9]补=[9]原 [-7]补=[[-7]补]补

       (8)-25 – 6 = ?[-25]补=[[-25]补]补 [6]补=[6]原

解:

2)0000 1000 + 0001 0010 = 0001 1010 符号位为0,结果为正

4)[25]原=0001 1001 [-25]补=1110 0111

1110 0111 + 0000 0110 = 1110 1101 符号位为1,结果为负

对结果再次求补,得 0001 0011 即结果为-19

6)即为9 + 7

0000 1001 + 0000 0111 = 0001 0000 符号位为0,结果为正

8)[25]原=0001 1001 [-25]补=1110 0111

[6]原=0000 0110  [-6]补=1111 1010

1110 0111 + 1111 1010 = 1110 0001 符号位为1,结果为负

对结果再次求补,得 0001 1111 即结果为-31

 

06.   设机器字长为8位,最高位为符号位,试用“双高位”判别法判断下列二进制运算有没有溢出产生。若有,是正溢出还是负溢出?

(2)-52 + 7 = ?

(4)72 – 8 = ?

(6)-90 + (-70) = ?

解:

2)[52]原=0011 0100 [-52]补=1100 1100

   1100 1100 + 0000 0111 = 1101 0011  Cs =0,Cp = 0 无溢出

4)[8]原=0000 1000  [-8]补=1111 1000

0100 1000 + 1111 1000 =(1) 0100 0000  Cs =1,Cp = 1 无溢出

6)[90]原=0101 1010  [-90]补=1010 0110

[70]原=0100 0110  [-70]补=1011 1010

       1010 0110 + 1011 1010 = (1)0110 0000  Cs =1,Cp = 0 负溢出

 

Cs 表示最高位(符号位)的进位,Cp 表示数值最高位的进位。

一个正数和一个负数相加,和肯定无溢出。若和为正数,则Cs = 1,Cp = 1; 若和为负数,则Cs =0,Cp = 0

08.   将下列十进制数变为8421 BCD码:

       (2)5324            

解:0101 0011 0010 0100B

 

11.   写出下列各数的ASCII代码:

       (1)51                

       (3)AB               

解:(1)35H31H

  (2)41H42H

 

第二章P69

 

  1. 8086/8088 CPU中BIU部件和EU部件各包括哪些部件?各自的功能是什么?追踪指令地址的寄存器是什么?

答:

总线接口部件BIU包括4个16位段寄存器、1个16位指令指针、1个地址加法器、1个指令流队列和总线控制电路。    主要功能:负责完成CPU与存储器或I/O设备之间的数据传送。             

执行部件EU包括算术逻辑单元、16位标志寄存器、寄存器阵列、指令译码器及控制电路。 主要功能:负责指令译码和指令执行。

追踪指令地址的寄存器是IP(指令指针寄存器)。根据IP内容和CS(代码段寄存器)的内容确定出该要执行指令的地址。

 

05.   若已知一个字串的起始逻辑地址为2000H:1000H,试求该字串中第16个字的逻辑地址和物理地址。

解:

物理地址 = 段地址 × 10H + 偏移地址

起始逻辑地址为2000H:1000H

第n个字的逻辑地址为

段地址:偏移地址首址 + (n - 1)× 2

第16个字的逻辑地址为

段地址:偏移地址首址 + (16 - 1)× 2 = 2000H:101EH

物理地址为:2000 × 10H + 101EH = 2101EH

 

06.   若已知当前栈顶的逻辑地址为3000H:200H,试问压入两个字后栈顶的逻辑地址和物理地址是什么?若又弹出3个字后,则栈顶的逻辑地址和物理地址又是什么?

解:

压入两个字后,SP的内容为

(SP)- 字数 × 2 = 0200H – 2 × 2 = 01FCH              01FC + 3 × 2 = 0202H

所以逻辑地址为3000H:01FCH

物理地址为301FCH

 

 

第三章P118

 

1.     指出下列指令中源操作数和目的操作数的寻址方式:

                                                                      源操作数                            目的操作数

(1)MOV SI,1000                                   立即数寻址                         寄存器寻址

(3)MOV [SI],1000                                 立即数寻址                         寄存器间接寻址

(5)AND DL,[BX + SI + 20H]                  相对的基址加变址寻址      寄存器寻址

(7)POP AX                                               寄存器寻址                        寄存器寻址

(8)MOV EAX,COUNT[EDX*4]               寄存器相对寻址                  直接寻址

 

 

2.     指出下列指令语法是否正确,若不正确请说明原因。

(01)MOV DS,0100H

(02)MOV BP,AL

(03)XCHG AX,2000H

(04)OUT 310H,AL

(07)MOV AX,[SI + DI]

(09)AND AX,BL

(11)MOV [BX],[SI]

(12)MOV CS,[1000]

解:

01)不能直接向DS中送立即数。改为:MOV AX,0100H

                   MOV DS,AX

02)源操作数和目的操作数的类型不同。改为:MOV BP,AX

03)立即数不能用于交换指令

04)直接寻址的输出指令中,端口号只能在O~FFH范围内

07)SI、DI不能一起用。改为:MOV AX,[BX + DI]

09)源操作数和目的操作数的类型不同。改为:AND AX,BX

11)MOV指令不能源操作数和目的操作数都是寄存器。改为:MOV BX,[SI];源操作数为寄存器,目的操作数是存储器。或MOV [BX],SI;源操作数为存储器,目的操作数是寄存器。

12)MOV的操作数不能是CS

 

7.     执行下列程序段,指出此程序段功能。

(1)MOV CX,10;

        LEA SI,First;//将数据段First的地址偏移量送SI

        LEA DI,Second;//将数据段Secnd的地址偏移量送DI

        REP MOVSB;//将源串一字节传送到目地串,并自动修改指针值

 

功能:将源字符串First的10个字节移送至目标字符串Second

 

(2)CLD;

LEA DI,ES:[0404H];

MOV CX,0080H;

XOR AX,AX;

REP STOSW;

 

功能:将内存中从0404H单元开始的128个字单元清零

 

另:1°    分别填写下列操作数的寻址方式和物理地址

设(DS)= 2000H,(ES)= 2100H,(SS)= 1500H,(SI)= 00A0H,(BX)= 0100H,(BP)= 0010H。数据段中变量名VAL的偏移量地址值为0050H,试指出下列源操作数字段的寻址方式是什么,其物理地址值是多少或者有没有物理地址?

(1)MOV AX,OABH

(2)MOV AX,[100H]

(3)MOV AX,ES:[BX]

(4)MOV AX,VAL[BX]

(5)MOV AX,[BX][SI]

解:

1) 立即寻址,     没有物理地址

2) 直接寻址, 物理地址= 10 × 段地址(DS)+ 偏移量(EA)

           = 10 × 2000H + 100H = 20100H

3)寄存器间接寻址,  物理地址 = 10 × 段地址(ES)+ 偏移量(EA)

                                                  = 10 × 2100H + 0100H = 21100H

4)寄存器相对寻址,  物理地址= 10 × 段地址(DS)+ 偏移量(EA)

                                          = 10 × 2000H + 0050H = 20150H

5)基址变址寻址,     物理地址 = 10 × 段地址(DS)+ 偏移量(EA)

                                                  =10 × 2000H + 0100H + 00A0H = 201A0H

 

2°分别填写下列操作数的值

已知DS= 091DH,AX= 1234H,BX= 0024H,CX= 5678H,SI= 0012H,DI= 0032H,(09226H)= 00F6H,(09228H)= 1E40H,(1E4F6H)= 091DH,试求单独执行下列指令后的结果。

1) MOV CL,20H[BX][SI];       (CL)= 00F6H

2) LEA BX,20H[BX][SI];  (BX)= 0056H

3) LDS SI,[BX][DI];  [SI] = 00F6H

4) MOV [SI],BX;     [SI] = 0024H

5) XCHG CX,32H[BX];   (CX) = 00F6H

 

 

第四章P195

 

3.     设下列指令语句中的标识符均为字变量,请指出哪些指令是非法的,并指出其错误之处。.

(02)MOV   AX,WORD1[DX]                DX不能作为基址寄存器

(03)MOV   WORD1,WORD2              源操作数和目的操作数不能均在存储器

(04)MOV   SWORD,DS                      √

(07)MOV   AX,WORD1+WORD2        两个变量不能直接相加

(10)MOV   SI,OFFSET WORD2[BX]     OFFSET后应跟变量或标号

 

5.     试编制一程序,统计出某数组中相邻两数之间符号变化的次数。

 

DATA SEGMENT

N = 20H

           ARRAY DB 20 DUP(?)

           NUM DB 0

            DATA ENDS

     CODE SEGMENT

             ASSUME CS:CODE,DS:DATA

     STARTUP:LEA SI,ARRAY;SI指向数组首址

MOV      AL,[SI]    ;取第一个字符

           MOV      BL,0    ;结果计数器清零

           MOV      CX,19    ;置循环计数器

    AGAIN:  INC    SI    ;指向下一数组单元

           XOR       AL,[SI]    ;两个数按位进行逻辑异或操作

           JNS         NEXT    ;符号位非负表明两数符号相同,跳过不计数

           INC         BL    ;结果计数器BL加1

    NEXT:   MOV      AL,[SI]    ;当前数组元素送AL

           LOOP     AGAIN

           MOV      NUM,BL  ;保存结果

           MOV      AH,4CH    ;返回DOS

           INT  21H

CODE ENDS

    END START

 

11.   试编制一程序,把20个字节的数组分成正数组和负数组,并分别计算两个数组中数据的个数。

 

解:程序如下:

DATA   SEGMENT

BUF    DB  12H,34H, 56H,……

   N=20

   BUF1   DB  N  DUP(0),0

   BUF2   DB  N  DUP(?),0

DATA   ENDS

CODE   SEGMENT

  ASSUME  CS:CODE,DS:DATA

  START: MOV  DX,DATA

        MOV  DS,DX

           LEA   SI,BUF

         LEA   DI,BUF1

         LEA   BX,BUF2

            MOV  CX,N

LOP: MOV  AL,[SI]

    INC  SI

    CMP  AL,O

    JGE  PLUS

    MOV  [BX],AL

    INC   BUF2+N

    INC   BX

   JMP   NEXT

PLUS:MOV  [DI],AL

   INC    BUF1+N

   INC    DI

NEXT:LOOP  LOP

          MOV   AH,4CH

     INT    21H

CODE  ENDS

  END   START

第八章P345

 

  1. 一般来说,中断的处理过程有哪几步?中断处理程序包含哪几部分?

解:

中断处理过程应该包括:中断请求,中断排队或中断判优,中断响应,中断处理,中断返回等环节。

中断处理程序包含:保护现场、中断服务程序、恢复现场、中断返回。

 

另:1°    试述可屏蔽中断的响应和处理过程

解:

1)中断允许标志IF置1,没有异常,没有非屏蔽中断NMI=0,没有总线请求,CPU响应可屏蔽中断请求;

2)外部设备向8259A发出中断请求信号,经过8259A处理后得到相应的中断矢量号,并同时向CPU申请中断INT=1

3)如果指令不是HLT或者WAIT,则CPU执行完当前指令后便向8259A发出中断信号INTA=0,表明CPU响应该可屏蔽中断请求

处理过程:

1、若指令是HLT,则中断请求信号INTR的产生使处理器退出暂停状态,响应中断,进入中断处理程序

2、若指令是WAIT。且TSET引脚加入低电平信号,则中断请求信号INTR产生后,使处理器脱离等待状态,进入中断处理程序 处理过程包括四部分:保护现场、中断服务程序、恢复现场、中断返回。

 

       2°    试述单片8259A中断处理过程

解:

 (1) 当中断请求输入线IR0~IR7中有一条或多条变高时,则中断请求寄存器IRR的相应位置“1”。

(2) 若中断请求线中至少有一条是中断允许的,则8259A由INT引脚向CPU发出中断请求信号。

(3) 如CPU是处于开中断状态,则在当前指令执行完后,用信号作为响应。

(4) 8259A在接收到CPU的信号后,使最高优先级的ISR位置“1”,而相应的IRR位清“0”。但在该中断响应周期中,8259A并不向系统总线发送任何信息。

(5) CPU(8086/8088和80X86)输出第二个信号,启动第二个中断响应周期。在此周期中,8259A向数据总线输送一个8位的中断类型号(也叫指针或向量号);CPU读取此类型号

后将它乘以4(左移2位),即可从中断服务程序向量表(即入口地址表)中取出中断服务程序的入口地址,包括段地址和段内偏移地址。据此CPU便可转入中断服务程序。

(6) 如8259A工作在AEOI(Automatic End Of Interrupt)模式,则在第二个脉冲信号结束时,将使被响应的中断源在ISR中的对应位清“0”;否则,直至中断服务程序结束,发出EOI命令,才使ISR中的对应位清“0”。

 

 

 

 

 

考点

01,取指令时,段地址由CS寄存器 提供,偏移地址由IP寄存器 提供。

02,16位有符号二进制补码范围为-32768~32767

03,8086 20地址总线,16根数据总线

04,8086可访问偶数存储体的选择信号是A0

05,8259A中,采用2个从片,有n*8+(8-n)= 22 个中断

06,堆栈的工作方式是“先进后出”,入栈时,SP减小。

07,DOS功能调用功能号在AH 寄存器里面

08,ROL的功能是循环左移

09,对于5片8259A形成的级联共有8+7×4 = 36 级中断

10,给出指令,判断寻址方式(第三章 1

11,试述单片8259A中断处理过程&试述外部可屏蔽中断的响应和处理过程

12,输入输出指令间接寻址必须通过DX 寄存器

13,标志寄存器有9 位标志位,其中3 位控制标志位,6 位状态标志位

14,BIU和EU 两个单元并行工作在CPU

15,8086的中断向量表位于内存的00000H~003FFH区域,它可以容纳256个中断向量,每个向量占4个字节

16,每个中断向量分配4个连续的字节单元,两个高字节单元存放入口的段地址CS,两个低字节单元存放入口的段内偏移量IP

17,在DEBUG环境下,利用T命令可以跟踪一条指令

18,在存储器分段结构中,每段最大长度为64KB  

19,段内偏移地址从0000到FFFFH。

20,8259A地址线A0和A1 相连

21,零标志位ZF=1 时,结果全为0  

22,计算BUF开始的数组中的100个元素中非零元素的个数,并将其存入COUNT单元,补全指令

BUF DB 100 DUP (?)

COUNT DB 0

..............

STARTUP: MOV AX,DATA

MOV DS,AX

LEA SI, (1) BUF

MOV CX ,(2) 100

CON:MOV AL,[SI]

CMP AL ,(3)

JZ NEXT

INC (4) COUNT

NEXT: INC SI

LOOP (5) CON 

HLT

23,程序执行后寄存器的值:

MOV AX,01H

MOV BX ,02H

PUSH BX

PUSH AX

POP BX 执行后BX= 01H  

POP AX 执行后AX=(1) 02H

MOV AX ,3F5FH 执行后AL=(3) 5FH  

MOV CX ,4

ROR AL,CL 执行后AL=(4) 0F5H

AND AL ,0FH 执行后AL=(5) 05H  

24,试编制一程序,统计出某数组中相邻两数之间符号变化的次数&编制一个程序将20个字节的数组分为正数和负数组,并计算两个数组中数据的个数(第四章 5、11

25,实验

显示AL中的两位十六进制数的程序 (显示分两步,先显示3,后显示e)

CODE  SEGMENT

ASSUME  CS:CODE

START  MOV  AL,3EH

   PUSH  AX

   MOV  DL,AL

   MOV  CL,4

   SHR  DL,CL      ;逻辑右移

   CMP  DL,9       ;DL是否小于等于9

   JBE  NEXT1      ;BE(小于等于)即满足DL≤9跳转NEXT1

   ADD  DL,7

NEXT1: ADD  DL,30H      ;要转换或ASC码显示0~9   30H~39H

       MOV  AH,2     

       INT  21H         ;2号功能调用,显示字符放入入口参数DL中

       POP  AX          ;保护AX

       MOV  DL,AL

       AND  DL,0FH      ;屏蔽高4位

       CMP  DL,9    

       JBE  NEXT2

       ADD  DL,7

NEXT2: ADD  DL,30H       ;显示A-F

       MOV  AH,2

       INT  21H

       MOV  AH,40H

       INT  21H

CODE  ENDS

END  START

 

显示键入字符程序

CODE  SEGMENT

ASSUME  CS:CODE

START: MOV  AH,1

       INT  21H          ;1号功能调用,出口参数要显示字符存AL中

       CMP  AL,0DH       ;与回车比较

             JZ  DONE          ;ZF=1时跳转

         CMP  AL,’0’

             JB  NEXT          ;小于0转NEXT

             CMP  AL,’9’

             JA   CHRUP        ;大于9转CHRUP

             MOV  DL,AL        ;AL传DL,用于显示

             MOV  AH,2

             INT  21H

             JMP  START        ;0~9直接显示

CHRUP: CMP  AL,41H       ;与A比较

             JB   NEXT          ;小于A跳NEXT

             CMP  AL,5AH        ;与Z比较

             JA   CHRDN         ;大于Z跳CHRDN

DISPC: MOV  DL,’c’      ;否则显示c

      MOV  AH,2

        INT  21H

NEXT: JMP  START

CHRDN:CMP  AL,61H         ;a

             JB   NEXT

             CMP  AL,7AH         ;z

             JA   NEXT

             JMP  DISPC

DONE:    MOV  AH,4CH

             INT  21H             ;返回DOS

CODE     ENDS

END  START

 

偶校验程序清单  (多少个字符加了校验位)

DSEG      SEGMENT

STRN      DB  ’ABCDEfghijkLMNOPQuvw’,’$’

N            DB?            ;统计结果

DSEG  SEGMENT

ASSUME CS:CSEG,DS:DSEG

START:  MOV  AX,DSEG

             MOV  DS,AX

             LEA  SI,STRN        ;首地址传到SI

             MOV  DL,0

AGAIN: MOV  AL,[SI]           ;取字符

             CMP  AL,’$’       ;与‘$’比较

             JE   DONE

             TEST  AL, OFFH      ;与操作

JPE   NEXT           ;PE=1,则1的个数为偶

             OR   AL,80H         ;最高位补1

             MOV  [SI],AL

             INC  DL              ;DL+1

NEXT:  INC  SI                 ;修改指针

             JMP  AGAIN

DONE:  MOV  N,DL

MOV  AH,4CH

INT   21H

CSEG   ENDS

END  START

 

加法程序

CODE    SEGMENT

ASSUME  CS: CODE,DS: CODE

START:  MOV  AX,CS

        MOV  DS,AX        ;DS←CS

             LEA  SI,DAT1       

        LEA  DI,DAT2

             LEA  BX,DAT3        ;指针

             MOV  CX,10

             XOR   AL,AL         ;对AL清零

AGAIN:  MOV  AL,[SI]

            ADC  AL,[DI]     ;第一个字节相加

MOV  [BX],AL

INC  SI

INC  DI

INC  BX           ;自动加1

LOOP  AGAIN      ;CX减1处理循环

MOV  AH,4CH

INT  21H

DAT1   DB  70H,80H,90H,A0H,A1H,A2H,A3H

DB  74H,65H,56H

DAT2      DB  45H,67H,89H,1AH,2BH,3CH,

DB  4DH,5EH,6FH,04H

DAT3      DB  10  DUP(?)

CODE   ENDS

END  START

26,20根地址线最大内存容量是2^20 =1048576B,即1MB

27,SP和BP是指针寄存器,SP指示栈顶的偏移地址

28,中断矢量表存放在存储器最低位

29,条件转移指令多路分支,输入5路分支需要3条件转移指令

30,8086存储器采用分体式结构:偶地址存储体(AO)奇地址存储体(BHE),各为512K

计算机组成原理(第六版)白中英戴志涛主编答案

答案样例完整领取再下面资料里面回复:”机组课后答案“即可获取。 查看详情

甩她脸上(cprimerplus第六版基础整合)

...3.GNU项目和自由软件基金会​​​​4.Windows​​​​八、复习题和小结​ 查看详情

计算机组成原理期末复习必备知识点大全——第一章(计算机系统概论)(代码片段)

计算机组成原理是很多高校考研408四大科目之一,也是很多计算机相关专业的基础课之一。不仅如此,程序员在以后的学习过程中,计算机组成原理也处于很重要的地位。本文以高等教育出版社出版,唐朔飞编著... 查看详情

《高等数学第七版》《线性代数(第六版)》《概率论与数理统计(浙大四版)》全套考研教材及解析pdf

...,近三年的均可,因为基础内容是一样的。王式安的红皮复习全书可读性有点差,李正元的复习全书又太 查看详情

专栏必读软件工程导论第六版(张海藩)专栏学习笔记目录导航(代码片段)

...各章节内容概述导航和思维导图【专栏必读】王道考研408计算机组成原理万字笔记(从学生角度辅助大家理解): 查看详情

总线

本笔记结合《2023王道计算机组成原理考研复习指导》食用🔥王道考研计算机组成原理第六章总线本笔记结合《2023王道计算机组成原理考研复习指导》食用🔥1、总线1.1、总线的分类1.1.1、串行总线和并行总线1.1.2、片内... 查看详情

总线

本笔记结合《2023王道计算机组成原理考研复习指导》食用🔥王道考研计算机组成原理第六章总线本笔记结合《2023王道计算机组成原理考研复习指导》食用🔥1、总线1.1、总线的分类1.1.1、串行总线和并行总线1.1.2、片内... 查看详情

管理信息系统(第六版)课后题答案黄梯云李一军(代码片段)

...李一军课后习题答案与解析管理信息系统高等教育出版社复习思考题答案 第二章课后答案解析 第一章信息系统和管理课后习题答案第一节信息及其度量第二节信息系统的概念及其发展第三节信息系统和管理第四节管理信... 查看详情

计算机网络自顶向下方法第六版笔记(前言说明)

计算机网络自顶向下方法第六版笔记(本笔记偏重于网络安全)前言笔记主要是配合老师讲课和这本书,重点讲协议这块,偏重于网络安全要学的计算机基础(协议之类的东西),如果是专门学网络工... 查看详情

电子技术基础模拟部分第五版第六版课后习题答案

...格式下载方法 回复 好书+书名   电路原理邱关源第五版课后习题答案  查看详情

pmbok第六版,五大过程组,十大领域,49个过程

PMBOK第六版,五大过程组,十大领域,49个过程脑图,便于后期学习,希望可以帮助大家! 查看详情

计算机组成原理复习

 第一章 第二章 第三章  查看详情

pmp十五至尊图(pmbok第六版)

PMP十五至尊图(PMBOK第六版),五大过程组,十大知识领域 PMP十五至尊图,选自《PMP备考九阴真经》,参考:http://t.cn/A6vTZMXL  查看详情

计算机组成原理期末复习思维导图

计算机组成原理期末复习思维导图第四章 查看详情

计量经济学导论伍德里奇第六版答案+数据集

计量经济学导论答案计量经济学导论伍德里奇第四版、第五版、第六版答案+数据集均有 查看详情

计算机组成原理复习提纲

 计算机组成原理复习提纲一、本课程学习要求:了解数据信息的表示、运算方法与各类半导体存储器、辅助存储器、打印设备与显示装置设备;掌握计算机组成与系统结构的基本概念、基本原理、基本算法、基本结构和分析... 查看详情

微积分(第六版)chapter--functionandmodel

1.表示函数的4种方式Eachofthesearedescribedarulewhereby,givenanumberx,anothernumberyisassigned.Ineachcasewesayy(secondnumber)isafunctionofx(firstnumber). independentvariable(因变量):Asymbolthatrepresentsanar 查看详情

《微型计算机原理与接口技术》期末总复习——一篇匆匆忙忙的复习笔记(代码片段)

这篇复习笔记是针对《微型计算机原理与接口技术》后面几章的前面的汇编复习内容在“零、学习笔记总目录”的“汇编考前复习”中✅这篇笔记中可能存在一些错误,欢迎在留言区提出,笔者会及时更正。所有内容更... 查看详情