微机原理及单片机接口技术课后题答案_1-6章__第1页
微机原理及单片机接口技术课后题答案_1-6章__第2页
微机原理及单片机接口技术课后题答案_1-6章__第3页
微机原理及单片机接口技术课后题答案_1-6章__第4页
微机原理及单片机接口技术课后题答案_1-6章__第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第1章概述一、填空题1 运算器、控制器2总线按其功能可分和 寄存器组集成在一块芯片上,被称作微处理器。数据总线、 地址总线和 控制总线三种不同类型的总线。3迄今为止电子计算机所共同遵循的工作原理是程序存储和 程序控制的工作原理。这种原理又称为冯 ·诺依曼型原理。4写出下列原码机器数的真值;若分别作为反码和补码时,其表示的真值又分别是多少?(1) ( 0110 1110) 二进制原码 ( 110 1110) 二进制真值 ( 110) 十进制真值( 0110 1110) 二进制反码 ( 110 1110) 二进制真值 ( 110) 十进制真值(0110 1110) 二进制补码 ( 110

2、 1110) 二进制真值 ( 110) 十进制真值(2) ( 1011 0101) 二进制原码 ( 011 0101) 二进制真值 ( 53) 十进制真值( 1011 0101) 二进制反码 ( 100 1010 )二进制真值 ( 74) 十进制真值( 1011 0101) 二进制补码 ( 100 1011) 二进制真值 ( 75) 十进制真值5写出下列二进制数的原码、反码和补码(设字长为8 位)。(1) ( 101 0110)二进制真值 (0101 0110) 原码 (0101 0110) 反码 (0101 0110) 补码(2) ( 101 0110)二进制真值 (1101 0110)原码

3、 (1010 1001) 反码 (1010 1010) 补码6. X 补=78H ,则 -X 补=( 88)H 。7已知 X1= +0010100 , Y1= +0100001 , X2= 0010100, Y2=0100001,试计算下列各式(设字长为8 位)。(1)X 1Y 1补 = X 1 补 Y 1补 = 0001 0100 0010 0001 = 0011 0101(2)X 1Y 2补 = X 1补 Y 2补 = 0001 0100 0010 0001 = 0011 0101(3)X 2Y 2补 = X 2补 Y 2补 = 1110 1100 0010 0001 = 0000 110

4、1(4)X 2Y 2补 = X 2 补 Y 2补 = 1110 1100 1101 1111 = 1100 10118将下列十六进制数分别转换成二进制、八进制、十进制和BCD 数。( 1) (5D.BA) 16=( 0101,1101.1011,1010 )2( 135.564) 8( 93. 7265625) 10=( 1001,0011.0111,0010,0110,0101,0110,0010,0101 ) BCD( 2) (1001.0101,1) 2=( 9.34375) 10( 11.26) 8( 9.58) 16=( 1001.0011,0100,0011,0111,0101 )

5、 BCD9写出下列字符的 ASCII 码。(1)?9( 39H) ASCII 码(2)?C( 43H) ASCII 码(3)?$( 24H) ASCII 码(4)?空格 ( 20H) ASCII 码(5)?b( 62H) ASCII 码(6)?回车 ( 0DH ) ASCII 码(7)?换行 ( 0AH )ASCII 码(8)?报警符 ( 07H) ASCII 码二、选择题1下列无符号数中最小的数是(A )。A (01A5) HB (1,1011,0101) BC (2590) DD (3764) O2下列有符号数中最大的数是(D )。A 1002HB 1001 0011 0010 1100B

6、C 2570OD 9614D3在机器数(A )中,零的表示形式是唯一的。A 补码B原码C补码和反码D原码和反码4 8位二进制数补码的数值表示范围为(A )。A.128 127B 127 127C. 129 128D 128 1285若下列字符码( ASCII )中有奇偶校验位,但没有数据错误,采用偶校验的字符码是( D)。A 11001011 B 11010110 C 11000001 D 11001001 6 B9H 可以看成( ABD )。A 无符号数 185B 带符号数 71的补码C十进制数 99的组合 BCD 码D 带符号数 57的原码三、简答题1简述微处理器、微计算机及微计算机系统三

7、个术语的内涵。答:微处理器是微计算机系统的核心硬件部件,它本身具有运算能力和控制功能,对系统的性能起决定性的影响。微处理器一般也称为CPU;微计算机是由微处理器、存储器、 I/O 接口电路及系统总线组成的裸机系统。微计算机系统是在微计算机的基础上配上相应的外部设备和各种软件,形成一个完整的、独立的信息处理系统。三者之间是有很大不同的,微处理器是微型计算机的组成部分,而微型计算机又是微型计算机系统的组成部分。2什么叫总线?为什么各种微型计算机系统中普遍采用总线结构?答:总线是模块与模块之间传送信息的一组公用信号线。总线标准的建立使得各种符合标准的模块可以很方便地挂在总线上,使系统扩展和升级变得高

8、效、简单、易行。因此微型计算机系统中普遍采用总线结构。3微型计算机系统总线从功能上分为哪三类?它们各自的功能是什么?答:微型计算机系统总线从功能上分为地址总线、数据总线和控制总线三类。地址总线用于指出数据的来源或去向,单向;数据总线提供了模块间数据传输的路径,双向;控制总线用来传送各种控制信号或状态信息以便更好协调各功能部件的工作。2第 2 章 微处理器及其结构一、填空题18086/8088 CPU 执行指令中所需操作数地址由EU 计算出 16 位偏移量部分送 BIU ,由 BIU 最后形成一个20 位的内存单元物理地址。28086/8088 CPU 在总线周期的 T 1时刻,用 A 19/S

9、6A 16/S3 输出20 位地址信息的最高 4 位,而在其他时钟周期,则输出状态 信息。3 8086/8088 CPU 复位后,从0FFFF0H单元开始读取指令字节,一般这个单元在 ROM 区中,在其中设置一条跳转 指令,使 CPU对系统进行初始化。48086系统的存储体系结构中, 1MB 存储体分 2个库,每个库的容量都是 512K字节,其中和数据总线 D15 D 8相连的库全部由奇地址 单元组成,称为高位字节库,并用 BHE 作为此库的选通信号。58086/8088系统中,可以有 64K个段起始地址,任意相邻的两个段起始地址相距 16 个存储单元。6用段基值及偏移量来指明内存单元地址的方

10、式称为逻辑地址 。7通常 8086/8088 CPU 中当 EU 执行一条占用很多时钟周期的指令时,或者在多处理器系统中在交换总线控制时会出现空闲 状态。8 8086 CPU 使用16 根地址线访问 I/O 端口,最多可访问64K个字节端口,使用 20 根地址线访问存储单元,最多可访问1M 个字节单元。9CPU取一条指令并执行该指令的时间称为指令 周期,它通常包含若干个总线 周期,而后者又包含有若干个时钟 周期。10设内存中一个数据区的起始地址是1020H:0A1CBH ,在存入 5个字数据后,该数据区的下一个可以使用的单元的物理地址是1020H :0A1D5H或 1A3D5H 。11 808

11、6系统中,默认方式下对指令寻址由寄存器CS和IP完成,而堆栈段中的偏移量可由寄存器SP 或 BP 来指示。128086的中断向量表位于内存的00000H003FFH 区域,它可以容纳 256个中断向量,每个向量占4 个字节。138086CPU中典型总线周期由 4个时钟周期组成, 其中 T1期间, CPU 输出 地址 信息;如有必要,可以在T 3和T 4 两个时钟周期之间插入1个或多个 TW 等待周期二、单项选择题1某微机最大可寻址的内存空间为16MB ,其 CPU的地址总线至少应有( E)条。A 26B28C20D22E 242 8086/8088 CPU 的 RESET引脚至少应维持(A )

12、个时钟周期的正脉冲宽度才能有效复位。A4B.5C2D33当 RESET 信号进入高电平状态时,将使 8086/8088 CPU 的( D )寄存器初始化为 0FFFFH。3ASSB DSC ESD CS48086/8088 CPU与慢速存储器或 I/O接口之间进行数据传输,为了使传送速度匹配,有时需要在(C)状态之间插入若干等待周期TW 。AT1 和T2B T2 和T3CT3 和T4D随机5 8086/8088 CPU 中标志寄存器的主要作用是(D )。A 检查当前指令的错误B纠正当前指令执行的结果与错误C决定是否停机D产生影响或控制某些后续指令所需的标志68086最小模式下的存储器读周期中地

13、址锁存发生在总线周期的( A)时刻。AT1B T2C T3D T47指令指针 IP的作用是( A )。A 保存将要执行的下一条指令的地址B 保存 CPU 要访问的内存单元地址C保存运算器运算结果内容D 保存正在执行的一条指令8 8086CPU 有两种工作模式,最小模式的特点是(A )。A CPU提供全部控制信号B 由编程进行模式设定C不需要 8282收发器D需要总线控制器 8288三、简答题1 8086/8088 CPU 分为哪两个部分?如何协调工作?答: EU 是执行部件,主要的功能是执行指令和形成有效地址。BIU 是总线接口部件,与片外存储器及I/O 接口电路传输数据,主要功能是形成实际地

14、址、预取指令和存取操作数。EU 经过 BIU 进行片外操作数的访问,BIU 为 EU 提供将要执行的指令。 EU 与 BIU 可分别独立工作,当EU 不需 BIU 提供服务时, BIU 可进行填充指令队列的操作。2 8086/8088 CPU 的地址总线有多少位?其寻址范围是多少?答: 8086/8088 CPU 的地址总线共20 位,最大可寻址1MB 空间。3 8086/8088 CPU 使用的存储器为什么要分段?怎么分段?答: 8086/8088为 16位CPU,其内部的 ALU 、相关的地址寄存器(如SP、 IP以及BX 、BP、SI、DI )等都是 16位的,因而对存储器地址的处理也只

15、能是16位操作,即8086/8088的直接寻址能力在64KB 范围内。而实际上8086/8088 有20条地址线,它的最大寻址空间为1MB 。这就产生了一个矛盾,即如何用16位的地址寄存器去表示一个 20位的存储器物理地址?实际使用的解决办法是:将1MB 大小的存储空间分为若干段 ,每段不超过64KB 。这样,一个 20位的物理地址就可以用 16位段基址: 16位偏移量 的形式(称为逻辑地址)来表示了,其中段地址存放在8086/8088的段寄存器中。448086/8088 CPU 中有几个通用寄存器?有几个变址寄存器?有几个指针寄存器?通常哪几个寄存器亦可作为地址寄存器使用?答: 8086/8

16、088 CPU 中共有:8个 16位的通用寄存器AX 、 BX 、CX 、 DX、BP、 SP、 SI、DI ;2个变址寄存器SI、 DI ;2个指针寄存器BP、 SP;其中 BX 、 BP、 SI、DI亦可作地址寄存器。5 Intel 8086 与 8088有何区别?答: 8086与8088 的区别主要表现在以下几个方面:第一、 8086的指令队列可以容纳 6个字节,每个总线周期在存储器中取出 2个字节指令代码填入队列。而 8088只能容纳 4个字节,且每个总线周期只能取出 1个字节指令代码。第二、 8086外部数据总线宽度为16位, 8088外部数据总线宽度只有8位。注意:8086 和80

17、88外部数据总线的宽度不同将导致扩展主存储器及输入/ 输出接口时系统地址线和数据线连接方式的不同。第三、其他不同的引脚定义:(1)AD15AD ,在 8086中为地址 /数据复用,而0在 8088中 AD AD8改为 AA只作地址线用;(2) 34、 28号引脚定义不同。1515868086/8088CPU 工作在最小模式时:当CPU 访问存储器时, 要利用哪些信号?当 CPU访问外设接口时,要利用哪些信号?答:8086/8088 CPU 工作在最小模式时, 若访问存储器, 需用到以下信号: M / IO 、 ALE 、 DT / R 、 DEN 、 READY 、 BHE、 WR、 RD、

18、AD 0 AD 15、 A 19/S6 A 16/S3。若访问外设,需用到以下信号: M / IO 、ALE 、 DT / R 、DEN 、READY 、WR、 RD、AD 0 AD 15。7试指出下列运算后的各个状态标志,并说明进位标志和溢出标志的区别:( 1) 1278H 3469H答: CF=0 AF=1 ZF=0 SF=0 OF=0 PF=1( 2) 54E3H 27A0H答: CF=0 AF=0 ZF=0 SF=0 OF=0 PF=0( 3) 3881H 3597H答: CF=0 AF=0 ZF=0 SF=0 OF=0 PF=1( 4) 01E3H 01E3H答: CF=0 AF=0

19、 ZF=1 SF=0 OF=0 PF=15其中,进位标志CF 用于判别无符号数运算是否超出数的表示范围,而溢出标志 OF 用于判别带符号数运算是否超出数的表示范围。奇偶标志 PF 只能判断结果低8 位中 1的个数为奇数还是偶数。8什么是逻辑地址?什么是物理地址?它们之间有什么联系?各用在何处?答:逻辑地址由两个16 位的部分即段基址和偏移量组成,一般在程序中出现的地址都表示为逻辑地址形式;物理地址是一个20 位的地址, 它是唯一能代表存储空间每个字节单元的地址,一般只出现在地址总线上。由于 8086/8088CPU中的寄存器只有16 位长,所以程序不能直接存放20 位的物理地址,而必须借助逻辑

20、地址,即用两个16 位的寄存器来表示物理地址。他们之间的关系是:物理地址段基址 *16 偏移量;另外,一个物理地址可对应多个逻辑地址。9设现行数据段位于存储器0B0000H 0BFFFFH单元, DS 段寄存器内容为多少?答:DS 段寄存器内容为0B000H 。10给定一个存放数据的内存单元的偏移地址是20C0H,( DS)=0C0E0H ,求出该内存单元的物理地址。答:物理地址:0C2EC0H 。11 8086/8088 为什么采用地址/数据引线复用技术?答:考虑到芯片成本和体积,8086/8088 采用 40 条引线的封装结构。40 条引线引出 8086/8088 的所有信号是不够用的,采

21、用地址/数据线复用引线方法可以解决这一矛盾,从逻辑角度,地址与数据信号不会同时出现,二者可以分时复用同一组引线。12怎样确定8086 的最大或最小工作模式?答:引线MNMX 的逻辑状态决定8086 的工作模式,MNMX 引线接高电平,8086 被设定为最小模式,MNMX 引线接低电平,8086 被设定为最大模式。13 8086 基本总线周期是如何组成的?答:基本总线周期由4 个时钟 (CLK) 周期组成, 按时间顺序定义为T1、T2、T3、T4 。14在基于 8086 的微计算机系统中, 存储器是如何组织的?存储器是如何与处理器总线连接的? BHE 信号起什么作用?6答:8086 为 16 位

22、微处理器, 可访问 1M 字节的存储器空间;1M 字节的存储器分为两个512K 字节的存储体,分别命名为偶存储体和奇存储体;偶体的数据线连接 D7D0 ,体选 信号接地址线A0 ;奇体的数据线连接D15D8 ,体选 信号接 BHE信号; A0 信号有效时允许访问偶体中的低字节存储单元,BHE 信号有效时允许访问奇体中的高字节存储单元,实现8086 的低字节访问、高字节访问及字访问。15有一个由 20 个字组成的数据区,其起始地址为 610AH:1CE7H 。试写出该数据区首末单元的实际地址 PA。首单元地址: 610A0H+1CE7H=62D87H末单元地址: 62D87H 27H=62DAE

23、H16有两个16 位的字31DAH 、 5E7FH,它们在8086 系统存储器中的地址为00130H 和 00135H,试画出它们的存储器示意图。地址内容00130H0DAH00131H31H00132H00133H00134H00135H7F00136H5E17试说明8086CPU 的控制引脚ALE 的作用。答: 8086 的低位地址线与数据线复用,为保证地址线维持足够的时间,需使用ALE 信号将低位地址线通过锁存器保存,以形成系统地址总线。7第 3 章 8086/8088CPU 指令系统一、判断题1 MOVAX , BP的源操作数物理地址为16×( DS)+( BP )。 ( &

24、#215;)2 OUTDX ,AL 指令的输出是16 位操作数。( ×)3不能用立即数给段寄存器赋值。( )4所有传送指令都不影响FLAG 寄存器的标志位。( ×)5堆栈指令的操作数均为字。( )6段内转移指令执行结果要改变IP、 CS 的值。( ×)二、单项选择题1寄存器间接寻址方式中,操作数在(C)中。A. 通用寄存器B. I/O 端口C. 存储单元D. 段寄存器2( A )寻址方式的跨段前缀不可省略。A. DS :BP B. DS :SIC. DS: DI D. SS: BP3假设( SS) =2000H ,( SP)=0012H ,( AX )=1234H

25、 ,执行 PUSH AX后,( SP) =( C)。A. 0014HB. 0011HC. 0010HD. 000FH4用 BP 作基址变址寻址时,操作数所在的段是当前(C)。A. 数据段B. 代码段C. 堆栈段D. 附加段5已知( IP) =1000H , CF=0 ,则执行指令JNCShort label 后,下列各数中哪一个是可能的IP 值?( B)( A ) 0FFFFH( B ) 0FFEH( C) 10FEH( D ) 1100H6执行下列指令后, ( AX )=( A )。MOVAX , 1234HMOVCL ,4ROLAX ,CL; 2341HDECAX; 2340HMOVCX

26、,4MULCXHLTA. 8D00HB. 9260HC. 8CA0HD. 0123H7设(AL )= - 68,(BL )= 86,执行 SUB AL ,BL指令后,正确的结果是 ( C)。A. CF =1B. SF =1C. OF =1D. ZF =18已知( SI) 0004H ,(DS) 8000H ,( 80004H) =02H, ( 80005H) =C3H 。指令 LEAAX , SI 执行后( AX )( C )。A. 0002HB. 0005HC. 0004HD. C302H9条件转移指令JNE 的条件是(C)。8A. CF 0B. CF1C. ZF0D. ZF 110在 80

27、86 中,(BX ) 0282H ,且题中指令已在指令队列中,则执行INC BYTE PTR ( BX )指令需要的总线周期为(C )。A.0B.1C.2D.3三、多项选择题1下列指令中源操作数使用寄存器寻址方式的有(BF )。A. MOVBX , BUF SIB. ADD SI+50, BXC. SUBAX,2D. CMPAX ,DISPDIE. MULVAR BX F. PUSHCX2将累加器 AX 的内容清零的正确指令是(BCD )。A. CMPAX ,AXB. SUBAX ,AXC. ANDAX ,0D. XOR AX , AX3正确将字变量WORDVARR 偏移地址送寄存器AX的指令

28、是( CD )。A. MOVAX , WORDVARRB. LESAX , WORDVARRC. LEAAX , WORDVARRD. MOVAX , OFFSETWORD VARR4调用 CALL 指令可有( ABDE )。A. 段内直接B. 段内间接C. 短距离( SHORT)D. 段间直接E. 段间间接5 8086 指令的操作数可能有(ABC )。A. 0B.1C.2D. 3四、填空题1与指令 MOV BX ,OFFSET BUF 功能相同的指令是LEABX ,BUF 。2假设( BX )= 0449H ,( BP)= 0200H ,(SI )= 0046H ,( SS)= 2F00H

29、,( 2F246H )= 7230H 则执行 XCHGBX , BP+SI 指令后,( BX )= 7230H。3执行下列指令序列后,完成的功能是将(DX , AX )的值除以 16。MOVCX,4NEXT : SHRDX ,1RCRAX ,1LOOPNEXT4已知( AL ) 0101 1101B,执行指令 NEG AL 后,再执行 CBW 后,(AX )0FFA3H。5在数据传送类指令中, 只有 SAHF 和 POPF 两条指令会影响标志位的值,其中指令 POPF 是唯一可以改变 TF 标志的指令。6设有 100 个字节数据(补码) ,存放在数据段中EA 2000H 的存储单元中。以下程序

30、应该从该数据区中找出最小的一个数据,并存入 EA 2100H 单元中, 请将下面程序补充完整。9MIN : MOVBX , 2000HMOVAL ,BX MOVCX, 99LOOP1 : INCBXCMPAL ,BX JLELOOP2MOVAL ,BX LOOP2 : DECCXJNZLOOP1MOV 2100H ,AL7 MOV AX , ES: BX SI中,源操作数的物理地址计算式是:( ES)× 16( BX )( SI)。五、综合题1请指出以下各指令的源、目的操作数所使用的寻址方式。( 1) MOVSI , 2100H( 2) SBBDISPBX, 7( 3) ANDDI

31、, AX( 4) ORAX , 609EH( 5) MOVBX DI 30H , CX( 6) PUSHES: BP( 7) CALLDISP DI答:( 1)源操作数:立即数寻址;目的操作数:寄存器寻址( 2)源操作数:立即数寻址;目的操作数:(带位移量的)基址寻址( 3)源操作数:寄存器寻址;目的操作数:变址寻址( 4)源操作数:直接寻址;目的操作数:寄存器寻址( 5)源操作数:寄存器寻址;目的操作数:(带位移量的)基址变址寻址( 6)源操作数:带段超越的基址寻址;目的操作数:隐含寻址( 7)只有一个操作数,为(带位移量的)变址寻址2请指出下列各条指令的错误,并改正。( 1)MOV100

32、, 23H( 2)ADDAX , BX BP 6( 3) PUSHDL( 4)INAX , 3FH( 5)OUT3FFH , AL( 6)POPAX10( 7)IMUL4CH( 8)SHLBX ,( 9)INT300( 10)XCHGDX , 0FFFH( 11)MOVAH ,BX( 12)MOVBX , ES: AX( 13)MOVAX , OFFSET SI( 14) MOVCS, AX( 15)MOVDS , ES( 16)MOVDS , 1000H答:( 1)该指令在语法上是对的,即可以把一个立即数送入一个存储单元;但是如果考虑实际编译,则第一操作数前应加上BYTEPTR 或 WORD

33、PTR 说明,否则汇编程序会因不能确定操作数长度而指示出错。可改为:MOVBYTE PTR 100 ,23H( 2)不能同时使用两个基址寄存器BX 、 BP 进行间接寻址,可改为:ADDAX ,BX DI6( 3)堆栈操作应以字为单位进行,而DL 是一个字节。可改为: PUSHDX( 4)在输入 /输出指令中,8 位端口地址应直接写在操作数处。可改为:INAX , 3FH( 5)端口地址3FFH 已超出8 位二进制表示范围,16 位端口地址应存于DX 。可改为:MOVDX , 3FFHOUTDX , AL( 6) AX不能用于间接寻址,间接寻址只能用BX 、 BP 、 SI 、 DI 四个寄存

34、器之一。可改为:POPBX( 7)立即数不能做乘法指令的操作数,可改为:MOVBL , 4CHIMULBL( 8)当逻辑移位的次数大于1 时,应该用CL 指示次数。可改为:MOVCL, 5SHLBX ,CL( 9)操作数 300 255 ,已超出有效的中断类型码范围。( 10) XCHG 指令不允许立即数做它的操作数。可改为:MOVCX , 0FFFHXCHGDX ,CX( 11)源、目的字长不一致11( 12)在 8086 寻址方式中,AX 不能作为基址寄存器使用,而且源、目的不能同时为存贮器寻址方式( 13) OFFSET 只用于简单变量,应去掉( 14) CS 不能作为目的寄存器( 15

35、)段寄存器之间不能直接传送数据( 16)不允许直接向段寄存器送立即数,可改为:MOVAX , 1000HMOVDS, AX3设若标志寄存器原值为 0A11H ,( SP)=0060H ,( AL ) =4 。下列几条指令执行后,标志寄存器、 AX 、 SP的值分别是多少?PUSHFLAHF;( Flag)低字节AHXCHGAH ,ALPUSHAXSAHFPOPF答:指令执行后标志寄存器的值为0411H , AX=0411H, SP=005EH。4假如在程序的括号中分别填入指令:(1) LOOP L20(2) LOOPNE L20(3) LOOPE L20试说明在三种情况下 , 当程序执行完后

36、, AX 、 BX 、CX 、 DX 四个寄存器的内容分别是什么 ?BEGIN:MOVAX,01MOVBX,02MOVDX,03MOVCX,04L20:INCAXADDBX,AXSHRDX,1()答案:(1)( AX )= 5(BX )= 16(CX)= 0(DX )= 0(2)( AX )= 3(BX )= 7(CX)= 2(DX )= 0(3)( AX )= 2(BX )= 4(CX)= 3(DX )= 15在已学的指令中,可实现累加器清0 的单条指令有哪些?比较它们的功12能。答:( 1) MOVAX,0;仅将累加器清0,不会影响任何标志位( 2) SUBAX ,AX;累加器清 0的同时

37、影响所有状态标志,具体地有: ZF、 PF 置 1, CF、 AF 、SF、 OF 均清 0( 3) ANDAX ,0;将累加器清0,ZF 、PF 置 1,CF、OF 、SF 清 0( 4) XORAX ,AX;将累加器清0,ZF 、PF 置 1,CF、OF 、SF 清 06已知( DS )=2000H ,有关的内存单元值为:(21000H)=00H,(21001H)=12H,(21200H)=00H ,(21201H)=10H,(23200H)=20H,(23201H)=30H,(23400H)=40H,(23401H)=30H, (23600H)=60H, (23601H)=30H,符号

38、COUNT 的偏移地址为1200H 。执行下列指令后,寄存器AX 、 BX 、 SI 的值分别是多少?MOVBX , OFFSET COUNTMOVSI , BXMOVAX , COUNTSIBX答:执行结果为(BX ) =1200H ,( SI ) =1000H ,( AX ) =3040H 。7设若内存单元DATA 在数据段中偏移量为24C0H 处, 24C0H24C3H单元中依次存放着55H 、66H 、77H 、88H 。下列几条指令执行后,寄存器AX 、BX 、CL 、 SI 、 DS 的值分别是多少?MOVAX , DATALEASI , DATAMOVCL , SILDSBX ,

39、 DATA答:执行结果为 ( AX )=6655H ,( BX )=6655H ,( CL )=55H ,( SI )=24C0H ,( DS ) =8877H 。8若( AX ) =26D3H ,( CX ) =7908H , CF=1 ,执行下列指令后,寄存器 AX 、 CX 的值分别是多少? CF= ? OF=?SALCH,1RCRAX ,CLROLAL ,1答:执行结果为(AX ) =0A64CH ,( CX ) =0F208H , CF=OF=0 。9下面的程序执行后,DX 、 AX 的值分别是多少?;以 X 为首址的字单元中的数据依次为1234H 、 5678H;以 Y 为首址的字

40、单元中的数据依次为8765H 、 4321H13LEASI, XLEADI,YMOVDX ,SI 2MOVAX ,XADDAX ,XADCDX ,SI 2CMPDX ,DI 2JLL2CMPAX ,YJLL1JMPEXITL1 :MOVAX ,1JMPEXITL2 :MOVAX ,2EXIT : 答:执行结果为(AX ) =2,( DX ) =0ACF0H 。10设VAR 字单元的值为x, F1 字单元的值为y,试编程按以下要求给y赋值:2x>30y =030 x1 2x<1答:一种可能的程序段实现如下:MOVAX , VAR; AXxCMPAX,30JGPLUS2; x>3

41、0 ,则转PLUS2CMPAX,1JLMIN2; x<1 ,则转MIN2MOVF1, 0; 30 x1,y=0JMP GOPLUS2 : MOVF1, 2; y=2JMPGOMIN2 :MOVF1,-2 ; y = -2 或 00FEHGO: ;后续处理简析:本例中并未说明VAR 字节单元是带符号数还是无符号数,读者在使用判断转移指令时可任意选用。若当作带符号数,应使用JG、 JL、JGE、 JLE 等指令,如参考程序;若当作无符号数,则应使用JA、 JB 、 JAE 、 JBE 等指令。14第 4 章 汇编语言程序设计一、填空题1段定义伪指令语句用SEGMENT语句表示开始,以ENDS

42、 语句表示结束。2 ARRAYDW10 DUP ( 5 DUP(4 DUP(20H, 40H, 60H)语句执行后共占1200 字节存储单元。3汇编语句中,一个过程有 NEAR 和 FAR 两种属性。 NEAR 属性表示主程序和子程序 在同一个代码段中 ,FAR 属性表示主程序和子程序不在同一个代码段中。4 DOS 系统功能号应放在AH寄存器中。5 子程序又称过程,它可以由PROC 语句定义,由ENDP 语句结束,属性可以是NEAR或 FAR 。6假设 VAR 为数据段中已定义的变量,则指令MOVBX , OFFSET VAR 中源操作数的寻址方式是立即数寻址。二、选择题1 EXE 文件产生在

43、( D)之后。A. 汇编B. 编辑C. 用软件转换D. 连接2变量定义的伪指令助记符有(ABCEF )。A. DBB. DWC. DDD. DFE. DQF. DT3主程序与子程序之间传递参数可通过(ABC )进行。A. 堆栈B. 存储器单元C. 通用寄存器D. 指令队列E. 其他4计算机系统软件中的汇编程序是一种(C)。A. 汇编语言程序B. 编辑程序C. 翻译程序D. 将高级语言转换成汇编程序的程序5若主程序段中数据段名为DATA ,对数据段的初始化操作应为(B)。A. MOVAX ,DA TAB. MOVAX , DATAMOVES, AXMOVDS, AXC. PUSHDSD. MOV

44、DS, DATA68086 宏汇编源程序中, 若 BUFF 是字变量名, 则执行指令 MOVBX ,BUFF后, BX 中的值为 BUFF 单元的( A )。A. 字数据值B. 变量类型值C. 段基址D. 段内偏移量三、综合题1下列标号为什么是非法的?(1) GET.DATA(2) 1_NUM(3) TEST-DATA(4) RET15(5) NEWITEM答案:(1) 因为 ?. 允许是标号的第一个字符只(2) 第一个字符不能为数字(3) 不允许出现 ?-(4) 不能是保留字,如助记符(5) 不能有空格2已知数据和符号定义A1DB?A2DB8K1EQU100判断下列指令的正误,并说明错误指令

45、的原因。( 1) MOVK1, AX( 2) MOVA2, AH( 3) CMPA1, A2( 4) MOVBX ,K1MOVBX , DX( 5) K1 EQU200答:( 1)错误。 K1是符号,在此处相当于立即数100,故不能做目的操作数。( 2)正确。( 3)错误。 A1 、A2 都是字节变量,相当于两个存储器单元,故不能同时出现在一条指令中直接进行比较。( 4)正确。( 5)错误。用 EQU 定义的符号不能重新赋值,除非已用 PURGE 解除了原值。3若数据段中有定义NUM1EQU23HNUM2DW0则指令MOV NUM2 , NUM1的源、目操作数的寻址方式以及指令执行后NUM2 1 单元的内容分别是什么?答:指令 MOV NUM2 , NUM1 的源操作数使用立即数寻址,目的操作数使用直接寻址。指令执行后 NUM2 1 单元的内容是 0。4已知某数据段从物理地址03000H 处开始,定义如下:DSEG SEGMENTORG2000HA1DD2DUP ( 7, 1,?)A2DB10DUP (0,4,3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论