微机原理与单片机接口技术课后题答案详解余发山杨凌霄主编资料.doc

上传人:夺命阿水 文档编号:85414 上传时间:2025-07-10 格式:DOC 页数:49 大小:1,004KB
下载 相关 举报
微机原理与单片机接口技术课后题答案详解余发山杨凌霄主编资料.doc_第1页
第1页 / 共49页
微机原理与单片机接口技术课后题答案详解余发山杨凌霄主编资料.doc_第2页
第2页 / 共49页
微机原理与单片机接口技术课后题答案详解余发山杨凌霄主编资料.doc_第3页
第3页 / 共49页
微机原理与单片机接口技术课后题答案详解余发山杨凌霄主编资料.doc_第4页
第4页 / 共49页
微机原理与单片机接口技术课后题答案详解余发山杨凌霄主编资料.doc_第5页
第5页 / 共49页
点击查看更多>>
资源描述

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

2、二进制补码=(+ 110 1110)二进制真值=(+ 110)十进制真值(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 .已知 X仁 +0010100 , 丫仁 +0100001 , X2= -0010100, Y2= -0100001,试计 算下列各式(设字长为8位)。Y 1补=0001 0100 + 0010 0001 = 0011 0101丫2补=0001 0100+0010 0001 = 0011 0101丫2补=1110 1100+0010 0001 = 0000 1101丫2补=1110 1100+1101 1111 = 1100 1011BCD 数。(1) X 1 + 丫1补=X1

4、补 +(2) X 1 丫2 补=X1 补 +(3) X 2 丫2补=X2补 +(4) X 2 + 丫2补=X2补 +8 将下列十六进制数分别转换成二进制、八进制、十进制和BCD8=( 9.58) 16(1) (5D.BA) 16= ( 0101,1101.1011,1010) 2=( 135.564) 8=( 93. 7265625) =(1001,0011.0111,0010,0110,0101,0110,0010,0101 )(2) (1001.0101,1)2= ( 9.34375) 10=( 11.26)9.写出下列字符的ASCII 码。(1)=(39H)ASCII 码(2) C=(4

5、3H) ascii 码$( 24H)ASCII 码(4)空格=(20H ) ascii 码b = ( 62H)ASCII 码(6)回车=(0DH ) ascii 码换行=(0AH ) ascii 码(8)报警符=(07H) asciiBCD码=(1001.0011,0100,0011,0111,0101 )、选择题1.下列无符号数中最小的数是( A )。A . (01A5)h B. (1,1011,0101)b C. (2590)dD. (3764)o2 .下列有符号数中最大的数是(D )。A . 1002H B . 1001 0011 0010 1100B C . 25700 D . 961

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

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

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

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

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

11、 242 . 8086/8088 CPU的RESET引脚至少应维持(A)个时钟周期的正脉冲宽度才 能有效复位。A . 4 B. 5C . 2 D. 33.当RESET信号进入高电平状态时,将使8086/8088 CPU的(D)寄存器初始化为 0FFFFH。A . SS B . DS C . ES D . CS4 . 8086/8088 CPU与慢速存储器或I/O接口之间进行数据传输,为了使传送速度匹配,有时需要在(C)状态之间插入若干等待周期TW。A . T1 和 T2 B . T2 和 T3 C . T3 和 T4D .随机5. 8086/8088 CPU中标志寄存器的主要作用是( D )。

12、A .检查当前指令的错误B.纠正当前指令执行的结果与错误C 决定是否停机D.产生影响或控制某些后续指令所需的标志6. 8086最小模式下的存储器读周期中地址锁存发生在总线周期的(A )时刻。A . T1 B . T2 C . T3 D . T47. 指令指针IP的作用是(A )。A.保存将要执行的下一条指令的地址B .保存CPU要访问的内存单元地址C .保存运算器运算结果内容D .保存正在执行的一条指令8 . 8086CPU有两种工作模式,最小模式的特点是( A )oA. CPU提供全部控制信号B.由编程进行模式设定C.不需要8282收发器D .需要总线控制器 8288三、简答题1 . 808

13、6/8088 CPU分为哪两个部分?如何协调工作?答:EU是执行部件,主要的功能是执行指令和形成有效地址。BIU是总线接口部件,与片外存储器及I/O接口电路传输数据,主要功能是形成实际地址、预取指令和存取操作数。EU经过BIU进行片外操作数的访问,BIU为EU提供将要执行 的指令。EU与BIU可分别独立工作,当 EU不需BIU提供服务时,BIU可进行填 充指令队列的操作。2 . 8086/8088 CPU的地址总线有多少位?其寻址范围是多少?答:8086/8088 CPU的地址总线共20位,最大可寻址1MB空间。3 . 8086/8088 CPU使用的存储器为什么要分段?怎么分段?答:8086

14、/8088为16位CPU,其内部的ALU、相关的地址寄存器(如 SP、IP以及BX、BP、SI、DI )等都是16位的,因而对存储器地址的处理也只能是16位操作,即8086/8088的直接寻址能力在 64KB范围内。而实际上 8086/8088有20条地址线,它的 最大寻址空间为1MB。这就产生了一个矛盾,即如何用 16位的地址寄存器去表示一 个20位的存储器物理地址?实际使用的解决办法是:将 1MB大小的存储空间分为若干段”每段不超过64KB。这样,一个20位的物理地址就可以用“1位段基址:16位偏移量”的形式(称为逻辑地址)来表示了,其中段地址存放在8086/8088的段寄存器中。4 .

15、8086/8088 CPU中有几个通用寄存器?有几个变址寄存器?有几个指针寄存 器?通常哪几个寄存器亦可作为地址寄存器使用?答:8086/8088 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个字节 指

16、令代码。第二、8086外部数据总线宽度为16位,8088外部数据总线宽度只有 8位。注意: 8086和8088外部数据总线的宽度不同将导致扩展主存储器及输入/输出接口时系统地址线和数据线连接方式的不同。第三、其他不同的引脚定义:(1) AD15AD0,在8086中为地址/数据复用,而 在8088中AD15AD 8改为A15A8只作地址线用;(2) 34、28号引脚定义不同。6. 8086/8088CPU工作在最小模式时:当CPU访问存储器时,要利用哪些信号? 当CPU访问外设接口时,要利用哪些信号?答: 8086/8088 CPU工作在最小模式时,若访问存储器,需用到以下信号:M /1O、 A

17、LE、 DT/R、DEN、READY、 BHE、WR、 RD、AD 0AD15、A19/S6A16/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 01E3

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

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

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

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

22、7FH,它们在8086系统存储器中的地址为 00130H和00135H,试画出它们的存储器示意图。地址内容17 .试说明8086CPU的控制引脚 ALE的作用。答:8086的低位地址线与数据线复用,为保证地址线维持足够的时间,需使用ALE信号将低位地址线通过锁存器保存,以形成系统地址总线。第3章8086/8088CPU指令系统、判断题1. MOV AX , : BP的源操作数物理地址为16 X ( DS) + ( BP )。( X)2. OUT DX , AL指令的输出是16位操作数。(X)3 不能用立即数给段寄存器赋值。(“4 .所有传送指令都不影响PSW寄存器的标志位。(X)5. 堆栈指令

23、的操作数均为字。(v)6 .段内转移指令执行结果要改变IP, CS的值。(X)二、单项选择题1 .寄存器间接寻址方式中,操作数在( C)中。A.通用寄存器 B. I/O端口 C.存储单元D.段寄存器2 . (A)寻址方式的跨段前缀不可省略。A. DS : : BP :B. DS : :SI:C. DS : : DI :D. SS: : BP:3. 假设(SS) =2000H , ( SP) =0012H , (AX ) =1234H,执行 PUSH AX 后, (SP) = ( C)。A. 0014H B. 0011H C. 0010H D. 000FHC)。Short label后,下列各数

24、D) 1100H4. 用BP作基址变址寻址时,操作数所在的段是当前( A.数据段 B.代码段 C.堆栈段 D.附加段5 .已知(IP) =1000H , CF=0,则执行指令 JNC 中哪一个是可能的IP值? ( B)(A ) 0FFFFH ( B) 0FFEH ( C) 10FEH6. 执行下列指令后,(AX ) = ( A )。MOVAX ,1234HMOVCL ,4ROLAX ,CLDECAXMOVCX ,4MULCXHLTA. 8D00H B. 9260H C. 8CA0H D. 0123H7 .设(AL ) = - 68 , (BL ) = 86,执行SUB AL , BL指令后,

25、正确的结果是 (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.条件转移指令JNE的条件是(C )。A. CF = 0 B. CF = 1 C. ZF = 0 D. ZF = 110 .在8086中,(BX )= 0282H,且题中指令已在指令队列中,则执行INC BYTE PTR ( BX )指令

26、需要的总线周期为(C )。A. 0 B. 1C.2 D. 3三、多项选择题1 .下列指令中源操作数使用寄存器寻址方式的有(BF )。A. MOVBX ,BUF:SI B. ADD:SI+50:,BXC.SUBAX , 2D. CMPAX ,DISP: DI:E. MULVAR: BX :F.PUSHCX2 .将累加器AX的内容清零的正确指令是(BCD )。A. CMPAX ,AXB. SUB AX , AXC. ANDAX ,0D. XOR AX , AX3 .正确将字变量 WORD VARR偏移地址送寄存器 AX的指令是(CD)。A. MOV AX , WORD VARRB. LES AX

27、 WORD VARRC. LEA AX , WORD VARRD. MOV AX , OFFSET WORD VARR4 .调用CALL指令可有(ABDE )。A.段内直接 B.段内间接 C.短距离(SHORT)D. 段间直接 E.段间间接5. 8086指令的操作数可能有(ABC )。A. 0 B. 1 C. 2 D. 3四、填空题1 .与指令 MOV BX , OFFSET BUF功能相同的指令是 LEA BX : BUF。2 .假设(BX ) = 0449H , ( BP) = 0200H , (SI) = 0046H , (SS) = 2F00H , (2F246H) =7230H 则

28、执行 XCHG BX , : 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的存储单元中。 以下程序应该从该数据区中找出最小的

29、一个数据,并存入EA = 2100H单元中,请将F面程序补充完整。MIN :MOVMOVMOVLOOP1 : INCCMPJLEMOVLOOP2 : DECJNZMOVBX ,2000HAL , : BX :CX ,99BXAL , : BX :LOOP2AL , : BX :CXLOOP12100H, AL7. MOV AX , ES:BX :SI中,源操作数的物理地址计算式是: (ES)X 16+( BX ) + ( SI)。五、综合题1.请指出以下各指令的源、目的操作数所使用的寻址方式。(1)MOVSI, 2100H(2)SBBDISPBX , 7(3)ANDDI , AX(4)ORAX

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

31、BX + BP + 6(3)PUSHDL(4)INAX , 3FH(5)OUT3FFH , AL(6)POPAX(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)不允许直接向段寄存器送立即数,可改为:MOVAX , 1000HMOVDS , AX(2) 该指令在语法上是对的,即可以把一个立即数送入一个存储单元;但是如果考虑实际编译,则第一操作数前应加上 BYTE P

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

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

34、能直接传送数据3 .设若标志寄存器原值为 0A11H , ( SP) =0060H , ( AL ) =4。下列几条指令 执行后,标志寄存器、 AX、SP的值分别是多少?PUSHFLAHFXCHG AH , ALPUSH AXSAHFPOPF答:指令执行后标志寄存器的值为0411H , AX=0411H , SP=005EH。4. 假如在程序的括号中分别填入指令:(1) LOOP L20(2) LOOPNE L20(3) LOOPE L20试说明在三种情况下,当程序执行完后,AX、BX、CX、DX四个寄存器的内容分别是什么?BEGINMOVAX,01MOVBX,02MOVDX,03MOVCX,

35、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的单条指令有哪些?比较它们的功答:(1) MOV AX,0 ;仅将累加器清 0,不会影响任何标志位(2)SUBAX , AX;累加器清0的同时影响所有状态标志,具体地有:ZF、PF 置 1 , CF、AF、SF、OF 均清 0(3)ANDAX , 0;将累加器清0, ZF、PF

36、 置 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,符号 COUNT 的偏移地址为 1200H。执行下列指令后,寄存器 AX、BX、SI的值分别是多少?MOVBX , OFFS

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

38、 , (DS) =8877H。&若(AX ) =26D3H , ( CX ) =7908H , CF=1,执行下列指令后,寄存器AX、CX的值分别是多少? CF= ? OF=?SAL CH , 1RCRAX , CLROLAL , 1答:执行结果为( AX ) =0A64CH , (CX ) =0F208H , CF=OF=0。;以X为首址的字单元中的数据依次为1234H、;以Y为首址的字单元中的数据依次为8765H、LEASI,XLEADI,YMOVDX,SI + 2MOVAX , XADDAX , XADCDX , SI + 2CMPDX , DI + 2JLL2CMPAX , YJLL1

39、JMPEXITL1 :MOVAX , 1JMPEXITL2 :MOVAX , 2EXIT5678H4321H答:执行结果为( AX ) =2, ( DX ) =OACFOH 。y,试编程按以下要求给y10.设VAR字单元的值为 x, F1字单元的值为 赋值:厂 2x30y = 030 x 1J - 2x30 ,则转 PLUS2x x 1 y=0CMPJLMOVJMP GOPLUS2 :MOVF1 , 2;y=2JMPGOMIN2 :MOVF1,-2 ; y =-2 或 00FEHGO:;后续处理简析:本例中并未说明VAR字节单元是带符号数还是无符号数,读者在使用判断转移指令时可任意选用。若当作

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

41、OC语句定义,由 ENDP语句结束,属 性可以是 NEAR 或FAR。6. 假设VAR为数据段中已定义的变量,则指令 MOV BX , OFFSET VAR中源操作数的寻址方式是 立即数寻址。二、选择题1 . EXE文件产生在(D )之后。A.汇编 B.编辑 C.用软件转换D.连接2 .变量定义的伪指令助记符有(ABCEF )。A. DB B. DW C. DD D. DF E. DQ F. DT3.主程序与子程序之间传递参数可通过(ABC )进行。A.堆栈 B.存储器单元C.通用寄存器D.指令队列E.其他4 计算机系统软件中的汇编程序是一种(C)。A.汇编语言程序B.编辑程序C.翻译程序D.

42、将高级语言转换成汇编程序的程序5.若主程序段中数据段名为 DATA,对数据段的初始化操作应为( B)。A.MOVAX , DATAB.MOVAX , DATAMOVES, AXMOVDS, AXC.PUSHDSD.MOVDS, DATA6.8086宏汇编源程序中,若BUFF是字变量名,则执行指令MOV BX , BUFF后,BX中的值为BUFF单元的(A )oA.字数据值B.变量类型值C.段基址 D.段内偏移量三、综合题1 下列标号为什么是非法的?(1)GET.DATA(2)1_NUM(3)TEST-DATA(4)RET(5) NEW ITEM答案:(1)因为只允许是标号的第一个字符(2) 第

43、一个字符不能为数字(3) 不允许出现-(4) 不能是保留字,如助记符不能有空格2. 已知数据和符号定义A1DB?A2DB8K1EQU100判断下列指令的正误,并说明错误指令的原因。(1)MOVK1 , AX(2)MOVA2 , AH(3)CMPA1 , A2(4)MOVBX , K1MOVBX , DX(5)K1 EQU1 200答:(1)错误。K1是符号,在此处相当于立即数 100,故不能做目的操作数。(2) 正确。(3) 错误。A1、A2都是字节变量,相当于两个存储器单元,故不能同时 出现在一条指令中直接进行比较。(4) 正确。(5) 错误。用EQU定义的符号不能重新赋值,除非已用PURGE

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

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

宁ICP备18001539号-1