收藏 分享(赏)

微机原理__课后答案.doc

上传人:dreamzhangning 文档编号:2309283 上传时间:2018-09-10 格式:DOC 页数:74 大小:500KB
下载 相关 举报
微机原理__课后答案.doc_第1页
第1页 / 共74页
微机原理__课后答案.doc_第2页
第2页 / 共74页
微机原理__课后答案.doc_第3页
第3页 / 共74页
微机原理__课后答案.doc_第4页
第4页 / 共74页
微机原理__课后答案.doc_第5页
第5页 / 共74页
点击查看更多>>
资源描述

1、第 1 章 概述一、填空题1电子计算机主要由 运算器 、 控制器 、 存储器 、 输入设备 和 输出设备 等五部分组成。2 运算器 和 控制器 集成在一块芯片上,被称作CPU。3总线按其功能可分 数据总线 、 地址总线 和 控制总线 三种不同类型的总线。4计算机系统与外部设备之间相互连接的总线称为 系统总线(或通信总线) ;用于连接微型机系统内各插件板的总线称为系统内总线(板级总线) ;CPU 内部连接各寄存器及运算部件之间的总线称为 内部总线 。5迄今为止电子计算机所共同遵循的工作原理是 程序存储 和 程序控制 的工作原理。这种原理又称为 冯诺依曼型 原理。二、简答题1简述微处理器、微计算机

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

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

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

5、的方式称为 逻辑地址 。7通常8086/8088 CPU中当EU 执行一条占用很多时钟周期的指令时,或者在多处理器系统中在交换总线控制时会出现 空闲 状态。88086 CPU 使用 16 根地址线访问I/O端口,最多可访问 64K 个字节端口,使用 20 根地址线访问存储单元,最多可访问 1M 个字节单元。9CPU取一条指令并执行该指令的时间称为 指令 周期,它通常包含若干个 总线 周期,而后者又包含有若干个 时钟 周期。二、单项选择题1某微机最大可寻址的内存空间为16MB,其CPU的地址总线至少应有(E)条。A26 B28 C20 D22 E2428086/8088 CPU的RESET引脚至

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

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

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

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

10、、BX、CX 、DX 、BP、SP 、SI、DI;2个变址寄存器SI、DI;2个指针寄存器BP、SP;其中BX 、 BP、SI、DI 亦可作地址寄存器。5Intel 8086与8088有何区别?答:8086与8088的区别主要表现在以下几个方面:第一、8086的指令队列可以容纳6个字节,每个总线周期在存储器中取出2个字节指令代码填入队列。而8088只能容纳4个字节,且每个总线周期只能取出1个字节指令代码。第二、8086外部数据总线宽度为16位,8088外部数据总线宽度只有8位。注意:8086和8088外部数据总线的宽度不同将导致扩展主存储器及输入/输出接口时系统地址线和数据线连接方式的不同。第

11、三、其他不同的引脚定义:(1)AD15AD0,在8086中为地址/数据复用,而在8088中AD15AD8 改为A15A8只作地址线用;(2)34、28号引脚定义不同。68086/8088CPU工作在最小模式时:当CPU访问存储器时,要利用哪些信号?当CPU访问外设接口时,要利用哪些信号?答:8086/8088 CPU工作在最小模式时,若访问存储器,需用到以下信号: 、ALE、 、 DEN、READY 、IOM/ RDT/、 、 、AD0AD15、A19/S6 A16/S3 。若访问外BHEWRD设,需用到以下信号:、ALE 、 、 DEN、READY、 、 、AD0AD1IOM/ RT/ WR

12、D5。8什么是逻辑地址?什么是物理地址?它们之间有什么联系?各用在何处?答:逻辑地址由两个16 位的部分即段基址和偏移量组成,一般在程序中出现的地址都表示为逻辑地址形式;物理地址是一个20 位的地址,它是唯一能代表存储空间每个字节单元的地址,一般只出现在地址总线上。由于8086/8088CPU 中的寄存器只有16 位长,所以程序不能直接存放20 位的物理地址,而必须借助逻辑地址,即用两个16 位的寄存器来表示物理地址。他们之间的关系是:物理地址段基址*16偏移量;另外,一个物理地址可对应多个逻辑地址。9设现行数据段位于存储器0B0000H0BFFFFH 单元,DS 段寄存器内容为多少?答: D

13、S 段寄存器内容为0B000H。10在 8086 中,逻辑地址、偏移地址、物理地址分别指的是什么? 答:逻辑地址是在程序中对存储器地址的一种表示方法,由段基址和段内偏移地址两部分组成,都是 16 位的二进制代码,如 1234H:0088H 。偏移地址是指段内某个存储单元相对该段首地址的差值。物理地址是 8086 芯片引线送出的 20 位地址码,物理地址=段基址*16+偏移地址,用来指出一个特定的存储单元。11给定一个存放数据的内存单元的偏移地址是20C0H, (DS )=0C0E0H,求出该内存单元的物理地址。答:物理地址:0C2EC0H 。128086/8088 为什么采用地址/ 数据引线复

14、用技术?答:考虑到芯片成本和体积,8086/8088 采用 40 条引线的封装结构。40 条引线引出 8086/8088 的所有信号是不够用的,采用地址/数据线复用引线方法可以解决这一矛盾,从逻辑角度,地址与数据信号不会同时出现,二者可以分时复用同一组引线。13怎样确定 8086 的最大或最小工作模式? 答:引线 的逻辑状态决定 8086 的工作模式,MXN引线接高电平,8086 被设定为最小模式, 引线MXN MXN接低电平,8086 被设定为最大模式。148086 基本总线周期是如何组成的?答:基本总线周期由 4 个时钟(CLK)周期组成,按时间顺序定义为 T1、T2、T3 、T4。15在

15、基于 8086 的微计算机系统中,存储器是如何组织的?存储器是如何与处理器总线连接的? 信号起什BHE么作用?答:8086 为 16 位微处理器,可访问 1M 字节的存储器空间;1M 字节的存储器分为两个 512K 字节的存储体,分别命名为偶存储体和奇存储体;偶体的数据线连接D7D0, “体选”信号接地址线 A0;奇体的数据线连接D15D8, “体选”信号接 信号;A0 信号有效时允许访问BHE偶体中的低字节存储单元, 信号有效时允许访问奇体中的高字节存储单元,实现 8086 的低字节访问、高字节访问及字访问。16有一个由 20 个字组成的数据区,其起始地址为610AH:1CE7H。试写出该数

16、据区首末单元的实际地址PA。首单元地址: 610A0H+1CE7H=62D87H末单元地址:62D87H27H=62DAEH17有两个 16 位的字 31DAH、5E7FH ,它们在 8086系统存储器中的地址为 00130H 和 00135H,试画出它们的存储器示意图。地址 内容00130H 0DAH00131H 31H00132H00133H00134H00135H 7F00136H 5E18试说明 8086CPU 的控制引脚 ALE 的作用。答:8086 的低位地址线与数据线复用,为保证地址线维持足够的时间,需使用 ALE 信号将低位地址线通过锁存器保存,以形成系统地址总线。第 4 章

17、8086/8088CPU 指令系统一、判断题1MOV AX, BP 的源操作数物理地址为16(DS)+ (BP ) 。 ()2OUT DX,AL 指令的输出是 16 位操作数。( )3不能用立即数给段寄存器赋值。 ()4所有传送指令都不影响 PSW 寄存器的标志位。( )5堆栈指令的操作数均为字。( )6段内转移指令执行结果要改变 IP,CS 的值。( )二、单项选择题1寄存器间接寻址方式中,操作数在(C)中。A. 通用寄存器 B. I/O 端口 C. 存储单元 D. 段寄存器2 (A)寻址方式的跨段前缀不可省略。A. DS:BP B. DS:SI C. DS:DI D. SS: BP3假设(

18、SS)=2000H, (SP )=0012H , (AX)=1234H,执行 PUSH AX 后, (SP) =(C ) 。A. 0014H B. 0011H C. 0010H D. 000FH4用 BP 作基址变址寻址时,操作数所在的段是当前(C) 。A. 数据段 B. 代码段 C. 堆栈段 D. 附加段5已 知 ( IP) =1000H, CF=0, 则 执 行 指 令 JNC Short label 后 , 下 列 各 数 中 哪 一 个 是 可 能 的 IP 值 ? (B)( A) 0FFFFH ( B) 0FFEH ( C) 10FEH( D) 1100H6执行下列指令后, (AX)

19、=(A) 。MOV AX,1234HMOV CL,4ROL AX,CLDEC AXMOV CX,4MUL CXHLTA. 8D00H B. 9260H C. 8CA0H D. 0123H7设(AL)= - 68, (BL)= 86,执行 SUB AL,BL 指令后,正确的结果是(C) 。A. CF =1 B. SF =1 C. OF =1 D. ZF =18已知(SI)0004H, (DS )8000H, (80004H)=02H,(80005H)=C3H 。指令 LEA AX, SI执行后(AX )( C ) 。A. 0002H B. 0005H C. 0004H D. C302H9条件转移

20、指令 JNE 的条件是( C ) 。A. CF0 B. CF1 C. ZF0 D. ZF110在 8086 中, (BX)0282H,且题中指令已在指令队列中,则执行INC BYTE PTR(BX )指令需要的总线周期为( C ) 。A. 0 B. 1 C.2 D. 3三、多项选择题1下列指令中源操作数使用寄存器寻址方式的有(BF) 。A. MOV BX,BUFSI B. ADD SI+50 ,BX C. SUB AX,2D. CMP AX,DISPDI E. MUL VARBX F. PUSH CX2将累加器 AX 的内容清零的正确指令是(BCD) 。A. CMP AX,AX B. SUB

21、AX,AXC. AND AX,0 D. XOR AX,AX3正确将字变量 WORD VARR 偏移地址送寄存器AX 的指令是(CD) 。A. MOV AX,WORD VARR B. LES AX, WORD VARRC. LEA AX,WORD VARR D. MOV AX, OFFSET WORD VARR4调用 CALL 指令可有(ABDE) 。A. 段内直接 B. 段内间接 C. 短距离( SHORT)D. 段间直接 E. 段间间接58086 指令的操作数可能有(ABCD) 。A. 0 B. 1 C. 2 D. 3四、填空题1与指令 MOV BX,OFFSET BUF 功能相同的指令是

22、LEA BX,BUF。2假设(BX)= 0449H, (BP )= 0200H, (SI)= 0046H, (SS )= 2F00H, (2F246H)= 7230H 则执行XCHG BX, BP+SI指令后, (BX)= 7230H 。3执行下列指令序列后,完成的功能是将(DX ,AX)的值除以 16。MOV CX,4NEXT: SHR DX,1RCR AX,1LOOP NEXT4已知(AL)0101 1101B,执行指令 NEG AL 后,再执行 CBW 后,(AX) 0FFA3H 。5在数据传送类指令中,只有 SAHF 和 POPF 两条指令会影响标志位的值,其中指令 POPF 是唯一可

23、以改变 TF 标志的指令。6设有 100 个字节数据(补码) ,存放在数据段中EA 2000H 的存储单元中。以下程序应该从该数据区中找出最小的一个数据,并存入 EA2100H 单元中,请将下面程序补充完整。MIN: MOV BX, 2000H MOV AL, BX MOV CX, 99 LOOP1:INC BXCMP AL, BX JLE LOOP2MOV AL, BX LOOP2:DEC CXJNZ LOOP1 MOV 2100H ,AL7MOV AX,ES:BX SI中,源操作数的物理地址计算式是:(ES)16(BX)(SI) 。五、综合题1 请 指 出 以 下 各 指 令 的 源 、

24、目 的 操 作 数 所 使 用 的 寻 址方 式 。( 1) MOV SI, 2100H( 2) SBBDISPBX, 7( 3) AND DI, AX( 4) OR AX, 609EH( 5) MOV BX DI 30H, CX( 6) PUSH ES: BP( 7) CALL DISP DI答 : ( 1) 源 操 作 数 : 立 即 数 寻 址 ; 目 的 操 作 数 : 寄 存器 寻 址( 2) 源 操 作 数 : 立 即 数 寻 址 ; 目 的 操 作 数 : ( 带 位移 量 的 ) 基 址 寻 址( 3) 源 操 作 数 : 寄 存 器 寻 址 ; 目 的 操 作 数 : 变 址

25、 寻址( 4) 源 操 作 数 : 直 接 寻 址 ; 目 的 操 作 数 : 寄 存器 寻 址( 5) 源 操 作 数 : 寄 存 器 寻 址 ; 目 的 操 作 数 : ( 带 位移 量 的 ) 基 址 变 址 寻 址( 6) 源 操 作 数 : 带 段 超 越 的 基 址 寻 址 ; 目 的 操 作 数 :隐 含 寻 址( 7) 只 有 一 个 操 作 数 , 为 ( 带 位 移 量 的 ) 变 址 寻 址2 请 指 出 下 列 各 条 指 令 的 错 误 , 并 改 正 。( 1) MOV 100, 23H( 2) ADD AX, BX BP 6( 3) PUSH DL( 4) IN

26、AX, 3FH ( 5) OUT 3FFH, AL( 6) LES SS, SI( 7) POP AX( 8) IMUL 4CH( 9) SHL BX,( 10) INT 300( 11) XCHG DX, 0FFFH( 12) MOV AH,BX( 13) MOV BX,ES:AX( 14) MOV AX, OFFSET SI( 15) MOV CS,AX( 16) MOV DS, ES( 17) MOV DS, 1000H答 : ( 1) 不 允 许 直 接 向 段 寄 存 器 送 立 即 数 , 可 改 为 :MOV AX, 1000HMOV DS, AX( 2) 该 指 令 在语法上是

27、对的,即可以把一个立即数送入一个存储单元;但是如果考虑实际编译,则第一操作数前应加上 BYTE PTR 或 WORD PTR 说明,否则汇编程序会因不能确定操作数长度而指示出错。可改为:MOVBYTE PTR 100,23H( 3) 不 能 同 时 使 用 两 个 基 址 寄 存 器 BX、 BP 进 行 间接 寻 址 , 可 改 为 :ADD AX, BX DI 6( 4) 堆 栈 操 作 应 以 字 为 单 位 进 行 , 而 DL 是 一 个 字节 。可 改 为 : PUSH DX( 5) 在 输 入 /输 出 指 令 中 , 8 位 端 口 地 址 应 直 接 写 在操 作 数 处 。

28、 可 改 为 :IN AX, 3FH( 6) 端 口 地 址 3FFH 已 超 出 8 位 二 进 制 表 示 范 围 ,16 位 端 口 地 址 应 存 于 DX。 可 改 为 :MOV DX, 3FFH OUTDX, AL( 7) LES 指 令 的 目 操 作 数 应 该 是 通 用 寄 存 器 , 不 能是 段 寄 存 器 。 可 改 为 :LES AX, SI( 8) AX 不 能 用 于 间 接 寻 址 , 间 接 寻 址 只 能 用BX、 BP、 SI、 DI 四 个 寄 存 器 之 一 。 可 改 为 : POP BX( 9) 立 即 数 不 能 做 乘 法 指 令 的 操 作

29、 数 , 可 改 为 :MOV BL, 4CHIMUL BL( 10) 当 逻 辑 移 位 的 次 数 大 于 1 时 , 应 该 用 CL 指 示次 数 。 可 改 为 :MOV CL,5SHL BX,CL( 11) 操 作 数 300 255, 已 超 出 有 效 的 中 断 类 型 码 范围 。( 12) XCHG 指 令 不 允 许 立 即 数 做 它 的 操 作 数 。 可 改为 :MOV CX,0FFFHXCHGDX,CX( 13) 源 、 目 的 字 长 不 一 致( 14) 在 8086 寻 址 方 式 中 , AX 不 能 作 为 基 址 寄 存 器使 用 ,而 且 源 、

30、目 的 不 能 同 时 为 存 贮 器 寻 址 方 式( 15) OFFSET 只 用 于 简 单 变 量 , 应 去 掉( 16) CS 不 能 作 为 目 的 寄 存 器( 17) 段 寄 存 器 之 间 不 能 直 接 传 送 数 据3设若标志寄存器原值为0A11H,(SP)=0060H,( AL)=4。下列几条指令执行后,标志寄存器、AX、 SP的值分别是多少?PUSHFLAHFXCHG AH,ALPUSH AXSAHFPOPF答:指令执行后标志寄存器的值为0411H,AX=0411H ,SP=005EH。4 假 如 在 程 序 的 括 号 中 分 别 填 入 指 令 :(1) LOO

31、P L20(2) LOOPNE L20(3) LOOPE L20试说明在三种情况下, 当程序执行完后, AX、 BX、CX、DX 四个寄存器的内容分别是什么 ? BEGIN: MOV AX,01MOV BX,02MOV DX,03MOV CX,04L20: INC AXADD BX,AXSHR DX,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 变 量 N1 和 N2 均 为 2 字 节 的 非 压 缩

32、BCD 数 码 ,请 写 出 计 算 N1 与 N2 之 差 的 指 令 序 列 。答案: MOV AX, 0MOVAL, N1SUB AL, N2AASMOVDL, ALMOV AL, N1+1SBB AL, N2+1AASMOV DH, AL6 在 已 学 的 指 令 中 , 可 实 现 累 加 器 清 0 的 单 条 指 令有 哪 些 ? 比 较 它 们 的 功 能 。答 : ( 1) MOV AX, 0 ; 仅 将 累 加 器 清 0, 不 会 影响 任 何 标 志 位( 2) SUB AX, AX ; 累 加 器 清 0 的 同 时 影 响 所 有状 态 标 志 , 具 体 地 有

33、: ZF、 PF 置1, CF、 AF、 SF、 OF 均 清 0( 3) AND AX, 0 ; 将 累 加 器 清 0, ZF、 PF 置1, CF、 OF、 SF 清 0( 4) XOR AX, AX ; 将 累 加 器 清 0, ZF、 PF 置1, CF、 OF、 SF 清 07 已 知 ( DS) =2000H, 有 关 的 内 存 单 元 值 为 :(21000H)=00H, (21001H)=12H, (21200H)=00H, (21201H)=10H, (23200H)=20H, (23201H)=30H, (23400H)=40H, (23401H)=30H, (2360

34、0H)=60H, (23601H)=30H, 符 号 COUNT 的 偏 移 地 址 为1200H。 执 行 下 列 指 令 后 , 寄 存 器 AX、 BX、 SI 的 值 分 别是 多 少 ?MOV BX, OFFSET COUNTMOV SI, BXMOV AX, COUNTSIBX答 : 执 行 结 果 为 ( BX) =1200H, ( SI)=1000H, ( AX) =3040H。8 设 若 内 存 单 元 DATA 在 数 据 段 中 偏 移 量 为 24C0H处 , 24C0H24C3H 单 元 中 依 次 存 放 着55H、 66H、 77H、 88H。 下 列 几 条 指

35、 令 执 行 后 , 寄 存 器AX、 BX、 CL、 SI、 DS 的 值 分 别 是 多 少 ?MOV AX, DATALEA SI, DATAMOV CL, SILDS BX, DATA答 : 执 行 结 果 为 ( AX) =6655H, ( BX)=6655H, ( CL) =55H, ( SI) =24C0H, ( DS) =8877H。9 若 ( AX) =26D3H, ( CX) =7908H, CF=1, 执 行下 列 指 令 后 , 寄 存 器 AX、 CX 的 值 分 别 是 多 少 ?CF=? OF=?SAL CH, 1RCR AX, CLROL AL, 1答 : 执

36、行 结 果 为 ( AX) =0A64CH, ( CX)=0F208H, CF=OF=0。10 已 知 有 程 序 段 如 下 :MOV AL, 35HMOV DL, ALAND DL, 0FHAND AL, 0F0HMOV CL, 4SHR AL, CLMOV BL, 10MUL BLADD AL, DL执 行 之 后 , AL 的 值 等 于 多 少 ? 该 程 序 段 完 成 了 什 么功 能 ?答 : 程 序 段 执 行 后 ( AL) =23H。 该 程 序 段 实 现 了 将AL 中 的 1 个 组 合 BCD 码 转 换 为 十 六 进 制 数 并 存 回 AL 中的 功 能 。

37、11 下 面 的 程 序 执 行 后 , DX、 AX 的 值 分 别 是 多 少 ?; 以 X 为 首 址 的 字 单 元 中 的 数 据 依 次 为1234H、 5678H; 以 Y 为 首 址 的 字 单 元 中 的 数 据 依 次 为8765H、 4321HLEA SI,XLEA DI,YMOV DX,SI2MOV AX,XADD AX,XADC DX,SI2CMP DX,DI2JL L2CMP AX,YJL L1JMP EXITL1: MOV AX, 1JMP EXITL2: MOV AX, 2EXIT:答 : 执 行 结 果 为 ( AX) =2, ( DX) =0ACF0H。12

38、 设 VAR 字 单 元 的 值 为 x, F1 字 单 元 的 值 为 y,试 编 程 按 以 下 要 求 给 y 赋 值 :2 x30y = 0 30x1 2 x30, 则 转 PLUS2CMP AX, 1JL MIN2; x1, 则 转 MIN2MOV F1, 0 ; 30x1, y=0JMP GOPLUS2: MOVF1, 2 ; y=2JMP GOMIN2: MOV F1,-2 ; y = -2 或 00FEHGO: ; 后 续 处 理简 析 : 本 例 中 并 未 说 明 VAR 字 节 单 元 是 带 符 号 数 还是 无 符 号 数 , 读 者 在 使 用 判 断 转 移 指

39、令 时 可 任 意 选 用 。 若当 作 带 符 号 数 , 应 使 用 JG、 JL、 JGE、 JLE 等 指 令 , 如参 考 程 序 ; 若 当 作 无 符 号 数 , 则 应 使 用JA、 JB、 JAE、 JBE 等 指 令 。第 5 章 汇编语言程序设计一、填空题1段定义伪指令语句用 SEGMENT 语句表示开始,以 ENDS 语句表示结束。2ARRAY DW 10 DUP(5 DUP (4 DUP (20H,40H,60H ) )语句执行后共占 1200 字节存储单元。3汇编语句中,一个过程有 NEAR 和 FAR 两种属性。NEAR 属性表示主程序和子程序 在同一个代码段中

40、,FAR 属性表示主程序和子程序不在同一个代码段中。4DOS 系统功能号应放在 AH 寄存器中。5子程序又称 过程 ,它可以由 PROC 语句定义,由 ENDP 语句结束,属性可以是 NEAR 或 FAR 。6假设 VAR 为数据段中已定义的变量,则指令 MOV BX, OFFSET VAR 中源操作数的寻址方式是 立即数寻址 。二、选择题1EXE 文件产生在( D )之后。A. 汇编 B. 编辑 C. 用软件转换 D. 连接2变量定义的伪指令助记符有( ABCEF ) 。A. DB B. DW C. DD D. DF E. DQ F. DT3主程序与子程序之间传递参数可通过( ABC )进行

41、。A. 堆栈 B. 存储器单元 C. 通用寄存器 D. 指令队列 E. 其他4计算机系统软件中的汇编程序是一种(C) 。A. 汇编语言程序 B. 编辑程序C. 翻译程序 D. 将高级语言转换成汇编程序的程序5若主程序段中数据段名为 DATA,对数据段的初始化操作应为(B) 。A. MOV AX,DATA B. MOV AX,DATAMOV ES,AX MOV DS,AXC. PUSH DS D. MOV DS,DATA68086 宏汇编源程序中,若 BUFF 是字变量名,则执行指令 MOV BX,BUFF 后,BX 中的值为 BUFF 单元的( A ) 。A. 字数据值 B. 变量类型值 C.

42、 段基址 D. 段内偏移量三、综合题1下列标号为什么是非法的?(1) GET.DATA(2) 1_NUM(3) TEST-DATA(4) RET (5) NEW ITEM答案: (1)因为.只允许是标号的第一个字符(2)第一个字符不能为数字 (3)不允许出现-(4)不能是保留字,如助记符 (5)不能有空格2已 知 数 据 和 符 号 定 义A1 DB ?A2 DB 8K1 EQU 100判 断 下 列 指 令 的 正 误 , 并 说 明 错 误 指 令 的 原 因 。( 1) MOV K1, AX( 2) MOV A2, AH ( 3) CMP A1, A2 ( 4) MOV BX, K1 MOV BX, DX( 5) K1 EQU 200答:(1)错误。K1 是符号,在此处相当于立即数100,故不能做目的操作数。(2)正确。(3)错误。A1、A2 都是字节变量,相当于两个存储器单元,故不能同时出现在一条指令中直接进行比较。(4)正确。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报