8086指令系统测试题

8086指令系统测试题
8086指令系统测试题

8086指令系统测试题

说明:8086的指令系统测试题共有85条指令,测试的目的是让学生熟记指令且能运用指令完成指定任务,

为第四章的程序设计打下基础。最后,对本章中的寻址方式进行测试和考查。

一、请在每个括号内填入一条适当的指令,使之能完成该括号前的题目所指定的任务。(1空1分)

数据传送指令(14条)

1.将AX的内容送BX。(MOV BX,AX )

2.将CX的内容压入堆栈。(PUSH CX )

3.将堆栈的栈顶内容弹出送至DX。(POP DX )

4.对DX的内容和数据段中偏移地址为200H的内容进行交换。(XCHG

DX,200H )

5.对TABLE表使用表转换指令。(XLAT TABLE )

6.将端口80H的内容送至AL。(IN AL,80H )

7.将AX的内容写入60H端口。(OUT AX,60H )

8.取TABLE表的偏移地址送BX。(LEA BX,TABLE )

9.从地址为450H的存储单元内容取出4个字节,分别送至SI和DS寄存器。(LDS SI,[450H] )

10.从地址为450H的存储单元内容取出4个字节,分别送至DI和ES寄存器。(LES DI[450H] )

11.将标志位送AH指令。(LAHF )

12.AH送标志位指令。(SAHF )

13.标志进栈指令。(PUSHF )

14.标志出栈指令。(POPF )

算术运算指令(20条)

1.将AX的内容和地址为2233H的存储单元内容相加,结果放在AX中( MOV CX ,2233H;ADD AX,CX )

2.对BL、CL、以及CF的内容相加。结果放在BL中。(ADC BL,CL )

3.对CX的内容做增1的操作。(INC CX )

4.做减法BX-DX,结果放在BX中。(SUB BX,DX )

5.做减法BX-DX-CF,结果放在BX中。(SBB BX,DX )

6.做CX的减1操作。(DEC CX )

7.对BL的内容取负。(BEG BL )

8.做CX和0FFH的大小比较。(CMP CX,0FFH )

9.将AL中的无符号数和数据段中地址为10H的存储单元内容相乘。(MUL

10H )

10.将AX中的有符号数和数据段中地址为10H的存储单元内容相乘。(IMUL

10H )

11.将AX中的无符号数除以BL的内容。(DIV BL )

12.将AX中的有符号数除以BL的内容。(IDIV BL )

13.把字节扩展成字的指令。(CBW )

14.把字扩展成双字的指令。(CWD )

15.把两个压缩BCD码相加的结果调整为正确的BCD码。(DAA )

16.把两个压缩BCD码相减的结果调整为正确的BCD码。(DAS )

17.把两个非压缩BCD码相加的结果调整为正确的BCD码。(AAA )

18.把两个非压缩BCD码相减的结果调整为正确的BCD码。(AAS )

19.把两个非压缩BCD码相乘的结果调整为正确的BCD码。(AAM )

20.在除法之前,将BCD码转换为二进制数。(AAD )

逻辑运算和移位指令(13条)

逻辑运算指令:

1.将AL和0FFH相与。(AND AL,OFFH )

2.将AX和3030H相或。(OR AX,3030H )

3.对BX的内容取反。(NOT BX )

4.将BX的内容和0FFH相异或。(XOR BX,OFFH )

5.对AL中的最高位进行测试,判断其是否为1。(TEST AL,80H )算术逻辑移位指令和循环移位指令:

1.对BX的内容算术左移1位。(SAL BX,1 )

2.对BX的内容算术右移1位。(SAR BX,1 )

3.对BX的内容逻辑左移1位。(SHL BX,1 )

4.对BX的内容逻辑右移1位。(SHR BX,1 )

5.对CX的内容循环左移1位。(ROL CX,1 )

6.对CX的内容循环右移1位。(ROR CX,1 )

7.带CF标志,对CX的内容循环左移1位。(RCL CX,1 )

8.带CF标志,对CX的内容循环右移1位。(RCR CX,1 )

字符串处理指令(5条)

1.字类型的字符串传送指令。(MOVS )

2.字节类型的字符串比较指令。(CMPS )

3.字类型的字符串扫描指令。(SCAS )

4.将以SI为串指针的源串字符送入AX。(LODS AX,SI )

5.将AL的内容传送到以DI为指针的目的串。(STOS DI,AL )

控制转移指令(24条)

1.无条件跳转到PROG_S处执行。(JMP )

2.当ZF=0时,程序跳转到NEXT标号处执行。(JNZ/JNE )

3.当ZF=1时,程序跳转到NEXT标号处执行。(JZ/JE )

4.当SF=0时,程序跳转到NEXT标号处执行。(JNS )

5.当SF=1时,程序跳转到NEXT标号处执行。(JS )

6.当CF=0时,程序跳转到NEXT标号处执行。(JNC )

7.当CF=1时,程序跳转到NEXT标号处执行。(JC )

8.当OF=0时,程序跳转到NEXT标号处执行。(JNC )

9.当OF=1时,程序跳转到NEXT标号处执行。(JO )

10.当PF=0时,程序跳转到NEXT标号处执行。(JNO )

11.当PF=1时,程序跳转到NEXT标号处执行。(JP/JPE )

12.当CX=0时,程序跳转到NEXT标号处执行。()

1.无符号数比较,当高于的时候转移到NEXT标号处执行。(JA/JNBE )

2.无符号数比较,当高于等于的时候转移到NEXT标号处执行。(JAE/JNB )

3.无符号数比较,当低于的时候转移到NEXT标号处执行。(JB/JNAE )

4.无符号数比较,当低于等于的时候转移到NEXT标号处执行。(JBE/JNA )

5.有符号数比较,当大于的时候转移到NEXT标号处执行。(JG/JNLE )

6.有符号数比较,当大于等于的时候转移到NEXT标号处执行。(JGE/JNL )

7.有符号数比较,当小于的时候转移到NEXT标号处执行。(JL/JNGE )

8.有符号数比较,当小于等于的时候转移到NEXT标号处执行。(JLE/JNG )

1.调用子程序SUB_PROG的指令。()

2.从子程序返回的指令。()

3.执行软件中断,中断类型为21H. (INT n 21H )

4.从中断返回的指令。()

处理机指令(9条)

1.进位位清零。(CLC )

2.进位位置1。(STC )

3.进位位取反。(CMC )

4.设置方向标志为1。(STD )

5.方向标志位清零。(CLD )

6.设置中断标志位为1。(STI )

7.中断标志位清零。(CLI )

8.停机指令。(HLT )

9.空操作指令。(NOP )

二、寻址方式测试,请指出下列指令中,源操作数的寻址方式,答案请写入括号中。(每题2分)

1.MOV AX, 100H ;(立即数)

2.MOV AX, [100H] ;(直接寻址)

3.MOV AX, V AL ; (直接寻)(说明:V AL是符号地址)

4.MOV AX, BX ;(寄存器寻址)

5.MOV AX, [BX] ;(寄存器间接寻址)

6.MOV AX, [BX+10H] ;(寄存器相对寻址)

7.MOV AX, [BX][SI] ;(基址变址寻址)

8.MOV AX, [BX][SI]COUNT ;(相对基址变址寻址)(说明:COUNT

是个偏移量)

9.IN AX, 0FFH ;(I/O端口直接寻址)

计算机组成原理,指令系统,练习题

单项选择题 1 在CPU执行指令的过程中,指令的地址由___B__给出。 A 程序计数器PC B 指令的地址码字段 C 操作系统 D 程序员 2 下列关于指令的功能及分类叙述正确的是__B___。 A 算术与逻辑运算指令,通常完成算术运算或逻辑运算,都需要两个数据 B 移位操作指令,通常用于把指定的两个操作数左移或右移一位 C 转移指令,子程序调用与返回指令,用于解决数据调用次序的需要 D 特权指令,通常仅用于系统软件,这类指令一般不提供给用户 3 零地址的运算类指令在指令格式中不给出操作数的地址,参加的两个操作数来自__C__。A累加器和寄存器 B 累加器和暂存器 C 堆栈的栈顶和次栈顶单元 D 堆栈的栈顶单元和暂存器 4 下列一地址运算类指令的叙述中,正确的是_____。 A 仅有一个操作数,其地址由指令的地址码提供 B 可能有一个操作数,也可能有两个操作数 C 一定有两个操作数,其中一个操作数是隐含的 D 指令的地址码字段存放的一定是操作码 5 关于二地址指令一下论述正确的是_____。 A 二地址指令中,运算结果通常存放在其中一个地址码所提供的地址中 B二地址指令中,指令的地址码字段存放的一定是操作数 C二地址指令中,指令的地址码字段存放的一定是寄存器号 D二地址指令中,指令的地址码字段存放的一定是操作数地址 6 单字长四地址指令OP A1、A2、A3、A4的功能为(A1)OP(A2)→A3,且A4给出下一条指令地址,假设A1、A2、A3、A4都为主存储器地址,则完成上述指令需访存_____。 A 1 B 2 C 3 D 4 7 在指令格式设计中,采用扩展操作码的目的是_____。 A 增加指令长度 B 增加地址码数量NN C 增加指令数量 D 增加寻址空间 8 某机器的指令字长为16位,有8个通用寄存器,有8种寻址方式,单操作数指令最多有_____个,双操作数指令最多有_____个。 A 1024 16 B 2048 32 C 256 64 D 1024 32 9 指令寻址方式有顺序和跳跃两种,采用跳跃寻址方式可以实现_____。 A 程序浮动 B 程序的无条件浮动和条件浮动 C程序的无条件转移和条件转移 D 程序的调用 10 某机器指令字长为16位,主存按字节编址,取指令时,每取一个字节PC自动加1,。当前指令地址为2000H,指令内容为相对寻址的无条件转移指令,指令中的形式地址D=40H。那么取指令后及指令执行后PC内容为_____。 A 2000H,2042H B 2002H,2040H C 2002H,2042H D 2000H,2040H 11 指令系统中采用不同的寻址方式的目的主要_____。 A 可降低指令译码难度 B 缩短指令字长,扩大寻址空间,提高编程灵活性

第4章指令系统层习题参考解答-汇编语言与计算机组成原理 答案

1.什么是“程序可见”的寄存器? 程序可见寄存器是指在用户程序中用到的寄存器,它们由指令来指定。 2. 80x86微处理器的基本结构寄存器组包括那些寄存器?各有何用途? 基本结构寄存器组按用途分为通用寄存器、专用寄存器和段寄存器3类。 通用寄存器存放操作数或用作地址指针;专用寄存器有EIP和EFLAGS,分别存放将要执行的下一条指令的偏移地址和条件码标志、控制标志和系统标志;段寄存器存放段基址或段选择子。 3.80x86微处理器标志寄存器中各标志位有什么意义? 常用的7位: CF进位标志: 在进行算术运算时,如最高位(对字操作是第15位,对字节操作是第7位)产生进位或借位时,则CF置1;否则置0。在移位类指令中,CF用来存放移出的代码(0或1)。 PF奇偶标志: 为机器中传送信息时可能产生的代码出错情况提供检验条件。 当操作结果的最低位字节中1的个数为偶数时置1,否则置0。 AF辅助进位标志: 在进行算术运算时,如低字节中低4位(第3位向第4位)产生进位或借位时,则AF置1;否则AF置0。 ZF零标志:如指令执行结果各位全为0时,则ZF置1;否则ZF置0。 SF符号标志:其值等于运算结果的最高位。 如果把指令执行结果看作带符号数,就是结果为负,SF置1;结果为正,SF置0。 OF溢出标志: 将参加算术运算的数看作带符号数,如运算结果超出补码表示数的范围N,即溢出时,则OF置1;否则OF置0。 DF方向标志: 用于串处理指令中控制处理信息的方向。 当DF位为1时,每次操作后使变址寄存器SI和DI减小;当DF位为0时,则使SI和DI增大,使串处理从低地址向高地址方向处理。 4.画出示意图,简述实模式下存储器寻址的过程。 20位物理地址如下计算(CPU中自动完成):10H×段基址+偏移地址=物理地址 5. 画出示意图,简述保护模式下(无分页机制)存储器寻址的过程。 采用对用户程序透明的机制由选择子从描述子表中选择相应的描述子,得到欲访问段的段基址、段限等有关信息,再根据偏移地址访问目标存储单元。

8086汇编指令手册

8086汇编指令手册 一、数据传输指令 它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据. 1. 通用数据传送指令. MOV 传送字或字节. MOVSX 先符号扩展,再传送. MOVZX 先零扩展,再传送. PUSH 把字压入堆栈. POP 把字弹出堆栈. PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈. POPA 把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈. PUSHAD 把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次压入堆栈. POPAD 把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次弹出堆栈. BSWAP 交换32位寄存器里字节的顺序 XCHG 交换字或字节.( 至少有一个操作数为寄存器,段寄存器不可作为操作数) CMPXCHG 比较并交换操作数.( 第二个操作数必须为累加器AL/AX/EAX ) XADD 先交换再累加.( 结果在第一个操作数里) XLAT 字节查表转换. —— BX 指向一张256 字节的表的起点, AL 为表的索引值(0-255,即 0-FFH); 返回AL 为查表结果. ( [BX+AL]->AL ) 2. 输入输出端口传送指令. IN I/O端口输入. ( 语法: IN 累加器, {端口号│DX} ) OUT I/O端口输出. ( 语法: OUT {端口号│DX},累加器) 输入输出端口由立即方式指定时, 其范围是0-255; 由寄存器DX 指定时, 其范围是0-65535. 3. 目的地址传送指令. LEA 装入有效地址. 例: LEA DX,string ;把偏移地址存到DX. LDS 传送目标指针,把指针内容装入DS. 例: LDS SI,string ;把段地址:偏移地址存到DS:SI. LES 传送目标指针,把指针内容装入ES. 例: LES DI,string ;把段地址:偏移地址存到ES:DI. LFS 传送目标指针,把指针内容装入FS. 例: LFS DI,string ;把段地址:偏移地址存到FS:DI. LGS 传送目标指针,把指针内容装入GS. 例: LGS DI,string ;把段地址:偏移地址存到GS:DI. LSS 传送目标指针,把指针内容装入SS. 例: LSS DI,string ;把段地址:偏移地址存到SS:DI. 4. 标志传送指令. LAHF 标志寄存器传送,把标志装入AH. SAHF 标志寄存器传送,把AH内容装入标志寄存器.

寻址方式及指令系统习题与解答

寻址方式及指令系统习题与解答 计算机科学与工程学院黄洪波2012年3月 一、单项选择题 1.设BX=2000H,SI=3000H,指令MOV AX,[BX+SI+8]的源操作有效地址为()。 A.5000H B.5008H C.23008H D.32008H 2.设DS=1000H,ES=2000H,BX=3000H,指令ADD AL,[BX]的源操作数的物理址为()。 A.13000H B.23000H C.33000H D.3000H 3.设DS=2000H,ES=3000H,SI=200H,指令MOV ES:[SI],AL的目的操作数的物理地址为()。 A.20200H B.30200H C.50200H D.200H 4.指令MOV MEM[BX],AX中的MEM是()。 A.原码B.反码C.补码D.移码 5.用来作为寄存器间接寻址的寄存器有()个。 A.8 B.6 C.5 D.4 6.指令MOV [BX+SI],AL中的目的操作数使用()段寄存器。 A.CS B.DS C.SS D.ES 7.指令MOV BX,[BP+5]中的源操作数使用()段寄存器。 A.CS B.DS C.SS D.ES 8.段内间接寻址只改变()中的内容。 A.CS B.IP C.CS和IP D.PSW 9.段间间接寻址只改变()中的内容。 A.CS B.IP C.CS和IP D.PSW 10.下述指令中不改变PSW的指令是()。 A.MOV AX,BX B.AND AL,0FH C.SHR BX,CL D.ADD AL,BL 11.下述指令中不影响CF的指令是()。 A.SHL AL,1 B.INC CX C.ADD [BX],AL D.SUB AX,BX 12.两个整数补码9CH和7AH相加运算后,会产生()。 A.无溢出且无进位B.无溢出但有进位

8086汇编指令大全.

标志寄存器:9个有效位,分 6个状态寄存器和 3个控制寄存器 CF 当执行一个加法(减法使最高位产生进位(借位时 CF=1 否则 CF=0 PF 指令执行的结果低 8位有偶数个一时, CF=1 否则 CF=0 AF 当执行一个加法(减法使运算结果低 4位向高 4位有进位(借位时 AF=1 否则 AF+0 ZF 当前运算结果为零, ZF=1 否则 ZF=0 SF 符号标志位 OF 溢出标志位 DF 方向标志位 IF 中断允许位 IF=1时响应外部中断

TF 跟踪标志位 操作数:[目的操作数(OPD ,源操作数(OPS ] ;立即操作数,寄存器操作数,存储器操作数。寻址方式: 1 寄存器寻址例:INC AX ; MOV AX , BX 2 寄存器间接寻址 (寄存器只能是 BX , DI , SI , BP ; [PA=(BX 、 DI 、 SI +DS》 4 或 BP+SS》4] 3 寄存器相对寻址 4 基址变址寻址 5 相对基址变址寻址 6 直接寻址 7 立即数寻址 i. 立即数寻址立即数寻址不能用在单操作数指令中 ii. 在双操作数中,立即数寻址方式不能用于目的操作数字段 指令系统: 1 数据传送指令 mov 注意: 不允许在两个存储单元之间直接传送数据

不允许在两个段寄存器之间传送数据 不允许用立即数直接为段寄存器赋值 不影响标志位 不允许寄存器或存储单元到除 CS 外的段寄存器 2 入栈(出栈指令 PUSH (POP 注意: PUSH 操作数不能是“立即数” POP 操作数不能是段寄存器 CS 不影响标志位 先进后出 单操作符 3 交换指令 XCHG 注意:

计算机系统结构试题及答案

计算机系统结构复习题 单选及填空: 计算机系统设计的主要方法 1、由上往下的设计(top-down) 2、由下往上的设计(bottom-up) 3、从中间开始(middle-out) Flynn分类法把计算机系统的结构分为以下四类: (1)单指令流单数据流 (2)单指令流多数据流 (3)多指令流单数据流 (4) 多指令流多数据流 堆栈型机器:CPU 中存储操作数的单元是堆栈的机器。 累加器型机器:CPU 中存储操作数的单元是累加器的机器。 通用寄存器型机器:CPU 中存储操作数的单元是通用寄存器的机器。 名词解释: 虚拟机:用软件实现的机器叫做虚拟机,但虚拟机不一定完全由软件实现,有些操作可以由硬件或固件(固件是指具有软件功能的固件)实现。 系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。 兼容机:它是指由不同公司厂家生产的具有相同系统结构的计算机。 流水线技术:将一个重复的时序过程,分解成为若干个子过程,而每一个子过程都可有效地在其专用功能段上与其它子过程同时执行。 单功能流水线:指流水线的各段之间的连接固定不变、只能完成一种固定功能的流水线。 多功能流水线:指各段可以进行不同的连接,以实现不同的功能的流水线。 顺序流水线:流水线输出端任务流出的顺序与输入端任务流入的顺序完全相同。 乱序流水线:流水线输出端任务流出的顺序与输入端任务流入的顺序可以不同,允许后进入流水线的任务先完成。这种流水线又称为无序流水线、错序流水线、异步流水线。 吞吐率:在单位时间流水线所完成的任务数量或输出结果的数量。 指令的动态调度:

是指在保持数据流和异常行为的情况下,通过硬件对指令执行顺序进行重新安排,以提高流水线的利用率且减少停顿现象。是由硬件在程序实际运行时实施的。 指令的静态调度: 是指依靠编译器对代码进行静态调度,以减少相关和冲突。它不是在程序执行的过程中、而是在编译期间进行代码调度和优化的。 超标量: 一种多指令流出技术。它在每个时钟周期流出的指令条数不固定,依代码的具体情况而定,但有个上限。 超流水:在一个时钟周期分时流出多条指令。 多级存储层次: 采用不同的技术实现的存储器,处在离CPU不同距离的层次上,各存储器之间一般满足包容关系,即任何一层存储器中的容都是其下一层(离CPU更远的一层)存储器中容的子集。目标是达到离CPU最近的存储器的速度,最远的存储器的容量。 写直达法: 在执行写操作时,不仅把信息写入Cache中相应的块,而且也写入下一级存储器中相应的块。写回法: 只把信息写入Cache中相应块,该块只有被替换时,才被写回主存。 集中式共享多处理机: 也称为对称式共享存储器多处理SMP。它一般由几十个处理器构成,各处理器共享一个集中式的物理存储器,这个主存相对于各处理器的关系是对称的, 分布式共享多处理机: 它的共享存储器分布在各台处理机中,每台处理机都带有自己的本地存储器,组成一个“处理机-存储器”单元。但是这些分布在各台处理机中的实际存储器又合在一起统一编址,在逻辑上组成一个共享存储器。这些处理机存储器单元通过互连网络连接在一起,每台处理机除了能访问本地存储器外,还能通过互连网络直接访问在其他处理机存储器单元中的“远程存储器”。 多Cache一致性: 多处理机中,当共享数据进入Cache,就可能出现多个处理器的Cache中都有同一存储器块的副本,要保证多个副本数据是一致的。 写作废协议: 在处理器对某个数据项进行写入之前,它拥有对该数据项的唯一的访问权 。 写更新协议: 当一个处理器对某数据项进行写入时,它把该新数据广播给所有其它Cache。这些Cache用该新数据对其中的副本进行更新。 机群:是一种价格低廉、易于构建、可扩放性极强的并行计算机系统。它由多台同构或异构

习题解答

第1章汇编语言基础知识习题解答 1.1 什么是汇编语言?汇编语言的特点是什么? 答:为了克服机器语言难以记忆、表达和阅读的缺点,人们采用具有一定含义的符号作为助忆符,用指令助忆符、符号地址等组成的符号指令称为汇编格式指令(或汇编指令)。汇编语言是汇编指令集、伪指令集和使用它们规则的统称。汇编语言的特点是: (1)执行速度快。(2)程序短小。 (3)可以直接控制硬件。 (4)可以方便地编译。 (5)辅助计算机工作者掌握计算机体系结构。 (6)程序编制耗时,可读性差。(7)程序可移植性差。 1.2 把下列十进制数转换成二进制数、八进制数、十六进制数。 ① 127 ② 1021 ③ 0.875 ④ 6.25 答: ① 1111111B;177Q;7FH ② 1111111101;1775Q;3FDH ③ 0.111 B;0.7Q;0.EH ④ 110.01B;6.2Q;6.4H 1.3把下列二进制数转换成十进制数。 ① 1001.11 ② 101011.10011 ③ 111.011 ④ 1011.1 答: ① 9.75D ② 43.59375D ③ 7.375D ④ 11.5D 1.4 把下列八进制数转换成十进制数。 ① 573.06 ② 75.23 ③ 431.7 ④ 123.45 答: ① 379.09375D ② 61.296875D ③ 281.875 ④ 83.578125 1.5 把下列十六进制数转换成十进制数。 ① 0D5.F4 ② 8BA.7C ③ 0B2E.3A ④ 6EC.2D 答: ① 213.953125D ②2234.484375 ③2862.2265625 ④1772.17578125 1.6 把下列英文单词转换成ASCII编码的字符串。 ① Upper ② Blow ③ Computer ④ What 答: ① 55H,70H,70H,65H,72H ② 53H,6CH,6FH,77H ③ 43H,6FH,6DH,70H,75H,74H,65H,72H ④ 57H,68H,61H,74H 1.7求下列带符号十进制数的8位基2码补码。 ① +127 ②?2 ③?128 ④ +2 答: ① 01111111B ② 11111110B ③ 10000000B ④ 00000010B 1.8 求下列带符号十进制数的16位基2码补码。 ① +628 ②?9 ③?1234 ④ +3249 答: ① 0000001001110100B ② 1111111111110111B ③ 1111101100101110B ④ 110010110001B 1.9 下列各数均为十进制数,请用8位二进制补码计算下列各题,并用十 六进制数表示其运算结果。 ① 68+(―53)② 68―53 ③ 68―(―53)④(―68)―53 答: ① 0FH ②0FH ③ 0A1H ④87H 1.10 汉字在输入、存储、输出过程中所使用的汉字编码是否一样?使用的是什么编码? 答: 在汉字的输入、存储、输出过程中所使用的汉字编码是不一样的,输入时有输入编码,存储时有汉字机内码,输出时有汉字字形码。

常用8086汇编指令(彩色版)

8086/8088指令系统 一、数据传送指令 1.通用数据传送指令 MOV(Move)传送 PUSH(Push onto the stack)进栈 POP(Pop from the stack)出栈 XCHG(Exchange)交换 .MOV指令 格式为:MOV DST,SRC 执行的操作:(DST)<-(SRC) .PUSH进栈指令 格式为:PUSH SRC 执行的操作:(SP)<-(SP)-2 ((SP)+1,(SP))<-(SRC) .POP出栈指令 格式为:POP DST 执行的操作:(DST)<-((SP+1),(SP)) (SP)<-(SP)+2 .XCHG交换指令 格式为:XCHG OPR1,OPR2 执行的操作:(OPR1)<-->(OPR2) 2.累加器专用传送指令 IN(Input)输入 OUT(Output)输出 XLAT(Translate)换码 这组指令只限于使用累加器AX或AL传送信息. .IN输入指令 长格式为:IN AL,PORT(字节) IN AX,PORT(字) 执行的操作:(AL)<-(PORT)(字节) (AX)<-(PORT+1,PORT)(字) 短格式为:IN AL,DX(字节) IN AX,DX(字) 执行的操作:AL<-((DX))(字节) AX<-((DX)+1,DX)(字) .OUT输出指令 长格式为:OUT PORT,AL(字节) OUT PORT,AX(字)

执行的操作:(PORT)<-(AL)(字节) (PORT+1,PORT)<-(AX)(字) 短格式为:OUT DX,AL(字节) OUT DX,AX(字) 执行的操作:((DX))<-(AL)(字节) ((DX)+1,(DX))<-AX(字) 在IBM-PC机里,外部设备最多可有65536个I/O端口,端口(即外设的端口地址)为0000~FFFFH.其中前256个端口(0~FFH)可以直接在指令中指定,这就是长格式中的PORT,此时机器指令用二个字节表示,第二个字节就是端口号.所以用长格式时可以在指定中直接指定端口号,但只限于前256个端口.当端口号>=256时,只能使用短格式,此时,必须先把端口号放到DX寄存器中(端口号可以从0000到0FFFFH),然后再用IN或OUT指令来传送信息. .XLAT换码指令 格式为:XLAT OPR 或:XLAT 执行的操作:(AL)<-((BX)+(AL)) 3.有效地址送寄存器指令 LEA(Load effective address)有效地址送寄存器 LDS(Load DS with Pointer)指针送寄存器和DS LES(Load ES with Pointer)指针送寄存器和ES .LEA有效地址送寄存器 格式为:LEA REG,SRC 执行的操作:(REG)<-SRC 指令把源操作数的有效地址送到指定的寄存器中. .LDS指针送寄存器和DS指令 格式为:LDS REG,SRC 执行的操作:(REG)<-(SRC) (DS)<-(SRC+2) 把源操作数指定的4个相继字节送到由指令指定的寄存器及DS寄存器中.该指令常指定SI寄存器. .LES指针送寄存器和ES指令 格式为:LES REG,SRC 执行的操作:(REG)<-(SRC) (ES)<-(SRC+2) 把源操作数指定的4个相继字节送到由指令指定的寄存器及ES寄存器中.该指令常指定DI寄存器. 4.标志寄存器传送指令 LAHF(Load AH with flags)标志送AH SAHF(store AH into flags)AH送标志寄存器 PUSHF(push the flags)标志进栈 POPF(pop the flags)标志出栈 .LAHF标志送AH

计算机体系结构 习题与答案

第二章习题(P69-70) 一、复习题 1.简述冯?诺依曼原理,冯?诺依曼结构计算机包含哪几部分部件,其结构以何部件为中心? 答:冯?诺依曼理论的要点包括:指令像数据那样存放在存储器中,并可以像数据那样进行处理;指令格式使用二进制机器码表示;用程序存储控制方式工作。这3条合称冯?诺依曼原理 冯?诺依曼计算机由五大部分组成:运算器、控制器、存储器、输入设备、输出设备,整个结构一般以运算器为中心,也可以以控制器为中心。 (P51-P54) 2.简述计算机体系结构与组成、实现之间的关系。 答:计算机体系结构通常是指程序设计人员所见到的计算机系统的属性,是硬件子系统的结构概念及其功能特性。计算机组成(computer organization)是依据计算机体系结构确定并且分配了硬件系统的概念结构和功能特性的基础上,设计计算机各部件的具体组成,它们之间的连接关系,实现机器指令级的各种功能和特性。同时,为实现指令的控制功能,还需要设计相应的软件系统来构成一个完整的运算系统。计算机实现,是计算机组成的物理实现, 就是把完成逻辑设计的计算机组成方案转换为真实的计算机。计算机体系结构、计算机组成和计算机实现是三个不同的概念,各自有不同的含义,但是又有着密切的联系,而且随着时间和技术的进步,这些含意也会有所改变。在某些情况下,有时也无须特意地去区分计算机体系结构和计算机组成的不同含义。 (P47-P48) 3.根据指令系统结构划分,现代计算机包含哪两种主要的体系结构? 答:根据指令系统结构划分,现代计算机主要包含:CISC和RISC两种结构。 (P55) 4.简述RISC技术的特点? 答:从指令系统结构上看,RISC 体系结构一般具有如下特点: (1) 精简指令系统。可以通过对过去大量的机器语言程序进行指令使用频度的统计,来选取其中常用的基本指令,并根据对操作系统、高级语言和应用环境等的支持增设一些最常用的指令; (2) 减少指令系统可采用的寻址方式种类,一般限制在2或3种; (3) 在指令的功能、格式和编码设计上尽可能地简化和规整,让所有指令尽可能等长; (4) 单机器周期指令,即大多数的指令都可以在一个机器周期内完成,并且允许处理器在同一时间内执行一系列的指令。 (P57-58) 5.有人认为,RISC技术将全面替代CISC,这种观点是否正确,说明理由? 答:不正确。与CISC 架构相比较,RISC计算机具备结构简单、易于设计和程序执行效率高的特点,但并不能认为RISC 架构就可以取代CISC 架构。事实上,RISC 和CISC 各有优势,CISC计算机功能丰富,指令执行更加灵活,这些时RISC计算机无法比拟的,当今时代,两者正在逐步融合,成为CPU设计的新趋势。 (P55-59) 6.什么是流水线技术? 答:流水线技术,指的是允许一个机器周期内的计算机各处理步骤重叠进行。特别是,当执行一条指令时,可以读取下一条指令,也就意味着,在任何一个时刻可以有不止一条指令在“流水线”上,每条指令处在不同的执行阶段。这样,即便读取和执行每条指令的时间保持不变,而计算机的总的吞吐量提高了。 (P60-62) 7.多处理器结构包含哪几种主要的体系结构,分别有什么特点? 答:多处理器系统:主要通过资源共享,让共享输入/输出子系统、数据库资源及共享或不共享存储的一组处理机在统一的操作系统全盘控制下,实现软件和硬件各级上相互作用,达到时间和空间上的异步并行。 SIMD计算机有多个处理单元,由单一的指令部件控制,按照同一指令流的要求为他们

习题1——指令系统 参考答案

《汇编语言》习题1——指令系统参考答案 习题1-1 在8086CPU中,如果SS的内容设置为1A4BH,堆栈的长度为100H字节,问SP寄存器的初始化值为多少?SP初始指向哪个主存物理地址? 答:SP寄存器的初始化值为:100H SP初始指向的主存物理地址是:1A5B0H 习题1-2 分别说明下述8086指令中的源操作数和目的操作数的寻址方式。 指令目的操作数源操作数 (1) MOV ES, AX 寄存器寻址寄存器寻址 (2) ADD DS:[12H],AL 直接寻址寄存器寻址 (3) SUB BX,1200H 寄存器寻址立即寻址 (4) SHR AX,1 寄存器寻址立即寻址 (5) AND -28H[BP][DI], AX 基址变址寻址寄存器寻址 (6) MOV CX,LAB1[BX] 寄存器寻址基址/变址寻址 (7) SBB AX, [BX] 寄存器寻址寄存器间接寻址 (8) OR DX,-360H[SI] 寄存器寻址基址/变址寻址 (9) ADC VAR1,CX 直接寻址寄存器寻址 (10) XOR [DI],AX 寄存器间接寻址寄存器寻址 习题1-3分别说明下述指令语句的语法正确与否,如果有错,说明其错误。 指令正误 (1)MOV DS, 1234H 错误,立即数不能直接传送到段寄存器中 (2)ADD AH,AL 正确 (3)SUB CS,AX 错误,不能对CS直接操作 (4)MOV BX,[BX][SI] 正确 (5)ADC VAR1,[BP][DI] 错误,两个操作数不能同时都在存储器中 (6) SBB [BX][BP],AX 错误, 基址变址寻址方式中不能两个寄存器都是基址寄存器 (7)PUSH 5678H 错误,立即数不能作为源操作数直接压入堆栈 (8)SHL [BP][SI],CL 错误,目的操作数没有明确指明是字还是字节 (9)ROR AX,2 错误,移位次数大于1时,需将其提前存入CL中 (10)NEG AX,BX 错误,操作数个数错误 (11)LEA CS,AX 错误,目的操作数只能是16位通用寄存器 (12)MOV AL,BX 错误, 操作数位数不一致 (13)ADD DS:200H,AX 正确 (14)AND [BX][BP],AH 错误, 基址变址寻址方式中不能两个寄存器都 是基址寄存器 (15)OR BH,-16H[BP] 正确 (16)CLC AX 错误,操作数个数错误 (17)MUL AX,BX 错误,操作数个数错误 (18)DIV 12H 错误,源操作数不能是立即数 习题1-4 在8086中,如果(DS)=1A26H,(SS)=20B0H,(BX)=1200H,(SI)=0034H, (BP)=5700H(1B484H)=1234H,(26200H)=5678H,给出下面各指令或指令组执行后相应寄存器/存储单元的结果。

8086指令表

表2-2算术运算指令

表2-4 串操作指令

表2-5程序转移指令

表2-7串操作指令中寄存器和标志位的用途 1.设BL=0FFH,执行指令“SAR BL , 1”后,BL中的内容是(0FFH)。 2.设SP=1300H,AX=200H,执行指令“POP AX”后,SP寄存器的内容为(1302H)。 3.十进制数的-1的8位二进制补码,用十六进制数表示是(D) A.01H B.8FH C.0FEH D.0FFH

MOV用法总结 非法操作: 1.两个操作数都是存储器操作数 2.src是立即数,dest是段寄存器 3.两个操作数都是段寄存器 MOV指令用法的举例: MOV AX , CX ;段寄存器至通用寄存器 MOV AL , 125 ;立即数至寄存器 MOV MEM , 15 ;立即数至存储器,直接寻址 MOV SI , BX ;寄存器至寄存器 MOV DS , AX ;通用寄存器至段寄存器(CS不行) MOV [BX] , 50H ;立即数至存储器,寄存器间接寻址 MOV MEM , AX ;寄存器至存储器,直接寻址 MOV MEM , DS ;段寄存器至存储器,直接寻址 MOV ISP[BX] , CX ;寄存器至存储器,基址寻址 MOV AX , DISP[SI] ;存储器至寄存器,变址寻址 MOV DS , MEM ;存储器至段寄存器,直接寻址 MOV AX , DISP[BX] [SI] ;存储器至寄存器,基址变址寻址 标志位 1.CF:进位标志位。当进行加法或减法运算时,最高位发生进位或借位,CF=1;否则,CF=0。 2.PF:奇偶标志位。当运算结果的最低有效字节中“1”的个数为偶数时,PF=1;为奇数时,CF=0。 3.AF:辅助进位位。在减法或加法操作中,低4位向高4位有进位、借位发生时,AF=1;否则,AF=0。 4.ZF:零标志位。ZF=1表示运算结果为零;否则ZF=0。 5.SF:符号标志位。SF=1表示运算结果的最高位为1(即为负数);否则SF=0。 6.OF:溢出标志位。OF=1表示溢出,即算术运算的结果超出了带符号数的范围;OF=0表示未溢出。8位带符号数的范围是-128--+127,16位带符号数的范围是-32768--+3276 7. 7.TF:跟踪标志位。TF=1是CPU处于单步执行指令的工作方式。这种方式便于进行程序的调试。每执行一条指令后,便自动产生一次内部中断,从而能逐条地检查程序。 8.IF:中断允许标志位。IF=1使CPU可以响应可屏蔽中断请求。IF=0使CPU 禁止响应可屏蔽中断请求。不可屏蔽中断和内部中断不受IF影响。 9.DF:方向标志位。DF=1字符串操作按地址递减进行;DF=0字符串操作按地址递增进行。

指令系统练习与答案

计算机原理 指令系统练习与答案 一、填空题 1 、一个完善的指令系统应满足以下4 个方面的要求,它们是:完备性、有效性、规整性和兼容性。 2 、一条完整的指令是由操作码和地址码(操作数)两部分信息组成的。 3 、指令中的地址码字段包括源操作数的地址和操作结果数的地址(目的操作数的地址),前者用语指明操作数的存放处,后者用语存放运算的结果。 4 、指令格式按地址码部分的地址个数可以分为零地址指令格式、一地址指令格式、二地址指令格式和三地址指令格式。 5 、常见的操作码方法有定长操作码和扩展操作码。 6 、逻辑运算指令包括逻辑乘(与)、逻辑加(或)、逻辑非(求反)和异或(按位加)等操作。 二、单项选择题 1 、直接、间接、立即这3 种寻址方式指令的执行速度有快到慢的排序是(C ) A .直接、立即、间接 B .直接、间接、立即 C .立即、直接、间接 D .立即、间接、直接 2 、指令系统中采用不同寻址方式的目的是(B ) A .实现存储程序和程序控制 B .缩短指令长度,扩大寻址空间,提高编程灵活性 C .可以直接访问外存 D .提高扩展操作码的可能并降低指令译码难度 3 、一地址指令中为了完成两个数的算术运算,除地址码指明的一个操作数外,另一个数常采用(C ) A .堆栈寻址方式 B .立即寻址方式 C .隐含寻址方式 D .间接寻址方式 4 、对某个寄存器中操作数的寻址方式称为(C )寻址方式 A .直接 B .间接 C .寄存器直接 D .寄存器间接 5 、寄存器间接寻址方式中,操作数在(B ) A .通用寄存器 B .主存单元 C .程序计数器 D .外存 6 、变址寻址方式中,操作数的有效地址等于(C ) A .基址寄存器内容加上偏移量 B .堆栈指示器内容加上偏移量 C .变址寄存器内容加上偏移量 D .程序计数器内容加上偏移量 7 、扩展操作码是(D ) A .操作码字段中用来进行指令分类的代码 B .指令格式中不同字段设置的操作码 C .操作码字段外用来操作字段的代码 D .一种指令优化技术,即让操作码的长度随地址数的变化而变化 8 、下面关于汇编语言的叙述中,不恰当的是(D ) A .对程序员的训练要求来说,需要硬件知识 B .汇编语言对机器的依赖性强 C .用汇编语言编写程序的难度比高级语言大 D .用汇编语言编写的程序执行速度比高级语言慢 9 、能够改变程序执行顺序的是(D ) A .数据传送类指令 B .移位操作类指令 C .输入/ 输出类指令 D .条件/ 无条件转移类指令 10 、以下的(D )不能支持数值处理

第二章8086习题答案

第二章8086习题答案

微机原理第二章习题与分析解答 1.单项选择题 (1)8086工作最大方式时应将引脚MN/MX接() A.负电源 B.正电源 C.地 D.浮空 分析:8086规定工作在最小方式下MN/MX接+5V,工作在最大方式下MN/MX 接地。 答案:C (2)8086能寻址内存储器的最大地址范围为() A.64KB B.1MB C.16MB D.16KB 分析:8086有A 0~A 19 20条地址总线,220=1MB。 答案:B (3)在总线周期,8086CPU与外设需交换() A.地址信息 B.数据信息 C.控制信息 D.A、B、C 分析在总线周期,CPU必须发出地址信息的控制信息以后,才能实现与外设进行交换数据。 答案:D (4)8086用哪种引脚信号来确定是访问内存还是访问外设() A.RD B.WR C.M/IO D.INTA 分析:引脚信号M/IO是Memory or Input Output的缩写,当M/IO=0时,用以访问外设;当M/IO=1,用以访问外设。 答案:C (5)在8086指令系统中,下列哪种寻址方式不能表示存储器操作数()A.基址变址寻址B.寄存器寻址C.直接寻址D.寄存器间接寻址 分析:8086指令系统共有七种寻址方式,只有立即寻址方式和寄存器寻址方式不是表示存储器操作数的。 答案:B (6)当CPU时钟频率为5MHz,则其总线周期() A.0.8 s B.500ns C.200ns D.200μs 分析:时钟周期T=1/?=200ns,而一个总路线周期通常由4个T状态组成,有4╳T=4╳200ns=0.8μs. 答案:A (7)8086工作在最大方式下,总路线控制器使用芯片() A.8282 B.8286 C.8284 D.8288 分析:在最大方式下,系统中主要控制信号是由总路线控制器产生,而只有芯片8288才有这方面的功能。 答案:D (8)取指令物理地址=() A.(DS)╳10H+偏移地址 B.(ES)╳10H+偏移地址 C.(SS)╳10H+(SP) D.(CS)╳10H+(IP) 分析:每当8086CPU取指令时,总是根据CS:IP的所指的存贮单元去取指令。 答案:D (9)一个数据的有效地址是2140H、(DS)=1016H,则该数据所在内存单元

8086汇编指令表

8086汇编指令表

MOV MOV DST,SRC DST≠CS、IP和imm 不影响 标志位 MOV [9AF0H],AL MOVS MOVS mem, mem MOVSB/W 不影响 标志位 字符串传送ES:DI←(DS:SI) SI←(SI)(+/-)1 DI←(DI)(+/-)1 MOVS ES:BYTE PTR[DI], DS:[SI] MUL MUL r/m8 设置CF OF S Z A P无法预 测 无符号乘法:AX←AL*r/m8 MUL CL MUL r/m16 无符号乘法:DX:AX←AX*r/m16 MUL CX NEG NEG reg/mem CF OF SF ZF AF PF 求补:取反加一 0-(DST) NEG CL NOP NOP 不影响空操作NOP NOT NOT reg/mem 不影响按位取反NOT CL OR 同AND PF SF ZF CF=OF=0 逻辑或 OR AL,0FH (不变\置1) OUT OUT imm8,AL/AX/EAX 不影响 标志位 将AL/AX/EAX输出到imm8指定端 口 OUT 0FFH,AL OUT DX,AL/AX/EAX 将AL/AX/EAX输出到DX指定的端口OUT DX,AL POP POP DST DST!=imm & CS 不影响 标志位 DST←((SP)+1,(SP)) SP←(SP)+2 POP WORD Ptr [87EAH] POPF POPF 设置所有标志位从堆栈中弹出16位标志寄存器POPF PUSH PUSH SRC 8086 SRC!=imm 不影响 标志位 SP<--(SP)-2 ((SP)+1,(SP))←(SRC) [SP循 环] PUSH WORD Ptr [87EAH] PUSHF PUSHF 不影响压栈16位标志寄存器PUSHF RCL 同SHL 同ROL 带进位循环左移 RCL AL,1 RCR 同SHL 同ROL 带进位循环右移 RCR AL,1 ROL 同SHL 移一位后符号位 改变则OF=1 循环左移: ROL AL,1 ROR 同SHL 同ROL 循环右移: ROR AL,1 REP REP String operation 不影响 标志位 CX=0则终止---CX←(CX)-1 ---串操作---SI/DI增量 REPZ REPE REPE String operation AF CF OF PF SF ZF CX=0||ZF=0则终止 ---CX←(CX)-1 ---串比较---SI/DI增量 REPNZ REPNE REPNE String operation AF CF OF PF SF ZF CX=0||ZF=1则终止--- CX←(CX)-1 ---串比较---SI/DI增量 RET RET 恢复压栈标志位 POP IP[CS] 子过程返回(Near)/(Far) RET RET imm16 子过程返回后SP←(SP)+imm16 RET 08

第二章8086习题答案

微机原理第二章习题与分析解答 1.单项选择题 (1)8086工作最大方式时应将引脚MN/MX接() A.负电源 B.正电源 C.地 D.浮空 分析:8086规定工作在最小方式下MN/MX接+5V,工作在最大方式下MN/MX 接地。 答案:C (2)8086能寻址内存储器的最大地址范围为() A.64KB B.1MB C.16MB D.16KB 分析:8086有A 0~A 19 20条地址总线,220=1MB。 答案:B (3)在总线周期,8086CPU与外设需交换() A.地址信息 B.数据信息 C.控制信息 D.A、B、C 分析在总线周期,CPU必须发出地址信息的控制信息以后,才能实现与外设进行交换数据。 答案:D (4)8086用哪种引脚信号来确定是访问内存还是访问外设() A.RD B.WR C.M/IO D.INTA 分析:引脚信号M/IO是Memory or Input Output的缩写,当M/IO=0时,用以访问外设;当M/IO=1,用以访问外设。 答案:C (5)在8086指令系统中,下列哪种寻址方式不能表示存储器操作数()A.基址变址寻址B.寄存器寻址C.直接寻址D.寄存器间接寻址 分析:8086指令系统共有七种寻址方式,只有立即寻址方式和寄存器寻址方式不是表示存储器操作数的。 答案:B (6)当CPU时钟频率为5MHz,则其总线周期() A.0.8 s B.500ns C.200ns D.200μs 分析:时钟周期T=1/?=200ns,而一个总路线周期通常由4个T状态组成,有4╳T=4╳200ns=0.8μs. 答案:A (7)8086工作在最大方式下,总路线控制器使用芯片() A.8282 B.8286 C.8284 D.8288 分析:在最大方式下,系统中主要控制信号是由总路线控制器产生,而只有芯片8288才有这方面的功能。 答案:D (8)取指令物理地址=() A.(DS)╳10H+偏移地址 B.(ES)╳10H+偏移地址 C.(SS)╳10H+(SP) D.(CS)╳10H+(IP) 分析:每当8086CPU取指令时,总是根据CS:IP的所指的存贮单元去取指令。 答案:D (9)一个数据的有效地址是2140H、(DS)=1016H,则该数据所在内存单元

系统结构试题

一、(20分)选择题: 1、在计算机系统结构来看,机器语言程序员看到的机器属性是( C )。 A)计算机软件所要完成的功能 B)计算机硬件的全部组成 C)编程要用到的硬件知识 D)计算机各部件的硬件实现 2、对汇编语言程序员透明的是(A )。 A)I/O方式中的DMA访问方式B)浮点运算 C)程序性中断 D)存取操作数 3、用循环表示PM2-1的互连函数,应该是(A)。 A)(6 4 2 0)(7 5 3 1)B)(0 2 4 6)(1 3 5 7) C)(0 1 2 3 4 5 6 7)D)(7 6 5 4 3 2 1 0) 4、在提高CPU性能的问题上,从系统结构角度,可以(C)。P10 A)提高时钟频率B)减少程序指令条数 C)减少每条指令的时钟周期数D)减少程序指令条数和减少每条指令的时钟周期数 5、能实现指令、程序、任务级并行的计算机系统属于(D)。 A)SISD B)SIMD C)MISD D)MIMD 6、计算机系统结构不包括(A )。P4 A)主存速度B)机器工作状态C)信息保护D)数据表示 7、"一次重叠"中消除"指令相关"最好的方法是(A)。 A)不准修改指令 B)设相关专用通路C)推后分析下条指令D)推后执行下条指令 8、重叠寄存器技术主要用于解决在RISC系统中因( B )而导致的问题。P121 A)JMP指令影响流水线B)CALL指令的现场保护 C)只有LOAD和STORE指令带来的访问存储器不便D)存储器访问速度 10、推出系列机的新机器,不能更改的是(A )。 A)原有指令的寻址方式和操作码B)系统的总线的组成 C)数据通路宽度D)存储芯片的集成度 11、在流水机器中,全局性相关是指(D)。 A)先写后读相关B)先读后写相关C)指令相关D)由转移指令引起的相关 12、下列说法不正确的是(D)。 A)线性流水线是单功能流水线B)动态流水线是多功能流水线 C)静态流水线是多功能流水线D)动态流水线只能是单功能流水线 13、结构不对称的静态互联网络是是(A)。 A)线性阵列B)环网C)立方体网络D)全连接网络

相关文档
最新文档