预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共19页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

创作编号: BG7531400019813488897SX 创作者:别如 克* 习题2 2.18086/8088CPU分为哪两大功能部件?其各自的主要功能是什 么?8086/8088CPU中有哪些寄存器?各有什么用途? 解:从功能上来看,Intel8086/8088微处理器可分为两部分,即执 行单元EU(ExecutionUnit)和总线接口单元BIU(BusInterface Unit)。 执行单元EU的功能是负责指令的译码、执行,包括算术、逻 辑运算,控制等。总线接口单元BIU的功能是负责8086/8088对存 储器和I/O设备的所有访问操作。具体包括:负责从内存单元中预 取指令,并将其送到指令队列缓冲器暂存;从内存单元或外设端口 中读取操作数或者将指令的执行结果传送到指定的内存单元或外设 端口;根据有效地址(EA)形成物理地址(PA)。 8086/8088有4个16位数据寄存器:AX、BX,CX,DX,它 们既可作为16位寄存器使用,存放数据或地址,也可以分别作为两 个8位寄存器使用。 8086/8088有2个16位变址寄存器:SI、DI,通常与DS联用, 为访问当前数据段提供段内偏移地址或偏移地址分量。 8086/8088有2个16位地址指针寄存器:SP,BP,它们一般是 用来存放堆栈操作数的偏移地址。 总线接口单元(BIU)中设置有4个16位的段寄存器,分别是 代码段寄存器(CS),数据段寄存器(DS),堆栈段寄存器(SS)和附加 段寄存器(ES)。 指令指针寄存器(InstructionPointer,IP)用来存放下一条要执 1 行的指令在当前代码段中的偏移地址。 标志寄存器也称程序状态字(PSW)寄存器,用来存放运算结果 的特征和机器工作状态。 2.28086/8088CPU中标志寄存器有哪两类标志?简述各标志位的 含义。 解:①(ZeroFlag,ZF)——零标志。若本次运算结果为0,则 ZF=1,否则ZF=0。 ②(SignF1agSF)——符号标志。此标志用于反映有符号数运算 结果的符号是正还是负。对于有符号数,用最高位表示数的符号, 当本次运算结果最高位为1,表示结果为负数,则SF=1,否则SF =0。 ③(ParityFlag,PF)——奇偶标志。此标志是反映运算结果中最 低字节中含“1”的个数为0或偶数时,PF=1,为奇数时,PF=0。 注意,PF标志仅反映运算结果的最低8位中“1”的个数是偶数或 奇数,即使是进行16位字操作也是如此。 ④(AuxiliaryCarryFlag,AF)——辅助进位标志。当进行8位 数(字节)或16位数(字)的低8位运算时,低4位向高4位(即 D位向D位)有进位或借位时,AF=1,否则AF=0。AF标志 34 主要供BCD码十进制算术指令判别是否要进行十进制调整,用户 一般不必关心。 ⑤(CarryFlag,CF)——进位标志。当本次算术运算结果使最高 位产生进位(加法运算)或借位(减法运算)时,则此标志位置“1”, 即CF=1;若加法运算结果最高位无进位,或减法运算结果最高位 无借位,则CF=0。 ⑥(OverflowFlag,OF)——溢出标志。当运算结果产生溢出时, 使OF=1,否则OF=0。 2.3简述伪指令“EQU”与“=”之间有什么区别? 解:“EQU”伪指令不能重复定义,而“=”伪指令可以重复定义。 2.4画图说明下列语句分配的存储空间及初始化的数值 (1)FF1DB'0100',2+5,?,'ABC' (2)FF2DW2DUP(?),'A','BC',1000H,25H (3)FF3DB2DUP(1,2DUP(2,3),4) 2 偏移地址内容变量 名 0000H30HFF1 0001H31H 0002H30H 0003H30H 0004H07H 0005H00H 0006H41H 0007H42H 0008H43H 0009H00HFF2 000AH00H 000BH00H 000CH00H 000DH41H 000EH00H 000FH43H 0010H42H 0011H00H 0012H10H 0013H25H 0014H00H 0015H01HFF3 0016H02H 0017H03H 0018H02H 0019H03H 001AH04H 001BH01H 001CH02H 001DH03H 3 001EH02H 001FH03H 0020H04H 2.5指出下列指令的错误。 A1DB? A2DB10 K1EQU1024 (1)MOVK1,AX(2)MOVA1,AX (3)CMPA1,A2(4)K1EQU2048 (5)MOVAX,BH(6)MOV[BP],[DI] (7)XCHGCS,AX(