当前位置:文档之家› 微机原理课后练习题答案

微机原理课后练习题答案

第一章

一、选择题

(D)1.十进制数66转换成二进制数为

A 11000010

B 01100110

C 11100110

D 01000010

(C)2.十制数27.25转换成十六进制数为

A.B1.4H B. 19H C 1B.4H D.33.4H

(A)3.下列数中最小的是

A.(101001)2

B.(52)8 C.(2B)16 D.(5O)16,

(C)4若一个数的BCD编码为O0101O01,则该数与相等。

A.4lH B.121D C.29D D.29H

(A)5.十进制数9874转换成BCD数为

A.9874H B.4326H C.2692H D.6341H

(B)6.BCD数64H代表的真值为

A.100

B.64 C.-100 D.+100

(D)7.十六进制数88H,可表示成下面几种形式,错误的表示为。

A元符号十进制数136 B.带符号十进制数一120

C.压缩地BCD码十进制数88 D.8位二进制数一8的补码表示

(B)8.若[A」原=1011 110l,[B]反= 1011 1101,[C]补= 1011 110l,以下结论正确的

A. C最大B.A最大C.B最大D.A=B=C

(D)9.8位二进制补码表示的带符号数1000 0000B和1111 1lllB的十进制数分别

A 128和255 11.128和一1 C.-128和255 D.-128和一l

(C)10.微机中地址总线的作用是

A.用于选择存储器单元

B.用于选择进行信息传输的设备

C.用于指定存储器单元和I/o设备接口单元的选择地址

D.以上选择都不对

(A)11.计算机中表示地址使用

A.无符号数

B.原码C.反码D.补码

二、填空题

(运算器)l.计算机的主机由、控制器、主存储器组成。

(冯·诺依曼、输出器、存储器、存储器)2. 确定了计算机的5个基本部件:输入器、、运算器、和控制器,程序和数据存放在中,并采用二进制数表示。

(16.B8H、52.59、1110010.01B)3.10110.10111B的的十六进制数是,34.97H 的十进制数是,将114.25转换为二进制数为。

(1010000000、280)4.(640)10=()2=()16。

(100000000.011、100.6)5.(256.375)l0=()2=()16

(188.8125、0BC.D)6.(10111100.1101)2=()10=()16

(-1、-126、-127)7.二进制数1000 0001B若为原码,其真值为;若为反码,其真值为;若为补码,其真值为。

(-125)8.一个8位的二进制整数,若采用补码表示,且由3个“1”和5个“0”组成,则最小的十进制数为。

(尾数、指数)9在微机中,一个浮点数由和两个部分构成。

(-16、-111、-112)10.若[X]原=[y]反=[z]补=90H,试用十进制分别写出其大小,X= :Y= ;Z= 。

三、问答题

1.在计算机中为什么都采用二进制数而不采用十进制数?二进制数有哪两种缩写形式?

答:计算机中使用的都是数字逻辑器件,只能识别高、低两种状态的电位,所以计算机处理的所有信息都以二进制的形式表现。

二进制的两种缩写形式有八进制、十六进制。

2.什么是程序计数器PC?

答:存放着将要执行的下一条指令的地址的寄存器,具有自动加1的功能。

3.已知[X]补=1001 1101B,「[Y补=1100 1001,[Z]补=0010 011BB,计算[X+Y]补=?,并指出是否溢出;计算[X一Z]补=?.并指出是否溢出。

答:[X+Y]补=[X]补+[Y]补最高位符号发生变化,产生溢出

[X一Z]补=[X]补+[-Z]补最高位符号发生变化,产生溢出

4.将下列十六进制数的ASCll码转换为十进制数。

(1)313035H (2)374341H (3)32303030H (4)38413543H 答:(1)105 (2)1994 (3)8192 (4)35420

第二章

一、选择题

(C)1.8086/8088 CPU内部有一个始终指示下条指令偏移地址的部件是___。

A. SP B.CS C.IP D.BP

(D)2,指令队列的作用是

A.暂存操作数地址B.暂存操作数

C.暂存指令地址D.暂存预取指令

(A)3.8086/8088下列部件中与地址形成无关的是_______。

A. ALU B.通用寄存器C.指针寄存器D.段寄存器

(B)4.对于8086,下列说法错误的是_。

A.段寄存器位于BIU中B.20位的物理地址是在EU部件中形成的

C.复位后CS的初值为FFFFH D.指令队列的长度为6个字节(D)5.8086/8088中ES、DI分别属于

A.EU、BIU B.EU、EU C.BIU、BIU D.BIU、EU

(A)6.BIU与EU工作方式的正确说法是_。

A并行但不同步工作 B.同步工作

C.各自独立下作 D.指令队列满时异步工作,空时同步工作(A)7.在执行转移、调用和返回指令时,指令队列中原有的内容______。

A、自动清除B.用软件清除

C.不改变D.自动清除或用软件清除

(D)8.下列说法中,正确的一条是

A.8086/8088标志寄存器共有16位,每一位都有含义

B.8088/8086的数据总线都是16位

C.8086/8088的逻辑段不允许段的重叠和交叉

D.8086/8088 的逻辑段空间最大为64KB,实际应用中可能小于64KB (C)9.8086/8088工作于最大模式,是因为______。

A.可以扩展存储容最

B.可以扩大I/O字间

C.可以构成多处理器系统D.可以提高CPU主频

(B)10.8086/8088最大模式比最小模式在结构上至少应增加

A.中断优先级控制器B.总线控制器

C.数据驱动器D.地址锁存器

(D)11.组成最大模式下的最小系统,除CPU、时钟电路、ROM、RAM及l/O接口外,至少需增加的芯片类型为。

a.总线控制器b.总线裁决器 c.地址锁存器d.总线驱动器

A.b,d B.a,b,c C.a,d D.a,c.d

(A)12.工作在最小模式时.对CPU而言.下列信号皆为输人信号的是。

A.HOLD、TEST、READY B.M/IO、TEST、READY

C.M/IO、HOLD、TEST D、DT/R、HOLD、READY

(A)13.LOCK引脚的功能是

A.总线锁定B.地址锁定C.数据输入锁定D,数据输出锁定

(A)14.与存储器或外设同步以及与协处理器同步的引脚信号依次为

A.READY、TEST B.READY、HOLD

C.LOCK、RESET D.TEST、LOCK

(A)15.工作在最大模式时,下列信号皆为输出信号的是

A.QS0、QS1、LOCK B.QS0、RA/GT0、LOCK

C.QS1、RQ/GT1、S0 D.RQ/GT0、QS1、BHE

(C)16.8086/8088最大模式时,LOCK引脚有效时的正确含义是

A.能中断CPU的工作B.能进行DMA操作

C.其他总线部件不能占有总线D.暂停CPU的了作

(C)17 .工作在最大模式时,一经总线控制器8288将对应CPU最小模式时的3个引脚状态进行组合,产生控制和命令信号,这3个引脚应为

A. MN/MX M/IO DT/R

B.DEN M/IO MN/MX

C.M/IO DT/R MN/MX D.DEN DT/R MN/MX

(B)18.8088/8086中,关于总线周期叙述不正确的是

A总线周期通常由连续的T1~T4。组成

B.在读写操作数时才执行总线周期

C.总线周期允许插入等待状态

D.总线周期允许存在空闲状态

(B)19.在8086读总线同期中,进入T3后发现READY=0,需要插入等待状态.则在插入等待状态时其引脚的高地址A19~A16 。

A.表示读数据对应的高4位的地址

B.表示CPU当前工作状态

C.处于高阻状态

D.处于不定状态

(D)20.设8086/8088工作于最小模式,在存储器读、写周期中.总线ADl5~AD0上数据开始有效的时刻(不插入TW)分别是。

A.T2,T2 B.T2、T3 C.T3、T4 D.T3、T2

二、填空题

(BIU、EU、独立)l.8086,8088CPU在结构上由两个独立的处理单元和构成,这两个单元可以工作,从而加快了程序的运行速度。

(ES、SS、CS、DS、IP、AX、BX、CX、DX、BP、SP、SI、DI)2.8086是intel系列的16位处理器,从功能上,它分为两个部分:即总线接口单元和执行单元。总线接口单元由、、、、等寄存器和20位地址加法器和6字节指令队列构成。执行单元有4个通用寄存器,即、、、;4个专用寄存器,

即 、 、 、 等寄存器和算术逻辑单元组成。

(FR 、ZF )3.任何CPU 都有一个寄存器存放程序运行状态的标志信息,在8086中,该奇件器是 。其中,根据运算结果是否为零,决定程序分支走向的标志位是 。

(TF 、DF 、IF )4.8086/8088CPU 中标志寄存器的3个控制位是 、 、 。

(9E100H )5.逻辑地址9B50H :2C00H 对应得物理地址是 。 (高电平)6.在任何一个总线周期的T1状态,ALE 输出 。

(MV/MX _______

、一个处理器、多个处理器)7.8086有两种工作模式,即最小模式和最大模式,它由 决定。最小模式的特点是 ,最大模式的特点是 。

(BHE ________

、A0、A0~A18)8.8086 CPU 可访问的存储器的空间为1MB ,实际上分奇数存储体和偶数存储体两部分,对奇数存储体的选择信号是 ,对于偶数存储体的选择信号是 ,对于每个存储体内的存储单元的选择信号是 。

(读I/O 端口)9.在8086的最小系统,当M/I O ______

=0,WR _______

=1,R D _______

=0时,CPU 完成的操作是 。

(0、0、1、1)10.在最小模式下,执行“OUT DX ,AL ”指令时,M/IO ____

、WR _______

、R D _______

、DT /R

___

的状态分别是 、 、 、 。

(1、2)11.8086 CPU 从偶地址读写两个字节时,需要 个总线周期,从奇地址读取两个字节时,需要 个总线周期。

(1、0、0)12.8086在存取存储器中以偶地址为起始地址的字时,M/IO ____

、BHE ________

、A0的状态分别是 、 、 。

(0、1)13.8086向内存地址1200Bll 写一个字节数据时,需要一个总线周期,在该总线周期的T1状态,BHE _________

为 ,A0为 。

(3)14.假设某个总线周期需插入两个TW 等待状态,则该总线日期内对READY 信号检测的次数是 。

(FFFFH 、0000H 、0000H 、0000H )15.8086CPU 上电复位后,CS= ,IP= ,DS= ,标志寄存器FR= 。

(4)16.8086/8088的复位信号至少要维持 个时钟周期。

(DT/R ____

、R D _______

、W R ________

、M/IO _____

、DEN __________

)17.8086CPU 工作在最小模式下,控制数据流方向的信号

是 、 、 、 、 。

(READY 、Tw )18.当存储器的读出时间大于CPU 所要求的时间时,为了保证CPU 与存储器的周期配合,就要利用 信号,使CPU 插入一个 状态。

(队列为空)19.当8086/8088工作于最大模式时,QS0=1,QS1=0,其表示指令队列的状态为 。

(0)20.在T2、T3、TW 、T4状态时,S6为 ,表示8086/8088表示当前连在总线上。

(INTR 、NMI 、屏蔽)21.8086/8088提供的能接受外中断请求信号的引脚是 和 。两种情求信号的主要不同处在于是否可 。

(1)22.一台微机的CPU ,其晶振的主振频率为8MHz .二分频后作为CPU 的时钟频率。如果

该CPU的一个总线周期含有4个时钟周期,那么此总线周期是us。

(时钟周期0.05μs、运算速度0.3μs)23.某微处理器的主频为20MHz。,由2个时钟周期组成一个机器周期,设平均3个机器周期可完成一条指令,其时钟周期和平均运算速度分别为。

三、问答题

1.8086/8088CPU在结构上由哪两个独立的处理单元构成?这样的结构最主要的优点是什么?

答:由总线接口单元BIU和执行单元EU两部分。这样的电路便于管理和设计电路。执行单元EU专门负责指令的执行,总线接口单元BIU是从内存指定区域取出指令送到指令队列缓冲器。EU 和BIU两个功能部件并行工作,EU执行BIU在前一个时刻取出的指令,与此同时,BIU又取出下一时刻要执行的指令,由此能使大部分取指令和执行指令的操作重叠进行,大大缩短了等待指令所需的时间,提到了微处理器的利用率和整个系统的执行速度。

2.完成下列补码运算,并根据结果设置标志SF、ZF、CF和OF,指出运算结果是否溢出?

(1)00101101B+10011100B (2)01011101B-10111010B

(3)876AH-0F32BH (4)10000000B十11111111B

(1)00101101B

+10011100B

11001001B=C9H

SF=1 ZF=0 CF=0 OF=0

(2) -10111010B=01000110B

01011101B-10111010B=01011101B

+01000110B

10100011B

SF=1 ZF=0 CF=0 OF=1

(3)876AH-0F32BH=876AH

+0CD5H

943FH

SF=1 ZF=0 CF=0 OF=0

(4) 10000000B

+11111111B

SF=0 ZF=0 CF=1 OF=1

3.存储器采用分段方法进行组织有哪些好处?

答:8086微处理器CPU中寄存器都是16位,16位的地址只能访问大小为64K以内的内存。8086系统的物理地址由20位地址空间进行访问,就需要两部分地址,在8086系统中,就是由段地址和偏移地址组成。而这两个地址都是16位,在地址形成中,当段地址确定后,该段的寻址范围就已经确定,其容量不大于64KB。同时,通过修改段寄存器的内容,可达到逻辑段在整个1MB空间中浮动。各个逻辑段之间可以紧密相连,可以中间有间隔,也可以相互重叠。

这种方式的优点是:满足对8086系统的1MB 存储空间的访问空间的访问,同时在大部分指令中只要提供16位的偏移地址即可。

4.Intel8086/8088处理器芯片功能强大,但引脚数有限,为了建立其与外围丰富的信息联系,Intel8086/8088处理器引脚采用了复用方式,说明其采用了何种复用方式?

采用了地址/数据分时复用、地址/状态分时复用。控制引脚的复用,在最大和最下模式下表现不同的功能。

5.8086CPU 是怎样解决地址线和数据线的复用问题的?ALE 信号何时处于有效电平?

地址和数据是分时复用的,在与内存交换数据时,首先发出的是地址信号,然后发送数据信息到数据线上。为了配合这种应用,在CPU 芯片外需要为其配置相应的地址锁存器和双向数据缓冲器。。在总线周期的第一个时钟周期ALE 输出高电平为有效电平,表示当前复用线上输出的是地址信息,ALE 作为锁存信号,对地址进行锁存。ALE 端不能浮空。

6.8086/8088系统用的时钟发生器会产生哪些信号?

会产生4.77MHz 的标准时钟信号CLK 。此时钟信号作为系统时钟,同时还对复位和就绪信号实现内部的时钟同步,然后再输出,实施对8086/8088的控制,时钟发生器产生恒定的时钟信号CLK ,RESET ,READY 。

7.说明8086CPU 的READY 输入信号和TEST —————

信号的作用是什么? READY 信号有效时,表示内存或外设准备就绪,马上就可以进行数据传输。如果检测到READY 信号为低电平,则在T3状态后插入等待状态Tw ,直到READY 信号有效时,停止插入等待状态Tw ,进入T4状态,完成数据传输过程,从而结束当前总线周期。

TEST —————信号和W AIT 指令结合起来使用,在CPU 执行WAIT 指令时,CPU 处于等待状态,当TEST —————信号为低电平时,等待状态结束,CPU 继续往下执行被暂停的指令。

习题3

一、选择题

D 1.寻址方式指出了操作数的位置,一般来说 。 A .立即寻址给出了操作数的地址

B .寄存器直接寻址的操作数在寄存器内,而指令给出了存储器

C .直接寻址直接给出了操作数本身

D .寄存器直接寻址的操作数包含在寄存器内,由指令指定寄存器的名称 A 2.寄存器寻址方式中,操作数在 。

A .通用寄存器

B .堆栈

C .内存单元

D .段寄存器 C 3.寄存器间接寻址方式中,操作数在 。

A .通用寄存器

B .堆栈

C .内存单元

D .段寄存器 B 4.下列指令中的非法指令是 。 A .MOV [SI+BX ],AX B. MOV CL ,280 C .MOV [0260H ,2346H D .MOV BX ,[BX] A 5.设(SP )=0100H ,(SS )=2000H ,执行 PUSH 指令后,栈顶的物理地址是 。 A .200FEH B. 0102H C .20102H D .00FEH C6.指令“LEA BX ,TAB ”执行后,其结果是 。

A .将TA

B 中内容送BX B.将TAB 的段基址送BX

C .将TAB 的偏移地址送BX

D .将TAB 所指单元的存储内容送BX D7,下列正确的指令格式有

A .MOV [SX],1

B .MOV AL ,0345H

C .MOV ES :PTR[CX],3

D . XI 。入f

C8.设(AX 〕=C544H ,在执行指令“ADD AH,AL ”之后, 。 A .CF=0,OF=0 B .CF=0,OF=1

C.CF=1,OF=0 D.CF=1,OF=1

B9.若AL、BL中是压缩BCD数,在执行“ADD AL,BL”之后,(AL)=0CH,CF=1,AF=0。若再执行DAA后,(AL)=

A. 02H

B.12H

C.62H

D.72H

C10,执行下列程序后AL的内容为_______。

MOV AL,25H

SUB AL,71H

DAS

A.B4H B.43H C.54H D.67H

A11.下列4条指令中,需要使用DX寄存器的指令是_____。

A. MUL BX

B. DIV BL C.IN AX,20H D. OUT 20H,AL

B12.设(AL)=0E0H,(CX)=3,执行“RCL AL,CL”指令后,CF的内容。

A. 0 B.1 C.不变D.变反

A13.下列4条指令中,错误的是______。

A.SHL AL,CX B. XCHG AL,BL

C.MOV BX,[SI] D.AND AX,BX

D14.串操作指令中,有REP前缀的串操作指令结束的条件是_______。

A.ZF=1 B.ZF=0 C.C>0 D. AND AX,BX

A15.对于下列程序段:

AGAIN:MOV AL,[SI]

MOV ES:[DI],AL

INC SI

INC SI

LOOP AGAIN

也可用指令完成同样的功能。

A.REP MOVSB B. REP LODSB

C.REP STOSB D. REPE SCASB

A16.JMP WORD PTR[DI]是指令。

A.段内间接转移 B.段内直接转移

C.段间间接转移

D.段间直接转移

C17.条件转移指令JNE的转移条件是_______。

A.ZF=1 B. CF=0 C.ZF=0 D.CF=1

D18.下列指令中,影响标志位的指令是____。

A.从存储器取数指令 B.条件转移指令

C.压找指令D.循环移位指令

D19.假设外部设备的状态字已经读入AL寄存器,其中最低位为0,表示外部设备忙,为了判断外部设备是否忙而又不破坏其他状态位,应选用下列_______指令。

A. RCR AL,0lH B.CMP AL,00H

JZ Label JZ Label

C. AND AL,01H

D. TEST AL,01H

JZ Label JZ Label

C20.假定一组相邻字节的首地址在BX中,未地址在DI中,为了使下面的程序段能用来查找出其中第一个非零字节,并把它存放在AL中,在横线处应填入指令。

SUB DI,BX

INC DI

MOV CX,DI

NEXT:INC BX

CMP BYTE PTR[BX],0

LOOP NEXT

MOV AL,BYTE PTR[BX]

A.MOV SI,CX B.SUB BX,BX C. DEC BX D.INC BX

二、填空题

1.指令“MOV [BX十SI], AL”中的目的操作数使用段寄存器,属于寻址方式。DS(数据段);基址加变址

3.若(BX)=42DAH,则下列指令段

PUSH BX

POPF

指令执行完销后,(SF,ZF,CF,OF)= 。1100

4.假设(DS)=1000H,(ES)=0200H,(BP)=0100H,(DI)=0200H,(10200H)=11H,(10201H)=12H,执行指令“LEA AX,TABLE”后;(AX)= 。0300H

5.假定(DS)=4000H,(DI)=0100H,(40100H)=55H,(40101H)=AAH,执行指令“LEA BX,[DI]”后,BX中的内容是。0100H

6.如果TABLE为数据段3400H单元的符号名,其中存放的内容为0505H,当执行指令“MOV AX,TABLE”后,(AX)= ;而执行指令“LEA AX,TABLE”后,AX = 。0505H;3400H

7.若(DS)=1000H,(SI)=2000H,(DI)=1000H,(AX)=2500H,(34000H)=AAH,(34001H)=34H,(34002H)=00H,(34003H)=50H,变量AREA的值为3000H,执行指令“LDS SI,AREA[DI]”后,SI的内容是,DS的内容是。3400H;5000H

8.已知(AL)=2EH,(BL)=6CH,执行“ADD AL,BL”之后,(AL)=9AH,(BL)=6CH,ZF=0,AF=1,AF=1,OF=1,PF=1,CF=0。9AH;6CH;0;1;1;1;0

9.CPU对两个无符号8位二进制数进行加法运算后,结果为OEH,且标志位CF=1,OF=1,SF=0,其结果应为十进制数。270

10.8086CPU执行“SUB AH,AL”后结果为(AH)= 85H,OF=1,CF=1。若AH,AL中为带符号数,则指令执行前寄存器中的数大。AL

11.若(AX)=753111,(BX)=42DAH,则“CMP AX,BX”指令执行后,(AX)= ,(SF,ZF,CF,OF)= 。7531H;0000

12.设(AL)=1010 0000B,则执行NEG AL后,(AL)=1000 0000B,则执行NEG AL后,(AL)= 。01100000B;10000000B

13.假定(AX)=96H,(BX)=6511.依次执行“ADD AX,BX”指令和DAA指令后,(AL)= 。61H

14.执行下列指令序列后,(AH)= ,(AL)= ,CF= ,AF= 。00H;08H;1;1

MOV AX,0106H

MOV BL,08H

SUB AL,BL

AAS

15.设(AL)=98H,(BL)=12H,若执行指令MUL BL后,

(AX)=

(OF)=

(CF)= ,

而执行指令IMUL BL后,

(AX)=

(OF)=

(CF)= 0AB0H;1;1;0F8B0H;1;1

16.已知(AL)=6,(BL)=7,执行下述指令后,(AL)= 。02H

MUL BL

AAM

17.CBW指令是将的符号扩展到中,如果(AL)=0A4H,则执行CBW指令后,(AX)= 。低8位;高8位;0FFA4H

18.执行下列程序段后,给出指定寄存器的内容。

XOR AX。AX

DEC AX

MOV BX,6378H

XCHG AX,BX

NEG BX

AX和BX寄存器的内容为。6378H;0001H

19.执行下列指令后:

MOV AX,1234H

MOV CL,4

ROL AX,CL;

DEC AX

MOV CX,4

MUL CX

HLT

寄存器AH的值是___,AL的值是__。8DH;00H

20.假设(DX)=10111001B,(CL)=03H。CF=1,执行“SHL DL,CL”后,(DX)= 。11001000B

21.下列指令段执行完毕后,(SI)= ,(DI)= 。14FDH;03FDH STD

MOV AX,2500H

MOV DS,AX

MOV BX,3500H

MOV ES,AX

MOV SI,1500H

MOV DI,040011

MOV CX,3

REP MOVSB

22.假设ES段中有一个字符串‘12FGLM5C’,其名为ARRAY。下面的程序段执行后CX的值是。5

CLD

LEA DI,ES:ARRAY

MOV AL,‘G’

MOV CX,9

REPNE SCASB

HLT

23.假设(DS)=2000H,(BX)=1256H,(SI)=528FH位移量TABLE=20A1H,(232F7H)=80H,(232F8H)=32H,(264E5H)=50H,(264E6H)=24H:

执行指令JMP BX后,(IP)= 。

执行指令JMP TABLE[BX]后,(IP)= 。

执行指令JMP[BX][S I]后,(IP)= 。

24.已知(SS)=3000H,(SP)=0100H,执行下列程序后,(SP)= 。

MOV AX,N1

PUSH AX

MOV AX,N2

PUSH AX

CALL L1

L1:…

RET 2

25.已知(IP)=1000H,(SP)=2000H,(BX)=283FH,指令CALL WORD PTR [BX]的机

器代码是FF17H,试问执行该指令后,内存单元1FFEH

三,问答题

1.设DS=1000H,ES=3000H,SS=4000H,SI=00A0H,BX=0700HBP=0070H,执行指为“MOV AX,[BX+5]”。

(1)指令使用的是何种寻址方式?

(2)源数据的逻辑地址和物理地址分别是多少?

2.分别说明下列指令的源操作数和目的操作数各采用什么寻址方式,并写出指令中存储器操作数的物理地址的计算公式。

(1)MOV AX,2408H

(2)MOV BX,[SI]

(3)MOV [BP+100H],AX

(4)MOV [BX+DI],‘$’

5.已知(DS)=091DH,(SS)=(1E4AH),(AX)=1224H,(BX)=0024H,(CX)=5678H,

(BP)=0024H,(SI)=00l2H,(DI)=0032H,(09214H)=085BH,(09226H)=00F6H,(09228H)=IE40H,(1E4F6H〕=091DH。试问下列指令或指令段执行后结果如何?

(1)MOV CL,[BX十20H]

(2)MOV [BP][DI],CX

(3)LEA BX,[BX+20H][SI]

MOV AX,[BX十2]

(4)LDS SI,[BX][DI]

MOV BX,[SI]

(5)XCHG CX,[BX+32H]

6.十六进制0~9,A~F对应的ASCH码为30H~39H,4IH~46H,依次放在内存以TABLE开始的区域,将AL中某一位十六进制数×H转换为对应的ASCII码,请编写程序段。

9.试分析下面的程序段完成什么功能。

MOV CL,4

SHL AX,CL

SHL BL,CL

MOV AL,BL

SHR DH,CL

10.若要将源串100个字节数据传送到目标串单元中去,设源串首址的偏移地址为2500H,目标串首址的偏移地址为1400H,请编写程序实现以下功能。

(1)完成源串到目标串的搬移。

(2)比较两串是否完全相同,若两串相同,则BX寄存器内容为0;若两串不同,则BX指向源串中第一个不相同字节的地址,且该字节的容保留在AL的寄存器中。

11.下列指令段的功能是:从内存2000H:0A00H开始的2KB内存单元请零。请在下列空格中填入合适的指令,程序指令完成后DI的内容是多少?

CLD

MOV AX,2000H

XOR AL,AL

习题4

一、选择题

B1.下列描述正确的是。

A.汇编语言源程序可直接运行

B.汇编语言属于低级语言

C.汇编程序是用汇编语言编写的程序.运行速度高,阅读方便,属于面向用户的程序语言

D.汇编语言可以移植

D2.分析下面的程序,变量V AR2的偏移地址是。

DATA SEGMENT

ORG 2

V AR1 DB 2,3,4

ORG $+3

V AR2 DW 1234H

DATA ENDS

A.02H B.04H C.05H D.08H

C3.为了使MOV AX,V AR指令执行后,AX寄存器中的内容为4142H,下面___数据定义会产生不正确的结果。

A.V AR DW 4142H B.V AR DW 16706

C.VAR DB 42H,41H D.V AR DW‘AB’

C4.下列伪指令___中是正确的。

A.ERR1:DW 99 B.ERR2 DB 25*60

C.COUNT EQU 20 D.ONE DB ONE

B5.执行下列指令后,寄存器CL的值是___。

STR1 DW ‘AB’

STR2 DB 16 DUP(?)

CNT EQU $一STR1

MOV CX,CNT

MOV AX,STRI

HLT

A.10H B.12H C.0EH D.0FH

二、填空题

.ASM;.OBJ;.EXE 1.汇编语言的调试过程如下:建立以为扩展名的源文件;生成以____为扩展名的目标文件;生成____以为扩展名的可执行文件;使用DEBUG调试程序,调试可执行目标程序。

4546H;44H2.执行下列指令后,(AX)=____,(BL)=____。

A DW ‘EF’

B DB‘ABCDEF’

MOV AX,A

MOV BL,B[3]

HLT

78H 3.执行下面程序段后,AL中的内容是____。

BUF DW 1234H,5678H,0001H

MOV BX,OFFSET BUF

MOV AL,2

XLAT

4 4.若符号定义语句如下,则L=___。

BUF1 DB 1,2,‘12’

BUF2 DB 0

L EQU BUF2-BUF1

4FH 5.执行下列程序段后,BX寄存器间址单元的内容是___。

ORG 1FFFH

DB 4FH,50H,51H

MOV BX,1FFFH

INC [BX]

INC BX

DEC [BX]

6.对于下面的数据定义,各条MOV指令单独执行后,请填充有关寄存器的内容: TABLE1 DB ?

TABLE2 DW 20 DUP(?)

TABLE 3 DB ‘ABCD’

MOV AX,TYPE TABLE1;( AX)= 1

MOV BX,TYPE TABLE2;(BX)= 2

MOV CX, LENGTH TABLE2;(CX)= 20

MOV DX, SIZE TABLE2 ;(DX)= 40

MOV SI, LENGTH TABLE3;(SI)= 1

7.下面是多字节加法程序,第一个数是8A0BH,第二个数是D705H。请填写出正确结果。

DATA SEGMENT

0H

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV CX

MOV SI,0

NEXT: MOV AL,SECOND[SI]

ADC FIRST[SI],AL

INC SI

LOOP NEXT

MOV AL,0

ADC AL

MOV FIRST[SI], AL

MOV AH, 4CH

INT 21H

CODE ENDS

END START

8.下面程序的功能是求有符号数中绝对值最小的数,并将最小绝对值存放在DAT2

字节中,填空使程序正确实现此功能。程序执行后,DAT2

DATA SEGNENT

DAT1 DB 65H,88H,20 H,0F6H

N EQU $-DAT1

DAT2 DB ?

DATA ENDS

CODE SEGMENT

START:MOV AX,DATA

LEA SI,DAT1

MOV CX,N-1

MOV AL,[SI]

TEST AL,80H

JZ LP0

NEG AL

LP0:MOV DAT2,AL

LP1

MOV BL,[SI]

TEST BL,80H

JZ LP2

NEG BL

LP2

JB LP3

MOV DAT2,BL

MOV AL,BL

LP3

MOV AH,4CH

INT 21H

CODE ENDS

END START

9.填空说明在下列程序段执行过程中相应寄存器中的值。假设程序执行前DS=3000H,SS=2000H,SP=3000H,AX=4567H,BX1234H,CX=6789H。

AND BX,00FFH

CALL MYSUB

HLT

MYSUB PROC

PUSH AX

PUSH BX

PUSH CX

POP CX

POP AX

POP BX

RET

MYSUB ENDP

10.完善程序。BUFFER单元开始放置一个数据块,BUFFER单元存放预计数据块的长度为20H,BUFFER+1单元存放的是实际从键盘输入的字符串的长度,从BUFFER+2开始存放的是从键盘接收的字符,请将这些从键盘接收的字符在屏幕上显示出来。

MOV DX,OFFSET BUFFER

INT 21H ;读入的字符串

MOV AL

MOV AH, 0

ADD BX, AX

MOV AL

MOV[BX+1],AL

MOV AH

INC DX ;确定显示字符串的首址

INT 2IH

MOV AH DOS

INT 2IH

三、问答题

1.变量和标号有哪些属性?它们的区别是什么?

2.指出下列伪指令语句中的错误:

(1)DATA DB 395

(2)PRGM SEG

PRGM ENDS

(3)ALPHA EQU BETA

(4〕COUNT EQU 100

COUNT EQU 65

(5)GOON DW 10 DUP(?)

3.一数据段如下:

DATA SEGMENT PARA ‘DA TA’ AT 46H

QA EQU 255

QA1=QA GT 3000

QA2=0FFFH

QA3 EQU QA2 XOR 255

QA4=88 MOD 5

QA5=88H SHR 2

QA6 EQU QA3/16+15

ORG 1060H

G1 DB 32,QA,98/2,NOT 25

G2 DW 0FF6H,OFFSET G2

G3 DW 3 DUP(5)

G4 DW SEG G1

SA EQU LENGTH G3

SB EQU SIZE G3

SC=TYPE G3

ORG 1200H

F1 EQU THTS WORD

F2 DB 11H,22H,33H,44H

FF DD 12345H

DATA ENDS

(1)写出每个符号所对应的值。

(2)画出内存分配图。

(3)执行下列指今后,对应的寄存器的值为多少?

MOV AX, WORD PTR FF

AND AX,0FFH

MOV BX,WORD PTR G1

MOV BX,255 AND 0FH

ADD AX, OFFSET F2

DS:106EH DS:1200H DS:1204H

4.以下程序的执行结果是

A D

B ‘1234’

B DW 5DUP(2,3DUP(0))

C DW ‘AB’, ‘C’,‘D’

L1:MOV AL, TYPE B

MOV BL,LENGTH B

MOV AH, SIZE A

MOV BH,SIZE C

MOV CL,TYPE L1

5.有下列数据段,写出数据段中MAX、V AL1、V AL2、LEND符号所对应的值。

DA TA SEGMENT

MAX EQU 0FFFH

V AL1 EQU MAX MOD 10H

V AL2 EQU V AL1*2

BUFF DB 1,2,3,‘123’

EBUFF DB ?

LEND EQU EBUFF-BUFF

6.现有程序如下:

DATA SEGMENT

A D

B 23

B DB 0F0H

C DB 0

DATA ENDS

CODE SEGMENT

ASSUNE CS:CODE,DS:DATA

START:MOV AX,DATA

MOV DS, AX

MOV AL,A

CMP AL,B

JZ L

JG M

MOV C,- 1

JMP EXIT

L: MOV C,0

JMP EXIT

N:MOV C,1

EXIT:MOV AH, 4CH

INT 21H

CODE ENDS

END START

7.设有无符号数X,Y,编写求Z=|X—Y|的程序。已知X为1234H,Y为5678H,X、Y、Z均为存放了数据段的字变量。

8.阅读下列程序,回答下列问题:

(1)程序执行后,RESULT单元的内容为多少?

(2)程序完成的功能是什么,

(3)该程序所占的数据区为多少个字节?

DATA SEGMENT

FEN DB 85,-90,64,-120,95,77,88,120,60,83

COUNT EQU$-FEN

RESULT DB?

DA7A ENDS

STACK SEGMENT PARA STACK

DB 100 DUP(?)

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DA TA:DA TA,SS:STACK START:MOV AX,DA7A

MOV DS,AX

MOV SI,OFFSE7 FEN

MOV CX,COUNT

DEC CX

MOV AL,[SI]

MOV RESULT,AL

TEST AL,80H

JZ LOOP

NEG AL

LOP:INC SI

相关主题
文本预览
相关文档 最新文档