文档库 最新最全的文档下载
当前位置:文档库 › 微机原理第三章

微机原理第三章

微机原理第三章
微机原理第三章

四. 判断下列指令书写是否正确,如有错误,指出错在何处并用正确的程序段(一条或多条指令)实现原错误指令((8)、(13)除外)期望实现的操作。

(1)MOV AL,BX (9)MOV ES,3278H

(2)MOV AL,SL (10)PUSH AL

(3)INC [BX] (11)POP [BX]

(4)MOV 5,AL (12)MOV [1A8H],23DH

(5)MOV [BX],[SI] (13)PUSH IP

(6)MOV BL,F5H (14)MOV [AX],23DH

(7)MOV DX,2000H (15)SHL AX,5

(8)POP CS (16)MUL AX,BX

答:(7)、(11)、(12)正确,其他指令有错误

(1)两操作数类型不匹配,可改为MOV AL,BL或MOV AX,BX

(2)SL寄存器书写错误,原意应为SI,另外两操作数类型不匹配,可改为MOV AX,SI (3)操作数是字还是字节不明确,可改为INC WORD PTR [BX]或INC BYTE PTR [BX] (4)立即数不能为目的操作数

(5)两操作数不能同时为存储器寻址,可改为

MOV AX,[SI]

MOV [BX],AX

(6)F5H前应加0,以区别符号变量F5H

(8)CS不能为操作数

(9)立即数不能直接送给段寄存器,可改为

MOV AX,3278H

MOV ES,AX

(10)立即数应为字类型,可改为PUSH AX

(13)IP不能为操作数

(14)AX不能用于寄存器间接寻址,可改为

MOV BX,AX

MOV [BX],23DH

(15)大于1的移动次数不能直接出现在指令中,只能用CL,可改为

MOV CL,5

SHL AX,CL

(16)在MUL指令中AX为隐含操作数,可改为MUL BX

五、根据以下要求选用相应的指令或指令序列

1、把4629H传送给AX寄存器

MOV AX,4629H

2、把DATA的段地址和编移地址装入DS和BX中。

LDS BX,DATA

我的答案:MOV AX,DA TA

MOV DS,AX

LEA BX,DA TA

3、把BX寄存器和DX寄存器内容相加,结果存入DX寄存器中。

ADD DX,BX

4、AX寄存器中的内容减去0360H,结果存入AX中。

SUB AX,0360H

5、把附加段偏移量为0500H字节存储单元的内容送BX寄存器。

MOV BX,ES:[0500H]

我的答案:MOV BL,ES:[0500H]

MOV BX,0

6、AL寄存器的内容乘以2。

MOV BL,2

MUL BL

7、AL的带符号数乘以BL的带符号数,结果存入AX中。

IMUL BL

8、CX寄存器清零。

MOV CX,0

9、置DX寄存器的高3位为1,其余位不变。

OR DX,0E000H

10、置AL寄存器的低4位为0,其余位不变。

AND AL,0F0H

11、把CL寄存器的高4位变反,其余位不变。

XOR CL,0F0H

12、使AX中的有符号数除以2。

MOV BL,2

IDIV BL

13、寄存器AL中的高、低四位交换。

MOV CL,4

ROL AL,CL

14、寄存器DX和AX组成32位数左移一位。

SHL AX,1

RCL DX,1

15、寄存器DX和AX组成的32位有符号数的补码。

NEG DX

NEG AX

SBB DX,0

六.8086/8088用什么途径来更新CS和IP的值?

【答】可通过三个途径来更换CS和IP的值:

(1) 无条件段间转移指令

(2) 远距离过程调用和返回指令

(3) 软硬件中断

七.中断指令执行时,堆栈的内容有什么变化?中断处理子程序的人口地址是怎样得到的?【答】中断指令执行时,堆栈内容变化如下:标志寄存器被推入堆栈,且SP减2,然后CPU 将主程序的下一条指令地址即断点地址推入堆栈,即段值CS推入堆栈且SP减2,偏移量推入堆栈,且SP减2。中断处理子程序的入口地址即中断向量,对应的中断类型号的4倍即为中断向量地址,在该地址处的4个字节内容,高地址单元两个字节为中断入口地址的段地址,低地址单元两个字节为中断入口地址的偏移地址。

八.中断返回指令IRET和普通子程序返回指令RET在执行时,具体操作内容什么不同?【答】IRET从堆栈中依次弹出断点处指令指针IP、代码段CS内容与标志寄存器的值,而RET从堆栈中依次弹出断点处指令指针IP值、代码段CS内容,不需要弹出标志寄存器的值。

微机原理试题及答案3.docx

长沙理工A 一、填空题(每空1分,共20分) 1、完成下面不同数制之间的转换 73.25D= ____________ B, 10010010B = ____________ H 100101.11B = __________ D= ___________ BCD 2、指令MOV AL, BL对源操作数来说是 ____________ 寻址方式, MOV AX, [BX+6]对源操作数来说是___________ 寻址方式, MOV AX, DS:[2000H]对源操作数来说是 __________ 寻址方式。 3、8088CPU的地址总线有____________ 条,最大内存空间为 ___________ ,物理地址是ftl _________ 和_________ 形成的o 4、在8088系统中五片中断控制器8259可控制____________ 个中断源。 5、执行INT 04H后,中断服务程序入口地址的CS在_________ , ____ 单元,IP在______ , _____ 单元中。 6、串行通信有两种基本的通信方式,分别是____________ 和_________ 。 7、8255有两个控制字,它们分别是__________ 和 _________ o 二、选择题(单项选择,每题2分,共20分) 1 >卜列8086CPU标志寄存器FR的标志中,不属于状态标志的是() A.OF B.PF C.IF D.CF 2、在数据传输率相同的情况下,同步字符串送的速度高于异步字符传输,其原因是() A.字符间无间隔 B.双方通信同步 C.发生错谋的概率少 D.附加位信息总量少 3、在CMPAX, DX指令执行后,当标志位SF, OF, ZF满足逻辑关系(SF十OF) +ZF=0 时,表明()o A. AX >DX B. AX

大学微机原理第三章习题

8086/8088的寻址方式和指令系统习题 一.单项选择题 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.无溢出但有进位 C.有溢出且有进位D.有溢出但无进位 13.指令JMP WORD PTR [BX]属于()寻址。 A.段内直接B.段内间接C.段间直接D.段间间接 14.指令MOV AX,[BX+SI+8]的源操作数属于()寻址。 A.直接 B.寄存器相对C.基址变址D.相对基址变址 15.指令()不改变CF的内容。 A.DEC AL B.ADD AX,CX C.SUB [BX],CL D.SBB AL,DL 16.十进制数字74所对应的压缩型BCD码的形式是()。 A.74 B.74H C.4AH D.4A 17.十进制数字85所对应的非压缩型BCD码的形式是()。 A.0085 B.0085H C.0805 D.0805H 18.设AL=67H,执行“CMP AL,76H”后,AL=()。 A.76H B.0DFH C.67H D.00 19.设AL=65H,BL=29H,执行下列指令后,AL=()。 ADD AL,BL DAA

微型计算机原理 (第三章课后答案)教学教材

微型计算机原理(第三章课后答案)

微型计算机原理 第三章 80X86微处理器 1.简述8086/8088CPU中BIU和EU的作用,并说明其并行工作过 程。答: (1) BIU的作用:计算20位的物理地址,并负责完成CPU与存储器或I/O端口之间的数据传送。 (2) EU的作用:执行指令,并为BIU提供所需的有效地址。 (3) 并行工作过程:当EU从指令队列中取出指令执行时,BIU将从内存中取出指令补充到指令 队列中。这样就实现了取指和执行指令的并行工作。 2.8086/8088CPU内部有哪些寄存器?其主要作用是什么? 答:8086/8088CPU内部共有14个寄存器,可分为4类:数据寄存器4个,地址寄存器4个,段寄 存器4个和控制寄存器2个。其主要作用是: (1) 数据寄存器:一般用来存放数据,但它们各自都有自己的特定用途。 AX(Accumulator)称为累加器。用该寄存器存放运算结果可使指令简化,提高指令的执行速度。 此外,所有的I/O指令都使用该寄存器与外设端口交换信息。 BX(Base)称为基址寄存器。用来存放操作数在内存中数据段内的偏移地址, CX(Counter)称为计数器。在设计循环程序时使用该寄存器存放循环次数,可使程序指令简化, 有利于提高程序的运行速度。 DX(Data)称为数据寄存器。在寄存器间接寻址的I/O指令中存放I/O端口地址;在做双字长

乘除法运算时,DX与AX一起存放一个双字长操作数,其中DX存放高16位数。 (2) 地址寄存器:一般用来存放段内的偏移地址。 SP(Stack Pointer)称为堆栈指针寄存器。在使用堆栈操作指令(PUSH或POP)对堆栈进行操作时, 每执行一次进栈或出栈操作,系统会自动将SP的内容减2或加2,以使其始终指向栈顶。 BP(Base Pointer)称为基址寄存器。作为通用寄存器,它可以用来存放数据,但更经常更重要的 用途是存放操作数在堆栈段内的偏移地址。 SI(Source Index)称为源变址寄存器。SI存放源串在数据段内的偏移地址。 DI(Destination Index)称为目的变址寄存器。DI存放目的串在附加数据段内的偏移地址。 (3) 段寄存器:用于存放段地址 CS(Code Segment)称为代码段寄存器,用来存储程序当前使用的代码段的段地址。 CS的内容 左移4位再加上指令指针寄存器IP的内容就是下一条要读取的指令在存储器中的物理地址。 DS(Data Segment)称为数据段寄存器,用来存放程序当前使用的数据段的段地址。 DS的内容左 移4位再加上按指令中存储器寻址方式给出的偏移地址即得到对数据段指定单元进行读写的物理地址。 SS(Stack Segment)称为堆栈段寄存器,用来存放程序当前所使用的堆栈段的段地址。堆栈是存 储器中开辟的按“先进后出”原则组织的一个特殊存储区,主要用于调用子程序或执行中断服务程

第五章微机原理课后习题参考答案_2012

习题五 一. 思考题 ⒈半导体存储器主要分为哪几类?简述它们的用途和区别。 答:按照存取方式分,半导体存储器主要分为随机存取存储器RAM(包括静态RAM和动态RAM)和只读存储器ROM(包括掩膜只读存储器,可编程只读存储器,可擦除只读存储器和电可擦除只读存储器)。 RAM在程序执行过程中,能够通过指令随机地对其中每个存储单元进行读\写操作。一般来说,RAM中存储的信息在断电后会丢失,是一种易失性存储器;但目前也有一些RAM 芯片,由于内部带有电池,断电后信息不会丢失,具有非易失性。RAM的用途主要是用来存放原始数据,中间结果或程序,与CPU或外部设备交换信息。 而ROM在微机系统运行过程中,只能对其进行读操作,不能随机地进行写操作。断电后ROM中的信息不会消失,具有非易失性。ROM通常用来存放相对固定不变的程序、汉字字型库、字符及图形符号等。 根据制造工艺的不同,随机读写存储器RAM主要有双极型和MOS型两类。双极型存储器具有存取速度快、集成度较低、功耗较大、成本较高等特点,适用于对速度要求较高的高速缓冲存储器;MOS型存储器具有集成度高、功耗低、价格便宜等特点,适用于内存储器。 ⒉存储芯片结构由哪几部分组成?简述各部分的主要功能。 答:存储芯片通常由存储体、地址寄存器、地址译码器、数据寄存器、读\写驱动电路及控制电路等部分组成。 存储体是存储器芯片的核心,它由多个基本存储单元组成,每个基本存储单元可存储一位二进制信息,具有0和1两种状态。每个存储单元有一个唯一的地址,供CPU访问。 地址寄存器用来存放CPU访问的存储单元地址,该地址经地址译码器译码后选中芯片内某个指定的存储单元。通常在微机中,访问地址由地址锁存器提供,存储单元地址由地址锁存器输出后,经地址总线送到存储器芯片内直接进行译码。 地址译码器的作用就是用来接收CPU送来的地址信号并对它进行存储芯片内部的“译码”,选择与此地址相对应的存储单元,以便对该单元进行读\写操作。 读\写控制电路产生并提供片选和读\写控制逻辑信号,用来完成对被选中单元中各数据位的读\写操作。 数据寄存器用于暂时存放从存储单元读出的数据,或暂时存放从CPU送来的要写入存储器的数据。暂存的目的是为了协调CPU和存储器之间在速度上的差异。

微机原理第3章习题与答案

习题 一、选择题 1.寻址方式指出了操作数的位置,一般来说_______。 A.立即寻址给出了操作数的地址 B.寄存器直接寻址的操作数在寄存器内,而指令给出了存储器 C.直接寻址直接给出了操作数本身 D.寄存器直接寻址的操作数包含在寄存器内,由指令指定寄存器的名称 答案:D 2.寄存器寻址方式中,操作数在_________。 A.通用寄存器 B.堆栈 C.内存单元 D.段寄存器 答案:A 3.寄存器间接寻址方式中,操作数在_________。 A.通用寄存器 B.堆栈 C.内存单元 D.段寄存器 答案:C 4.下列指令中的非法指令是______。 A.MOV[SI+BX],AX B.MOVCL,280 C.MOV[0260H],2346H D.MOVBX,[BX] 答案:B 5.设(SP)=0100H,(SS)=2000H,执行PUSHBP指令后,栈顶的物理地址是_____。 A.200FEH B.0102H C.20102H D.00FEH 答案:A 6.指令LEABX,TAB执行后,其结果是______。 A.将TAB中内容送BX B.将TAB的段基址送BX C.将TAB的偏移地址送BX D.将TAB所指单元的存储内容送BX 答案:C 7.下列正确的指令格式有______。 A.MOV[BX],1 B.MOVAL,0345H C.MOVES:PTR[CX],3 D.XLAT 答案:D 8.设(AX)=C544H,在执行指令ADDAH,AL之后,______。 A.CF=0,OF=0 B.CF=0,OF=1 C.CF=1,OF=0D,CF=1,OF=1 答案:C 9.若AL、BL中是压缩BCD数,且在执行ADDAL,BL之后,(AL)=0CH,CF=1,AF=0。再执行DAA后,(AL)=_____。 A.02H B.12H C.62H D.72H 答案:B 10.执行下列程序后AL的内容为_____。 MOVAL,25H SUBAL,71H DAS A.B4H B.43H C.54H D.67H

微机原理-期末考试题库及答案(含3套试卷)

微型计算机原理与接口技术综合测试题一 一、单项选择题(下面题只有一个答案是正确的,选择正确答案填入空白处) 1.8086CPU通过(1 )控制线来区分是存储器访问,还是I/O访问,当CPU执行IN AL,DX 指令时,该信号线为(2 )电平。 (1) A. M/ B. C. ALE D. N/ (2) A. 高 B. 低 C. ECL D. CMOS 2.n+1位有符号数x的补码表示范围为()。 A. -2n < x < 2n B. -2n ≤ x ≤ 2n -1 C. -2n -1 ≤ x ≤ 2n-1 D. -2n < x ≤ 2n 3.若要使寄存器AL中的高4位不变,低4位为0,所用指令为()。 A. AND AL, 0FH B. AND AL, 0FOH C. OR AL, 0FH D. OR AL 0FOH 4.下列MOV指令中,不正确的指令是()。 A. MOV AX, BX B. MOV AX, [BX] C. MOV AX, CX D. MOV AX, [CX] 5.中断指令INT 17H的中断服务程序的入口地址放在中断向量表地址()开始的4个存贮单元内。 A. 00017H B. 00068H C. 0005CH D. 0005EH 6.条件转移指令JNE的条件是()。 A. CF=0 B. CF=1 C. ZF=0 D. ZF=1 7. 在8086/8088 CPU中,一个最基本的总线读写周期由(1 )时钟周期(T状态)组成,在T1状态,CPU往总线上发(2 )信息。 ⑴ A. 1个 B. 2个 C. 4个 D. 6个

⑵ A. 数据 B . 地址 C. 状态 D. 其它 8. 8086有两种工作模式, 最小模式的特点是(1 ),最大模式的特点是(2 )。 ⑴ A. CPU提供全部控制信号 B. 由编程进行模式设定 C. 不需要8286收发器 D. 需要总线控制器8288 ⑵ A. M/ 引脚可直接引用 B. 由编程进行模式设定 C. 需要总线控制器8288 D. 适用于单一处理机系统 9.在8086微机系统的RAM 存储单元器0000H:002CH开始依次存放23H,0FFH,00H,和0F0H四个字节,该向量对应的中断号是( )。 A. 0AH B. 0BH C. 0CH D. 0DH 10.真值超出机器数表示范围称为溢出,,此时标志寄存器中的( )位被置位 A. OF B AF C PF D CF 11.8086 系统中内存储器地址空间为1M,而在进行I/O读写是,有效的地址线是( ) A . 高16位 B. 低16位 C. 高8位 D. 低8位 12.8086 CPU中段寄存器用来存放( ) A. 存储器的物理地址 B. 存储器的逻辑地址 C. 存储器的段基值 D. 存储器的起始地址 13.8259A可编程中断控制器的中断服务寄存器ISR用于( ) A.记忆正在处理中的中断 B. 存放从外设来的中断请求信号 C.允许向CPU发中断请求 D.禁止向CPU发中断请求 14.8253 可编程定时/计数器的计数范围是( ) A. 0-255 B. 1-256 C. 0-65535 D. 1-65536 15. 在8086中,(BX)=8282H,且题中指令已在队列中,则执行INC [BX]指令需要的总

微机原理第三章习题答案

习题3答案 1.指出下列指令的错误原因。 (1) AND AX, DL;类型不匹配 (2) ADD CS, DX;CS不能作为目的操作数 (3) MOV AX, IP;IP不能作为指令的操作数 (4) MOV [BP][SI], [SI];两个操作数不能同时为内存操作数 (5) SUB [BP][SI], ES: DX;段超越前缀只能用在内存操作数之前 (6) XCHG AL, [SI][DI];没有[SI][DI]这种操作数形式 (7) JGE AX;条件转移指令的操作数只能是标号 (8) PUSH DL;对堆栈不能进行字节操作 2.用一条指令将BX清0。(请给出3种方法) 方法1:MOV BX, 0 方法2:SUB BX, BX 方法3:AND BX, 0;将BX和0做与,可以将BX清零 方法4:XOR BX, BX 3.写出实现下列功能的指令序列。 (1)判断AX的值,若AX等于0,则转到标号LABEL处。(请写出3种方法) 方法1: CMP AX, 0

JZ LABEL ;如果ZF = 0,说明AX为0,因为CMP指令是做减法,但是不写回结果;因此指令执行后AX内容不会受到破坏 方法2: TEST AX, 0FFH JZ LABEL ;如果ZF = 0,说明AX为0,TEST指令做与运算,可是不写回结果,只影响标志位。 ;和0与清零,和1与不变,所以和FFH做与的结果是AX本身,但是此时标志位已;经改变了,所以可以利用标志位来判断,但是AX内容却没有受到任何破坏方法3: AND AX, 0FFH ;这个方法的原理和方法2其实是完全一致的 JZ LABEL (2)将AL的高4位与低4位分别放入AH与AL的低4位,并将AH与AL的高4位清0。 MOV AH, AL AND AL, 0FH ; AL高4位通过与清零,而低4位保持不变 MOV CL, 4 SHR AH, CL ;这两条指令通过逻辑右移将AH的高4位清零,因为SHR在右移后,高位补零 (3)若AX和BX中的数恰好1个是奇数、1个是偶数,则将奇数放入AX,偶数放入BX;否则,AX和BX不变。 TEST AX, 01H ;TEST做与运算,通过与来检测AX的最低位 JNZ CONTINUE ;如果ZF = 1,说明AX的最低位是0,那么AX中的数是偶数,就跳转,否则,;说明AX中的是奇数,而BX中的是偶数,符合结果要求,不用动了XCHG AX, BX

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

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。 三、×、×、×、×、×、√、√

微机原理第三章习题与参考答案

第三章习题与参考答案 3.1 已知 (DS) = 1000H,(ES) = 2000H,(SS) = 3000H,(SI) = 0050H,(BX) =0100H,(BP) =0200H,数据变量DISP的偏移地址为1000。指出下列指令的寻址方式和物理地址。 (1) MOV AX,0ABH 立即寻址无 (2) MOV AX,BX 寄存器寻址无 (3) MOV AX,[l000H] 直接寻址 10000H (4) MOV AX,DATA 直接寻址 (DS*16+DATA ) (5) MOV AX,[BX] 寄存器间接寻址 10100H (6) MOV AX,ES:[BX] 寄存器间接寻址 20100H (7) MOV AX,[BP] 寄存器间接寻址 30200H (8) MOV AX,[SI] 寄存器间接寻址 10050H (9) MOV Ax,[BX+l0] 寄存器相对寻址 1010AH (10) MOV AX,DISP[BX] 寄存器相对寻址 11100H (1l) MOV AX,[BX+SI] 基址变址寻址 10150H (12) MOV AX,DISP[BX][SI] 相对基址变址寻址 11150H 3.2 分别说明下例指令采用的寻址方式和完成的操作功能。 (1) MOV CX,2000H 立即寻址将立即数2000H送CX寄存器 (2) MOV DS,AX 寄存器寻址将AX寄存器内容送DS段寄存器 (3) AND CH,[1000H] 直接寻址将[DS*16+1000H]单元的内容送CH寄存器 (4) ADD [DI],BX 寄存器间接寻址将CL寄存器的内容送[DS*16+DI]单元 (5) MOV SS:[3000H],CL 直接寻址将CL寄存器的内容送[SS*16+3000H]单元 (6) SUB [BX][SI],1000H 直接寻址将立即数1000H送[DS*16+BX+SI+50H]单元 (7) ADD AX,50H[BX][SI] 相对基址变址寻址将[DS*16+BX+SI+50H]单元的内容送AX寄存器 (8) PUSH DS 寄存器寻址将DS寄存器的内容送[SS*16+SP]单元 (9) CMP [BP][DI],AL 寄存器寻址将AL寄存器的内容送[SS*16+DI+BP]单元 3.3 判断下列指令正误,如果错误请指出原因。 (1)MOV CH,2000H 错两个操作数的长度不一致 (2)XOR DL,BH 对 (3)ADD 100,AH 错目的操作数不能为立即数 (4)MOV DS,2200H 错立即数不能直接传送给段寄存器 (5)IN AL,250H 错源操作数必须为口地址 (6)MOV [BX][SI],[DI] 错两个操作数不能同时为存储器 (7) LEA AX,BL 错源操作数必须为地址标号 (8)MOV CX,ES:BX 错寄存器寻址不能用段超越前缀 3.4 设DS=1000H,SS=2000H,AX=1000H,BX=0020H,CX=2000H,BP=0002H,SI=0010H,DI=0030H,

第三章微机原理课后习题参考答案_2012

第三章微机原理课后习题参考答案 1. 指出下列指令的错误原因。 (1) AND AX, DL ;类型不匹配 (2) ADD CS, DX ;CS不能作为目的操作数 (3) MOV AX, IP ;IP不能作为指令的操作数 (4) MOV [BP][SI], [SI] ;两个操作数不能同时为内存操作数 (5) SUB [BP][SI], ES:DX ;段超越前缀只能用在内存操作数之前 (6) XCHG AL, [SI][DI] ;没有[SI][DI]这种操作数形式 (7) JGE AX ;条件转移指令的操作数只能是标号 (8) PUSH DL ;对堆栈不能进行字节操作 2. 用一条指令将BX清0。(请给出3种方法) 方法1:MOV BX, 0 方法2:SUB BX, BX 方法3:AND BX, 0 ;将BX和0做与,可以将BX清零 方法4:XOR BX, BX 3. 写出实现下列功能的指令序列。 (1) 判断AX的值,若AX等于0,则转到标号LABEL处。(请写出3种方法) 方法1: CMP AX, 0 JZ LABEL ; 如果ZF = 0,说明AX为0,因为CMP指令是做减法,但是不写回结果,因此指令执行后AX内容不会受到破坏 方法2: TEST AX, 0FFFF H JZ LABEL ; 如果ZF = 0,说明AX为0 方法3: AND AX, 0FFFF H JZ LABEL (2) 将AL的高4位与低4位分别放入AH与AL的低4位,并将AH与AL的高4位

清0。 MOV AH, AL AND AL, 0FH ; AL高4位通过与清零,而低4位保持不变 MOV CL, 4 SHR AH, CL ; 这两条指令通过逻辑右移将AH的高4位清零,因为SHR在右移后, 高位补零 (3) 若AX和BX中的数恰好1个是奇数、1个是偶数,则将奇数放入AX,偶数放入 BX;否则,AX和BX不变。 MOV DX,AX ;首先判断是否是1奇1偶,如是则保持不变 ADD DX,BX TEST DX,01H ;检测AX与BX是否同为偶数或同为奇数 JZ CONTINUE TEST AX, 01H ;检测AX的最低位 JNZ CONTINUE XCHG AX, BX CONTINUE : ….;无需处理,AX,BX中内容将不变 4. 分析下列指令序列完成什么功能。 MOV CL, 4 SHL DX, CL MOV BL, AH SHL AX, CL SHR BL, CL OR DL, BL 答案:将DX.AX中的32位数整体逻辑左移4位。 5. 给出下列各条指令执行后AL以及CF、OF、SF、和ZF的值。 指令AL CF OF SF ZF 备注 MOV AL, 100 100/64H MOV指令不影响标志位 XOR AL, AL 100/64H 0 0 0 1 除NOT外,逻辑运算后CF=OF=0,其余 据结果设置;逻辑运算指令下,AF标志

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

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

微机原理习题3及答案解析

习题三 5.4 指出下列指令的错误是什么? (1) MOV BL ,AX (2) MOV [BX],[BP+SI] (3) MOV CS ,AX (4) MOV DS ,1000H (5) MOV BX ,[SI][DI] (6) MOV [2000H],10 解: (1)类型属性不匹配; (2)两操作数都是存储单元; (3)把CS 用作目的操作数 (4)立即数送段寄存器; (5)源操作数中两个均为变址寄存器; (6)类型属性不明确 5.5 设当前数据段寄存器的内容为1B00H ,在数据段偏移地址为2000H 开始的单元内,含有一个内容为0FF10H 和8000H 的指针,它们是一个16位变量的偏移地址和段地址,试写出把该变量装入AX 的指令序列,并画出内存图。 解: 内存图: 指令序列: MOV BX ,[2000H] MOV AX ,[2002H] MOV DS ,AX MOV AX ,[BX] 或者: LDS BX ,[2000H] MOV AX ,[BX] 5.7 要求从85号端口读入一个字节数据,然后到数据段首地址为1000H 的表格中换取相应的数据码,再将该数据输出至3000号端口,试编写指令序列。 解: IN AL ,85 MOV BX ,1000H XLAT MOV DX ,3000 OUT DX ,AL

5.9 根据以下要求编写相应的指令: (1)将AX寄存器和BX寄存器的内容相加,结果存入BX寄存器。 (2)用增量指令使采用BX寄存器间接寻址的单元中的字节内容加1。 (3)用BX寄存器和位移量300H的寄存器相对寻址方式把存储器中的一个字和(CX)相加,结果送回该存储单元中。 (4)用寄存器BX和SI的基址变址寻址方式,把存储器中的一个字节与AH 寄存器的内容相加,并保存在AH中。 (5)采用合适的指令,将1000H单元中的字与1200H单元中的字相加,结果存入1000H单元。 解:(1) ADD BX,AX (2) INC BYTE PTR[BX] (3) ADD [BX+300H],CX (4) ADD AH,[BX][SI] (5) MOV BX,1000H MOV AX,[1200H] ADD [BX],AX 5.10 设以下表达式中的变量名均为16位带符号数所在单元的地址,编写指令序列,完成下列运算(出发运算的余数舍去): (W×Y)/(A+70)→X (A-B×C)/(X-Y)→Z 解:(1) MOV AX,W IMUL Y MOV BX,A ADD BX,70 IDIV BX MOV X,AX (2) MOV AX,B IMUL C MOV BX,AX MOV CX,DX MOV AX,A CWD SUB AX,BX SBB DX,CX MOV BX,X SUB BX,Y IDIV BX MOV Z,AX

微机原理 第4章作业答案

第3章指令系统 3.9 设段寄存器DS=1000H,SS=2000H,ES=3000H,通用寄存器BX=4000H,BP=5000H,SI=6000H,DI=7000H。在下列各指令中指出存储器操作数的寻址方式,求出有效地址EA、物理地址PA,并分别用物理地址和逻辑地址说明指令执行结果。(1)MOV CX, [2300H] 直接寻址 EA=2300H PA=DS*16+EA=1000H*16+2300H=12300H 执行结果:(12300H)→CL,(12301H)→CH (2)MOV BYTE PTR [BX], 8FH 寄存器间接寻址 EA=BX=4000H PA=DS*16+EA=1000H*16+4000H=14000H 执行结果:8FH→(14000H) (3)MOV DH, [BP+3000H] 基址寻址 EA=BP+3000H=8000H PA=SS*16+EA=2000H*16+8000H=28000H 执行结果:(28000H)→DH (4)MOV ES: [SI+1210H], AX 变址寻址 EA=SI+1210H=7210H PA=ES*16+EA=3000H*16+7210H=37210H 执行结果:AL→(37210H),AH→(37211H) (5)MOV [BX+DI+50H], AL 基址变址位移寻址 EA=BX+DI+50H=0B050H PA=DS*16+EA=1000H*16+0B050H=1B050 H 执行结果:AL→(1B050H) (6)INC WORD PTR [BX+SI] 基址变址寻址 EA=BX+SI=0A000H PA=DS*16+EA=1000H*16+0A000H=1A000 H 执行结果:(1A000H)中存放的字的值加1 3.11 指出下列指令中源操作数的寻址方式。(1)MOV BL, 0F9H 立即寻址(2)ADD [BX], SI 寄存器寻址(3)SUB CL, [4000H] 直接寻址(4)CMP DX, [SI] 寄存器间接寻址 (5)AND SL, [BX+1] 基址寻址(6)OR BP, [DI+2100H] 变址寻址(7)XOR AX, [BP+SI] 基址变址寻址 (8)MOV CX, 300 立即寻址 3.12 下列指令都是非法的,指出各指令错在哪里? (1)MOV SI, AH 两个操作数字长不一致 (2)MOV 70H, BL 立即数不能做目的操作数 (3)MOV CX, F123H 十六进制的数以字母打头必须在前面补0 (4)MOV [BX], 6AH 两个操作数的字长不确定 (5)MOV ES, 5000H 立即数不能直接送段寄存器 (6)MOV [DI], [3000H] 两个操作数不能同为内存操作数 (7)MOV DS, SS 两个操作数不能同为段寄存器 (8)MOV CS, AX 不能对CS赋值 (9)MOV AL, [CX] 寄存器间接寻址中不能使用CX (10)MOV [BX+BP], DX 存储器寻址方式中表示有效地址不能同为两个基址寄存器 (11)MOV BH, [SI+DI+2] 存储器寻址方式中表示有效地址不能同为两个变址寄存器 (12)PUSH AL 入栈出栈操作必须以字为单位 (13)LEA AX, BX LEA指令中源操作数必须为存储器寻址方式 (14)LDS BL, [5100H] LDS指令中目的操作数必须为16位的通用寄存器 (15)IN AH, DX

微机原理及应用试题库(附答案)

《微机原理及应用》试题库 1. 8086和8088的引脚信号中, D 为地址锁存允许信号引脚。 A.CLK B.INTR C.NMI D.ALE 2. 下面的哪项是有效标识符: B A . 4LOOP: B. DELAYIS: C. MAIN A/B: D. GAMA$1: 3. 如图所示的三态输出电路,当 A 时,V B≈V DD。 A. E(ENABLE)=1, A=1 B. E(ENABLE)=1, A=0 C. E(ENABLE)=0, A=1 D. E(ENABLE)=0, A=0 4. 设 (SS)=2000H, (SP)=0100H,(AX)=2107H,则执行指令PUSH AX 后,存放数据21H的物理地址是 D 。 A. 20102H B. 20101H C. 200FEH D. 200FFH 5. 汇编语言中,为了便于对变量的访问, 它常常以变量名的形式出现在程序中, 可以认为它是存放数据存储单元的 A 。 A.符号地址 B.物理地址 C.偏移地址 D.逻辑地址 6. 下列四个寄存器中,不能用来作为间接寻址方式的寄存器是 A 。 A. CX B. BX C. BP D. DI (C)7. 执行下列程序段: MOV AX,0 MOV BX,1 MOV CX,100 AA: ADD AX,BX INC BX LOOP AA HLT 执行后的结果:(AX)= , (BX)= 。 A. 5050,99 B. 2500,100 C. 5050,101 D. 2550,102 8. 假设V1和V2是用DW定义的变量,下列指令中正确的是 A 。 A.MOV V1, 20H B.MOV V1, V2 C.MOV AL, V1 D.MOV 2000H, V2 9. – 49D的二进制补码为 A 。

(完整版)微机原理第三章(1)及答案

第三章习题集 二.选择题(每小题1分,共15分) 1. 逻辑地址1000:2000对应的物理地址为( B )。 A、1200H B、12000H C、2100H D、21000H 2. 下面哪个寄存器使用时的默认段寄存器为SS( C )。 A、AX B、BX C、SP D、SI 3. 当使用BP寄存器作基址寻址时,若无指定段替换,则内定在( B )段内寻址。 A.程序 B.堆栈 C.数据 D.附加 4.在下面四组寄存器中,第 D 组都可用于对存储器间接寻址方式的寄存器。 A. AX,BX,CX,IP; B. BX,SP,DX,SI C. IP,SP,BP,AX D. BP,BX,SI,DI 5. 含有立即数的指令中,该立即数被存放在 A 。 A. 累加器中 B. 指令操作码后的内存单元中 C. 指令操作码前的内存单元中 D. 由该立即数所指定的内存单元中 6. 用段基值及偏移量来指明内存单元地址的方式称为( C )。 A、有效地址 B、物理地址 C、逻辑地址 D、相对地址 7. 已知物理地址为0FFFF0H,且段内偏移量为0B800H,若对应的段基地址放在DS中, 则DS=( B )。 A、0FFFFH B、0F47FH C、2032H D、0F000H 8. 含有立即数的指令中,该立即数被存放在 B 。 A. 累加器中 B. 指令操作码后的内存单元中 C. 指令操作码前的内存单元中 D. 由该立即数所指定的内存单元中 9.寄存器间接寻址方式中,操作数在 C 中。 A. 通用寄存器 B. 堆栈 C. 存储单元 D. 段寄存器 10.下列指令中,有语法错误的指令是(B D)。 A. MOV AX,[1000H] B. LEA AL,1000H C. MOV [1000H],AL D. MOV 1000H,AX 11. 下列指令语法有错的是:C A. MOV AX,1000H B. MOV AX,BX C. MOV [AX],[1000H] D. MOV AX,[1000H] 12. 8086/8088中除___C___两种寻址方式外,其它各种寻址方式的操作数均在存储器中。 ( ) A. 立即寻址和直接寻址 B. 寄存器寻址和直接寻址 C. 立即寻址和寄存器寻址 D. 立即寻址和间接寻址 13.指令( C )的源操作数的寻址方式为直接寻址。 A. MOV [2000H],AL B. IN AL,DX C. XOR AL,[2000H] D. MOV AX,2000H 14. 下列指令中,执行速度最快的指令是(__A__)。 A. ADD AX,10 B. ADD AL,[SI+10H] B. ADD AX,CX C. ADD AX,[BX] 15. 下列指令中,不影响进位的指令是:( C ) A. ADD AX,BX B. MUL BL C. INC BX D.SUB AL,BH

第三章微机原理 习题课

第三章习题课 一、选择题 1、在汇编语言程序得开发过程中使用宏功能得顺序就是()。 A、宏定义,宏调用 B、宏定义,宏展开 C、宏定义,宏调用,宏展开 D、宏定义,宏展开,宏调用 2、汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略得项就是()。 A、名字项 B、操作项 C、操作数项 D、注释项 3、下列叙述正确得就是( ) A.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS指令 B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP指令 C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL指令 D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB指令 4、编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件得指令有( )、 A、CMP B、SUB C、AND D、MOV 5、测试BL寄存器内容就是否与数据4FH相等,若相等则转NEXT处执行,可实现得方法就是( )。 A TEST BL,4FH JZ NEXT B XOR BL,4FH JZ NEXT C AN D BL,4FH JZ NEXT D OR BL,4FH JZ NEXT 6、检查BUF得内容就是否为正偶数,如就是正偶数,则令AL=0。下面程序段正确得就是( )。 A、MOV AL,BUF JS K1 SHR AL,1 JNC K1 MOV AL,0 K1:……B、MOV AL,BUF AND AL,11 JNZ K2 MOV AL,0 K2:……

C、MOV AL,BUF TEST AL,81H JNZ K3 MOV AL,0 K3:…… 7、下列描述中,执行循环得次数最多得情况就是()。 A.MOV CX,0 B.MOV CX,1 LOP:LOOP LOP LOP:LOOP LOP C.MOV CX,0FFFFH D.MOV CX,256 LOP:LOOP LOP LOP:LOOP LOP 8、在下列指令中, 指令得执行会影响条件码中得CF位。 A.JMP NEXT B.JC NEXT C.INC BX D.SHL AX,1 9、下列指令执行时出错得就是()。 A.ADD BUF1,BUF2 B.JMP DWORD PTR DAT [BX] C.MOV AX,[BX+DI] NUM D.TEST AL,08H 10、在下列指令得表示中,不正确得就是()。 A.MOV AL,[BX+SI] B.JMP SHORT DONI C.DEC [BX] D.MUL CL 11、在进行二重循环程序设计时,下列描述正确得就是()。 A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内 B.外循环初值应置外循环之内;内循环初值应置内循环之内 C.内、外循环初值都应置外循环之外 D.内、外循环初值都应置内循环之外,外循环之内 12、下面就是多字节加法程序,第一个数就是8A0BH,第二个数就是D705H。 DA TA SEGMENT FIRST DB (1), (2),0H SECOND DB (3), (4) DA TA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DA TA START:MOV AX,DA TA MOV DS,AX MOV CX, (5) MOV SI,0 (6) NEXT: MOV AL,SECOND[SI] ADC FIRST[SI],AL INC SI LOOP NEXT MOV AL,0 ADC AL, (7) MOV FIRST[SI],AL MOV AH,4CH INT 21H CODE ENDS

相关文档
相关文档 最新文档