微机原理答案文档格式.docx

上传人:b****4 文档编号:7176631 上传时间:2023-05-08 格式:DOCX 页数:44 大小:34.88KB
下载 相关 举报
微机原理答案文档格式.docx_第1页
第1页 / 共44页
微机原理答案文档格式.docx_第2页
第2页 / 共44页
微机原理答案文档格式.docx_第3页
第3页 / 共44页
微机原理答案文档格式.docx_第4页
第4页 / 共44页
微机原理答案文档格式.docx_第5页
第5页 / 共44页
微机原理答案文档格式.docx_第6页
第6页 / 共44页
微机原理答案文档格式.docx_第7页
第7页 / 共44页
微机原理答案文档格式.docx_第8页
第8页 / 共44页
微机原理答案文档格式.docx_第9页
第9页 / 共44页
微机原理答案文档格式.docx_第10页
第10页 / 共44页
微机原理答案文档格式.docx_第11页
第11页 / 共44页
微机原理答案文档格式.docx_第12页
第12页 / 共44页
微机原理答案文档格式.docx_第13页
第13页 / 共44页
微机原理答案文档格式.docx_第14页
第14页 / 共44页
微机原理答案文档格式.docx_第15页
第15页 / 共44页
微机原理答案文档格式.docx_第16页
第16页 / 共44页
微机原理答案文档格式.docx_第17页
第17页 / 共44页
微机原理答案文档格式.docx_第18页
第18页 / 共44页
微机原理答案文档格式.docx_第19页
第19页 / 共44页
微机原理答案文档格式.docx_第20页
第20页 / 共44页
亲,该文档总共44页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

微机原理答案文档格式.docx

《微机原理答案文档格式.docx》由会员分享,可在线阅读,更多相关《微机原理答案文档格式.docx(44页珍藏版)》请在冰点文库上搜索。

微机原理答案文档格式.docx

③(111.001)2=(7.2)10

9.将下列十进制数转换成8421BCD码。

①2006=(0010000000000110)BCD

②123.456=(000100100011.010001010110)BCD

10.求下列带符号十进制数的8位基2码补码。

①[+127]补=01111111

②[-1]补=11111111

③[-128]补=10000000

④[+1]补=00000001

11.求下列带符号十进制数的16位基2码补码。

①[+655]补=01111

②[-1]补=111111*********0

③[-3212]补=11110

④[+100]补=00100

习题2

1.8086CPU在内部结构上由哪几部分组成?

各部分的功能是什么?

8086CPU内部由两大独立功能部件构成,分别是执行部件和总线接口部件。

执行部件负责进行所有指令的解释和执行,同时管理有关的寄存器。

总线接口部件是CPU在存储器和I/O设备之间的接口部件,负责对全部引脚的操作。

2.简述8086CPU的寄存器组织。

8086CPU内部共有14个16位寄存器,按用途可分为数据寄存器,段寄存器,地址指针与变址寄存器和控制寄存器。

数据寄存器包括累加器,基址寄存器,计数器,和数据寄存器。

段寄存器用来存放各分段的逻辑段基值,并指示当前正在使用的4个逻辑段。

地址指针与变址寄存器一般用来存放主存地址的段内偏移地址,用于参与地址运算。

控制寄存器包括指令寄存器和标识寄存器。

3.试述8086CPU标志寄存器各位的含义与作用。

标志寄存器是16位的寄存器,但实际上8086只用到9位,其中的6位是状态标识位,3位是控制标识位。

状态标志位分别是CF,PF,AF,ZF,SF,和OF;

控制标志位包括DF,IF,TF。

CF:

进位标志位。

算数运算指令执行后,若运算结果的最高位产生进位或借位,则CF=1,否则CF=0。

PF:

奇偶标志位。

反应计算结果中1的个数是偶数还是奇数。

若运算结果的低8位中含有偶数个1,则PF=1;

否则PF=0.

AF:

辅助进位标志。

算数运算指令执行后,若运算结果的低4位向高4位产生进位或借位,则AF=1;

否则AF=0.

ZF:

零标志位。

若指令运算结果为0,则ZF=1;

否则ZF=0。

SF:

符号标志位。

它与运算结果最高位相同。

OF:

溢出标志位。

当补码运算有溢出时,OF=1;

否则OF=0。

DF:

方向标志位。

用于串操作指令,指令字符串处理时的方向。

IF:

中断允许标志位。

用来控制8086是否允许接收外部中断请求。

TF:

单步标志位。

它是为调试程序而设定的陷阱控制位。

4.8086CPU状态标志和控制标志有何不同?

程序中是

怎样利用这两类标识的?

8086的状态标志和控制标识分别有哪些?

状态标志位反应了当前运算和操作结果的状态条件,可作为程序控制转移与否的依据。

它们分别是CF,PF,AF,ZF,SF,和OF。

控制标志位用来控制CPU的操作,由指令进行置位和复位,控制标志位包括DF,IF,TF。

5.将10011100和11100101相加后,标识寄存器中CF,PF,AF,ZF,SF,OF各为何值?

CF=1,PF=1,AF=1,ZF=0,SF=1,OF=0

6.什么是存储器的物理地址和逻辑地址?

在8086系统中,如何由逻辑地址计算物理地址?

逻辑地址是思维性的表示,由段地址和偏移地址联合表示的地址类型叫逻辑地址。

物理地址是真实存在的唯一地址,指的是存储器中各个单元的单元号。

在8086系统中,物理地址=段地址×

10H+偏移地址

7.段寄存器CS=1200H,指令指针寄存器IP=4000H,此时,指令的物理地址为多少?

指向这一地址的CS指和IP值是唯一的吗?

此指令的物理地址=1200H×

10H+4000H=16000H并且指向这一物理地址的CS值和IP值并不是唯一的。

8.在8086系统中,逻辑地址FFFF:

0001,00A2:

37F和B800:

173F的物理地址分别是多少?

逻辑地址FFFF:

000100A2:

3TFB800:

173F

物理地址FFFF1H00D9FHB973FH

9.在8086系统中,从物理地址388H开始顺序存放下列3个双字节的数据651AH,D761H和007BH,请问物理地址388H,389H,38AH,38BH,38CH和38DH6个单元中分别是什么数据?

(388H)=1AH,(389H)=65H,(38AH)=61H,(38BH)=DTH,(38CH)=7BH,(38DH)=00H

10.8086微处理器有哪几种工作模式?

8086微处理器有最大和最小工作模式。

在最小模式下:

8086CPU直接产生全部总线控制信号(DT/R,DEN,ALE,M/IO)和命令输出信号(RD,WR,INTA)并提出请求访问总线的逻辑信号HOLD,HLDA。

在最大工作模式下,必须配置8288总线控制器,并且根据8086提供的状态信号S2,S1,S0,输出读写控制命令,可以提供灵活多变的系统配置,以实现最佳的系统性能。

11.简述8086引脚信号中M/IO,DT/R,RD,WR,ALE,DEN和BHE的作用。

M/IO:

输出信号,高电平时,表示CPU与存储器之间数据传输;

低电平时,表示CPU与I/O设备之间数据传输。

DT/R:

控制其数据传输方向的信号。

DT/R=1时,进行数据发送;

DT/R=0时,进行数据接收。

RD:

CPU的读信号,RD=0时,表示8086为存储口或I/O端口读操作。

WR:

CPU的写信号,WR=0时,表示8086为存储口或I/O端口写操作。

ALE:

地址存锁信号,在T1能时刻有效。

DEN:

数据选通信号,当DEN有效时,表示允许传输。

BHE:

数据总线允许信号,与A0组合使用,表示是否访问奇地址字节。

12.简述8086读总线周期和写

总线周期和引脚上的信号动尖态变化过程。

8086的读周期时序和写周期时序的区别有哪些?

在8086读周期内,有关总线信号的变化如下:

①M/:

在整个读周期保持有效,当进行存储器读操作时,M/为高电平;

当进行I/O端口读操作时,M/为低电平。

②A19/S6~A16/S3:

在T1期间,输出CPU要读取的存储单元或I/O端口的地址高4位。

T2~T4期间输出状态信息S6-S3。

③/S7:

在T1期间,输出BHE有效信号(为低电平),表示高8位数据总线上的信息可以使用,信号通常作为奇地址存储体的体选信号(偶地址存储体的体选信号是最低地址位A0)。

T2—T4期间输出高电平。

④ADl5~AD0:

在T1期间,输出CPU要读取的存储单元或I/O端口的地址A15~A0。

T2期间为高阻态,T3~T4期间,存储单元或I/O端口将数据送上数据总线。

CPU从ADl5~AD0上接收数据。

⑤ALE:

在T1期间地址锁存有效信号,为一正脉冲,系统中的地址锁存器正是利用该脉冲的下降沿来锁存A19/S6~A16/S3,ADl5~AD0中的20位地址信息以及。

⑥:

T2期间输出低电平送到被选中的存储器或I/O接口,注意,只有被地址信号选中的存储单元或I/O端口,才会被RD信号从中读出数据(数据送上数据总线ADl5~AD0)。

⑦DT/:

在整个总线周期内保持低电平,表示本总线周期为读周期,在接有数据总线收发器的系统中,用来控制数据传输方向。

⑧:

在T2~T3期间输出有效低电平,表示数据有效,在接有数据总线收发器的系统中,用来实现数据的选通。

总线写操作的时序与读操作时序相似,其不同处在于:

①ADl5~AD0:

在T2~T4期间送上欲输出的的数据,而无高阻态。

②:

从T2~T4,引脚输出有效低电平,该信号送到所有的存储器和I/O接口。

注意,只有被地址信号选中的存储单元或I/O端口才会被信号写入数据。

③DT/:

在整个总线周期内保持高电平,表示本总线周期为写周期,在接有数据总线收发器的系统中,用来控制数据传输方向。

习题3

1.假定(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=0010H,数据变量VAL的偏移地址为0050H,请指出下列指令原操作数是什么寻址方式,其物理地址是多少?

(1)MOVAX,0ABH

(2)MOVAX,[100H]

(3)MOVAX,VAL(4)MOVBX,[SI]

(5)MOVAL,VAL[BX](6)MOVCL,[BX][SI]

(7)MOVVAL[SI],BX(8)MOV[BP][SI],100

(1)立即数寻址,物理地址:

(2)直接寻址,物理地址=2000H×

10H+100H=20100H

(3)直接寻址,物理地址=2000H×

10H+0050H=20050H

(4)寄存器间接寻址,PA=2000H×

10H+00A0=200A0H

(5)相对寄存器寻址,PA=2000H×

10H+(0050+0100H)=20150H

(6)基址加变寻址,PA=2000H×

10H+(0100H+00A0H)=201A0H

(7)寄存器寻址,

无PA

(8)立即数寻址,无PA

2.已知(SS)=0FFA0H,(SP)=00B0H,先执行两条把8057H和0F79H分别进栈的PUSH指令,再执行一条POP指令,试画出堆栈区和SP内容变化的过程示意图。

“8057H”进栈,则SP自动从00B0H指向00B2H,“0F79H”进栈,则SP自动从00B2H指向00B4H;

执行一条POP指令,“0F79H”被弹出栈,SP从00B4H指向00B2H。

图略。

3.设有关寄存器及存储单元的内容如下:

(DS)=2000H,(BX)=0100H,(AX)=1200H,(SI)=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=0B7H,(21203H)=65H.

试说明下列各条指令单独执行后相关寄存器或存储单元的内容。

(1)MOVAX,1800H

(2)MOVAX,BX

(3)MOVBX,[1200H](4)MOVDX,1100[BX]

(5)MOV[BX][SI],AL(6)MOVAX,1100[BX][SI]

(1)(AX)=1800H

(2)(AX)=0100H(3)(BX)=4C2AH

(4)(DX)=4C2AH(5)(20102H)=00H(6)(AX)=65B7H

4.写出实现下列计算的指令序列。

(1)Z=W+(X+Z)

(2)Z=W-(X+6)-(R+9)

(1)MOVAX,Z

ADDAX,X

ADDAX,W

MOVZ,AX

(2)MOVAX,W

ADDX,6

SUBAX,X

ADDR,9

SUBAX,R

5.若在数据段中从字节变量TABLE相应的单元开始存放了0~15的平方值,试写出包含XLAT指令的指令序列查找N(0~15)中的某个平方数。

LEABX,TABLE

MOVAL,CL

XLAT

6.写出实现下列计算的指令序列。

(1)Z=(W*X)/(R+6)

(2)Z=((W-X)/5*Y)*2

(1)MOVAX,W

IMULX

ADDR,6

IDIVR

MOVBL,5

IDIVBL

CBW

IMULY

MOVBX,2

IMULBX

7.假定(DX)=11001B,CL=3,CF=1,试确定下列各条指令单独执行后DX的值。

(1)SHRDX,1

(2)SHLDL,1(3)SALDH,1(4)SARDX,CL

(5)RORDX,CL(6)ROLDL,CL(7)RCRDL,1(8)RCLDX,CL

(1)(DX)=0110010011011100B

(2)(DX)=1100100101110010B

(3)(DX)=1001001010111001B(4)(DX)=1111100100110111B

(5)(DX)=0011100100110111B(6)(DX)=0100110111001110B

(7)(DX)=1110010011011100B(8)(DX)=1001001101110011B

8.已知程序段如下:

MOVAX,1234H

MOVCL,4

ROLAX,CL

DECAX

MOVCX,4

MULCX

INT20H

试问:

(1)每条指令执行后,AX寄存器的内容是什么?

(2)每条指令执行后,CF,SF及ZF的值分别是什么?

(3)程序运行结束后,AX及DX寄存器的值为多少?

MOVAX,1234H(AX)=1234H,CF=0,SF=0,ZF=0

ROLAX,CL(AX)=2341H,CF=1,SF=0,ZF=0

DECAX(AX)=2340H,CF=1,SF=0,ZF=0

MOVCX,4

MULLCX(AX)=8D00H,CF=0,SF=1,ZF=0

结束后,(DX)=0000H,(AX)=8000H

9.试分析下

列程序段:

ADDAX,BX

JNCL2

SUBAX,BX

JNCL3

JMPSHORTL5

如果AX,BX的内容给定如下:

AXBX

(1)14C6H80DCH

(2)B568H54B7H

问该程序在上述情况下执行后,程序转向何处。

(1)转到L2处

(2)转到L3处

习题4

1.下列语句在存储器中分别为变量分配多少字节空间?

并画出存储空间的分配图。

VAR1DB10,2

VAR2DW5DUP(?

),0

VAR3DB‘HOWAREYOU?

’,3DUP(1,2)

VAR4DD-1,1,0

字节空间:

VAR1:

2;

VAR2:

12;

VAR3:

13;

VAR4:

8。

存储空间的分配图:

 

2.假定VAR1和VAR2为字变量,LAB为标号,试指出下列指令的错误之处。

(1)ADDVAR1,VAR2

(2)SUBAL,VAR1

(3)JMPLAB[CX](4)JNZVAR1

(5)MOV[1000H],100(6)SHLAL,4

(1)在算术运算指令中,两个操作数不能同时为存储器寻址方式

(2)AL为字节,VAR1为字变量,字长不相等;

(3)寄存器相对寻址方式,只能使用基址或变址寄存器,不能使用CX寄存器。

(4)转向地址应为标号,不能是变量;

(5)目的操作数的类型不确定;

(6)SHL指令中,当所移位数超过1时,必须用CL取代所移位数。

3.对于下面的符号定义,指出下列指令的错误。

A1DB?

A2DB10

K1EQU1024

(1)MOVK1,AX

(2)MOVA1,AX

(3)CMPA1,A2(4)K1EQU2048

(1)K1为常量,不能用MOV指令赋值;

(2)A1为字节,AX为字变量,不匹配;

(3)A1未定义,无法做比较指令;

(4)K1重新赋值前,必须用PURGE释放。

4.数据定义语句如下所示:

FIRSTDB90H,5FH,6EH,69H

SECONDDB5DUP(?

THIRDDB5DUP(?

自FIRST单元开始存放的是一个四字节的十六进制数(低位字节在前),要求:

编一段程序将这个数左移两位后存放到自SECOND开始的单元,右移两位后存放到自THIRD开始的单元。

(注意保留移出部分)

DATASEGMENT

FORTHDB4DUP(?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

LEASI,FIRST

LEADI,SECOND

MOVCX,2

CLC

左移2位

MOVAX,WORDPTR[SI];

AX=5F90H为低十六位数据

INCSI

MOVDX,WORDPTR[SI];

DX=696EH为高十六位数据

PUSHDX;

保存原有的高十六位数据

PUSHAX;

保存原有的低十六位数据

ROLDX,CL

将高位数据不带进位循环左移两位,即高2位数据在DL的低2位

ANDDL,03H;

让DL中仅保存移出的高2位数据

MOV[DI+4],DL;

将移出的高2位数据放入SECOND中的最高单元中

ROLAX,CL

将低位数据不带进位循环左移两位,即AX的高2

位在AL的低2位

ANDAL,03H;

让AL中仅保存移出的AX高2位数据

MOVBL,AL;

将AL中的数据放入BL中保存

POPAX;

弹出原有的低十六位数据

POPDX;

弹出原有的高十六位数据

SHLDX,CL;

将高位数据算术逻辑左移2位

SHLAX,CL;

将低位数据算术逻辑左移2位

ORDL,BL;

将AX中移出的高2位数据放入DX的低2位

MOVWORDPTR[DI],AX

MOVWORDPTR[DI+2],DX

右移2位

LEADI,THIRD

CLC

DX=696EH为高十六位数据

PUSHDX;

PUSHAX;

RORAX,CL;

将低位数据不带进位循环右移两位,即低2位数据在AH的高2位

ANDAH,0C0H;

让AH中仅保存移出的低2位数据

PUSHCX

MOVCX,6

SHRAH,CL

POPCX

MOV[DI],AH;

将移出的低2位数据放入THIRD中的最低单元中

RORDX,CL

将低位数据不带进位循环左移两位,即AX的高2位在AL的低2位

ANDDH,0C0H;

让DH中仅保存移出的DX低2位数据

MOVBL,DH;

将DH中的数据放入BL中保存

POPAX;

POPDX;

SHRDX,CL;

SHRAX,CL;

ORAH,BL;

将DX中移出的低2位数据放入AX的高2位

MOVWORDPTR[DI+1],AX

MOVWORDPTR[DI+3],DX

求补

LEADI,FORTH

XORAX,0FFFFH;

将低十六位取反

XORDX,OFFFFH;

将高十六位按位取反

ADDAX,01H;

低位加1,即可为原数的求补

ADCDX,0;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2