1 / 70

第一章 习 题

第一章 习 题. 1 、微型计算机的特点是什么?主要性能指标有哪些?字节和字长有什么区别? 特点:体积小,重量轻,耗电少;可靠性高,结构灵活 ;价格低廉;应用面广。 主要性能指标:字长、运算速度、内存容量。 字节和字长的区别:每 8 位为一个字节,固定不变,它是存储器的基本单位。 字长是计算机一次可并行处理的数据的位数,可以是一个或多个字节。. 2 、微型计算机是由哪几部分组成的?简述各部分的作用。 微型计算机由硬件和软件组成,硬件主要包括 中央处理器( CPU )、存储器、输入接口电路、输出接口电路、总线。 软件主要包括系统软件和应用软件。

miron
Download Presentation

第一章 习 题

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第一章 习 题 1、微型计算机的特点是什么?主要性能指标有哪些?字节和字长有什么区别? 特点:体积小,重量轻,耗电少;可靠性高,结构灵活 ;价格低廉;应用面广。 主要性能指标:字长、运算速度、内存容量。 字节和字长的区别:每8位为一个字节,固定不变,它是存储器的基本单位。 字长是计算机一次可并行处理的数据的位数,可以是一个或多个字节。

  2. 2、微型计算机是由哪几部分组成的?简述各部分的作用。2、微型计算机是由哪几部分组成的?简述各部分的作用。 微型计算机由硬件和软件组成,硬件主要包括中央处理器(CPU)、存储器、输入接口电路、输出接口电路、总线。 软件主要包括系统软件和应用软件。 作用略。

  3. 3、微处理器、微型计算机、微型计算机系统之间有什联系和区别。3、微处理器、微型计算机、微型计算机系统之间有什联系和区别。 微处理器即CPU 是计算机的核心部件,其利用集成技术将运算器、控制器集成在一片芯片上。主要功能如下: 对指令译码并执行规定动作;能与存储器及外设交换数据;可响应其它部件的中断请求;提供系统所需的定时和控制。 微型计算机是在CPU的基础上配置存储器、I/O接口电路、系统总线。 微型计算机系统是以微机为主体,配置系统软件和外设。

  4. 4、微型计算机内部、外部的结构特点是什么?总线结构的优点是什么?4、微型计算机内部、外部的结构特点是什么?总线结构的优点是什么? 微型计算机内部为单总线结构,外部为三总线结构即AB、DB、CB 有了总线结构以后,系统中各功能部件的相互关系变为各个部件面向总线的单一关系,一个部件只要符合总线标准,就可以连接到采用这种总线标准的系统中,使系统功能很方便得到扩展。

  5. 5、完成下列数制之间的转换 (48)D=( 30 )H=(00110000)B (6DB)H=(1755)D=(11011011011)B (10101101)B=( AD)H=( 173 )D (98)D=( 10011000)BCD=( 1100010 )B (010110010010)BCD=( 592 ) D =(1001010000)B

  6. 6、完成下列码制之间的转换 [X]原=BDH [X]补、[X]反、X真值= ? [X]反=3CH [X]补、[X]原、X真值= ? [X]补=8AH [X]反、[X]原、X真值= ? [X]原=BDH [X]补=C3H [X]反=C2H X真值= -61 [X]反=3CH [X]补=3CH [X]原=3CH X真值= 60 [X]补=8AH [X]反=89H [X]原=F6H X真值= -118

  7. 7、已知X=72 Y=35 求 X+Y=? X-Y=?Y-X=? [X]原= [X]补=01001000 [-X]补=10111000 [Y]原= [Y]补=00100011 [-Y]补=11011101 [X+Y]补= [X]补+ [Y]补=01101011 = [X+Y]原 X+Y =107 [X-Y]补= [X]补+ [-Y]补=00100101 = [X-Y]原 X-Y =37 [Y-X]补= [Y]补+ [-X]补=11011011 [Y-X]原= 10100101 Y-X =-37

  8. 第二章习题 1、 CPU常用的工作方式有哪几种?8086CPU采用哪种工作方式? CPU常用的工作方式有串行方式和并行方式,8086CPU采用并行工作方式。 2、8086CPU有哪几部分组成?各组成部分的主要功能是什么? 8086CPU有执行部件EU和总线接口部件BIU组成。 EU的主要功能是 (1)从指令队列中取出指令。 (2)对指令进行译码,发出相应的控制信号。 (3)向BIU发出请求。 (4)执行指令包括进行算术、逻辑运算,并计算操作数的偏移量。

  9. 总线接口部件的功能是: (1)合成20位的地址,完成与外界之间的数据传送。 (2)预取指令送到指令队列。 (3) 发出外部总线控制信号。 3、状态标志和控制标志又何不同?程序中是怎样利用这两类标志的?8086的状态标志和控制标志分别有哪些? 状态标志反映运算结果的状态,其可能对后面的程序有影响;控制标志是人为设定,其对CPU的运行起控制作用。 状态标志有ZF、CF、OF、PF、SF、AF 控制标志有TF 、IF、 DF

  10. 4、从引脚信号上看8086和8088有什么不同? ①8088内部(CPU内)有16位数据线,而对外只有8位数据线,因此数据地址复用线与8086不同。 8086:AD0—AD15 8088: AD0—AD7 A8—A15 ② 第28号引脚规定相反。 8086:最小模式下为 M/IO 8088:最小模式下为 M/IO(与8085兼容) ③ 第34号引脚不同 8086:BHE/S 8088:在最大模式中,为高电平; 8088没有高8数据,输出SS0信号,此与其它信号组合表明当前的动作。

  11. 5、什么是最小模式和最大模式?它们在使用上有什么不同。5、什么是最小模式和最大模式?它们在使用上有什么不同。 最小模式:系统只有一个8086CPU,所有的控制信号都直接由8086CPU产生,总线控制逻辑电路最少。 最大模式:系统包括两个或多个CPU(一个为主CPU,其他为协CPU),此时8086CPU需要外加总线控制器,以便产生较多的控制信号进行互相联系和协调工作。

  12. 6、 段寄存器CS=1200H,IP=FF00H,此时指令的物理地址为多少?指向这一物理地址的CS值和IP值是唯一的吗? 物理地址为21F00H,CS和IP值不唯一。 7、已知物理地址为61320H,若CS=5F00H ,求偏移地址。若CS=5200H,求偏移地址。该单元为何有不同的偏移地址? IP分别为2320H和F320H 同一个物理地址是由段基值和偏移地址合成,当段基值不同时偏移地址必然不同。

  13. 8、若CS=2200H,问物理地址为222AFH的存储单元是否在此代码段中?8、若CS=2200H,问物理地址为222AFH的存储单元是否在此代码段中? 此时IP=02AFH<FFFFH,故在此代码段中。 9、DS=1100H,SI=ABCDH 求数据所在的物理地址。 DS=2345H,SI=D0CFH 求数据所在的物理地址。 物理地址=11000H+ABCDH=1BBCDH 物理地址=23450H+D0CFH=3051FH

  14. 10、A=C236H B=758AH 求A+B、 A-B后各状态标志的值。(CF、SF、ZF、AF、OF、PF) 1100001000110110 + 0111010110001010 10011011111000000 CF=1 SF=0 ZF=0 AF=1 OF=0 PF=1 1100001000110110 - 0111010110001010 0100110010101100 CF=0 SF=0 ZF=0 AF=1 OF=1 PF=1

  15. 11、 SP是 堆栈指针寄存器,其内容是栈顶地址的偏移量。 12、ALE信号在T1时刻有效,有效状态是高电平 其作用是作地址寄存器的选通信号 13、8086CPU的引脚RD为低电平,M/IO为高 电平时,表示读存储器 14、8086CPU执行I/O端口写操作时,WR=0 M/IO=0 RD= 1 DT/R= 1 DEN=0

  16. 15、若8086CPU工作于最小模式,试指出当CPU完成将AH的内容送到物理地址为91001H的存储单元操作时,以下哪些信号应为低电平:M/IO、WR、RD、BHE/S7、DT/R。若CPU完成的是将物理地址91000H单元的内容送到AL中,则上述哪些 信号应为低电平。 当CPU完成将AH的内容送到物理地址为91001H的存储单元时WR=0 BHE=0 当CPU完成的是将物理地址91000H单元的内容送到AL中时RD=0 DT/R=0

  17. 16、什么是引脚的分时复用?请说出8086/8088CPU有哪些引脚是分时复用引脚?其要解决的问题是什么?16、什么是引脚的分时复用?请说出8086/8088CPU有哪些引脚是分时复用引脚?其要解决的问题是什么? 用同一组引脚表示不同的信号即在不同的时刻表示不同的信号;8086中AD0_AD15、A16/S3_A19/S6 。 要解决地址信号的锁存问题。 17、什么是指令周期?什么是总线周期?什么是时钟周期?它们之间的关系如何? 指令周期:执行一条指令所需要的时间。 总线周期(机器周期):CPU通过总线与存储器或I/O接口进行一次数据传输所需的时间。 时钟周期(T状态):CPU处理动作的最小单位是主频的倒数 一个指令周期包含1个或多个总线周期,一个总线周期包含4个或更多机器周期。

  18. 第3章:习题 1.8086常用的寻址方式有哪些?哪几种寻址方式的指令执行速度快? 立即数寻址、直接寻址、寄存器寻址、寄存器间接寻址(又包括多种方式)。 立即数寻址和寄存器寻址速度快。 2.如在指令中不具体指明段寄存器,那么段地址如何确定? 由隐含关系确定: ① [BX] 隐含于DS段②[BP] 隐含于SS段③ [SI]、[DI]单独使用隐含于DS段 ④ 基址寄存器和变址寄存器同时出现,以基址寄存器隐含关系为准。⑤[SP]隐含于SS段⑥[SI]、[DI]用于串操作时,[SI]隐含于DS段, [DI]隐含于ES段。

  19. 3.假设DS=3000H,BX=0870H,SI=010CH,d=45h 以MOV指令为例,写出各种寻址方式下的指令形式,并求出数据的有效地址和物理地址。 ① 直接寻址 指令形式: MOV AX, [0045H] EA= 0045H 物理地址=30000H+0045H=30045H ② 基址寻址 指令形式: MOV AX, [BX] EA= 0870H 物理地址=30000H+0870H=30870H ③ 变址寻址 指令形式: MOV AX, [SI] EA= 010CH 物理地址=30000H+010CH=3010CH

  20. ④ 相对基址寻址 MOV AX, [BX+0045H] EA= 0870H+0045H=08B0H 物理地址=30000H+08B0H=308B0H ⑤ 相对变址寻址 MOV AX, [SI+0045H] EA= 010CH+0045H=0151H 物理地址=30000H+0151H=30151H ⑥基址变址寻址 MOV AX, [BX+SI] EA= 0870H+010CH=097CH 物理地址=30000H+097CH=3097CH ⑦相对基址变址寻址 MOV AX, [BX+SI+0045H] EA= 0870H+010CH+0045H=09C1H 物理地址=30000H+09C1H=309C1H

  21. 4.请指出下列指令中源操作数的寻址方式 ⑴ MOV SI,120 ; 立即数寻址 ⑵ MOV BP,[BX] ;寄存器间接寻址(基址寻址) ⑶ MOV AX,CX ;寄存器寻址 ⑷ POP BX ;栈区寻址(出栈操作) ⑸ AND DL,[BX+SI+30H];寄存器间接寻址(相对基址变址寻址) ⑹ XCHG AL,BUF;直接寻址

  22. 5.请指出如下程序段中每条逻辑指令执行后标志ZF、SF和PF的状态5.请指出如下程序段中每条逻辑指令执行后标志ZF、SF和PF的状态 MOV AL,0AH; AL=0AH ZF、SF、 PF不变 AND AL,0FH; AL=0AH 0 、0 、1 OR AL,4BH; AL=4BH 0 、0 、1 XOR AL,AL ; AL=0H 1、 0 、1

  23. 6.判断指令的对错,说明错误指令出错原因 ⑴ MOV [SP] ,BX 错,不能用SP间接寻址 ⑵ MOV CX,BX 对 ⑶ JMP BX 对 ⑷ XCHG [SI],WED 错,不能在两个内存单元直接交换 ⑸ SHL AX,CX 错,移位次数必须在CL中 ⑹ XCHG ES:[BX],AL 对 ⑺ LEA AX,[BX+SI] 对 ⑻ IN BL,DX 错,输入指令只能用累加寄存器 ⑼ PUSH CS 对 ⑽ MOV DH,345H 错,数据类型不符。

  24. 7.利用三种方法实现内存DS段2000H和2100H的两个字单元的内容互换。7.利用三种方法实现内存DS段2000H和2100H的两个字单元的内容互换。 1、MOV AX, [2000H] MOV BX,[2100H] MOV [2000H],BX MOV [2100H],AX 2、XCHG AX, [2000H] XCHG AX, [2100H] XCHG AX, [2000H] 3、PUSH [2000H] PUSH [2100H] POP [2000H] POP [2100H]

  25. 8.已知(SP)=2800H,(AX)=0010H,(BX)=0FA0H, (CX)=1002H。求执行下列程序段后SP、AX、BX、CX的内容 PUSH AX PUSH BX PUSH CX POP BX POP AX 执行后 SP=27FEH AX=0FA0H BX=1002H CX=1002H

  26. 9.分析程序执行后AX=?CF=?AF=? MOV AX, 2608H MOV BL, 95H ADD AL, BL 执行后 AX=2703H AAA CF=AF=1 10.分析程序执行后AX=?CF=? MOV AX, 1E54H STC MOV DX, 95H XOR DH, 0FFH 执行后 AX=IEBFH SBB AX, DX CF=1

  27. MOV AL , 67H ; AL= 67H NEG AL ; AL= 99H OR AL , 0A0H ; AL= B9H AND AL , 0F5H ; AL= B1H XOR AL , 0FH ; AL= BEH • MOV AX, 3267H ROL AX, 1 ADC AL, AH MOV [3200H],AX 执行上述指令后 AX=6432H [3200H]=32H [3201H]=64H

  28. 13. 已知DS=1000H,将下面程序段执行后的结果填入相应的寄存器和内存单元。 MOV CL,04H MOV AX,0ABCDH SHR AX,CL MOV SI,2000H MOV [SI],AX 则 CL= 04H AX= 0ABCH SI= 2000H [12001H]= 0AH

  29. 14.设DS段2100H单元的内容是32H MOV BX,2100H MOV AL,[BX] MOV AH,0 MOV SP, 3210H XCHG AX,BX PUSH AX PUSH BX POP CX 执行程序段后 AX=2100H BX=0032H CX=0032H SP=320EH

  30. MOV AX, 0478H MOV BX, 2346H SUB AL,BL ADC BH,AH 执行指令后AX= 0432H BX=2746H 16.已知DS段3200H开始的内存中顺序存放着十六进制基数(0~F)的ASC码 MOV BX,3200H MOV AL,06H MOV CL,03H

  31. ADD AL,CL MOV CL,AL XLAT XCHG CL,AL MOV CL,AL INC AL INC AL XLAT HLT 执行指令后 AL=42H CL= 09H BX=3200H

  32. MOV AX, 4737H MOV BX, 2856H SUB BH, AH ADC AL, BL DAA 执行上述程序后 AX= 4794H BX=E156H 18. 已知程序段如下: CMP AX, CX JNC K1 JNO K2 JMP K3

  33. 假设有以下三组AX、CX值,那么在程序执行后,分别转向哪里?假设有以下三组AX、CX值,那么在程序执行后,分别转向哪里? ⑴ (AX)=E301H (CX)=8F50H CF=0 转K1 ⑵ (AX)=8F50H (CX)= E301H CF=1,OF=0 转K2 ⑶ (AX)=147BH (CX)=80DCH CF=1, OF=1 转K3

  34. 第四章习题 1、下面程序段的功能是将内存单元DAT1起始的20个8位二进制数,按正、负分别存放,正数存于BUF1开始的单元,负数存于BUF2开始的单元,仔细阅读程序,改正其中的错误。 CLD STOSW MOV SI,DAT1 JMP GOND MOV DI,BUF1 MIUS: XCHG BX,SI MOV BX,BUF2 STOSB LOP1:LODSB XCHG BX,DI MOV CX,20 GOND: LOOP LOP1 TEST AL,80 HLT JZ MIUS

  35. 2、下面程序段的功能是将SI=2000H为起始的6个单元的组合BCD码累加,其结果仍在SI为指针的内存中,仔细阅读程序,改正其中的错误。2、下面程序段的功能是将SI=2000H为起始的6个单元的组合BCD码累加,其结果仍在SI为指针的内存中,仔细阅读程序,改正其中的错误。 MOV SI,2000H MOV SI,AL MOV CX,6 INC SI XOR AL,AL LOOP LOP1 LOP1:ADD AL,[SI ] MOV [SI],AH AAA HLT ADD AH,0

  36. 3、下面程序段的功能是将SI=1000H为起始的2个单元的ASCⅡ码(个位数地址较低)转换为1个组合型BCD码,仔细阅读程序,改正其中的错误。3、下面程序段的功能是将SI=1000H为起始的2个单元的ASCⅡ码(个位数地址较低)转换为1个组合型BCD码,仔细阅读程序,改正其中的错误。 MOV SI,1000H AND BL,0FH MOV AL,[SI ] OR AL,BL AND AL,0F INC SI SHL AL,4 MOV [SI],BL INC SI HLT MOV BL,SI

  37. 4、下面程序段的功能是在SI=2400H为起始的10个单元的无符号数中,找出最小数存于DI为地址指针的内存中,仔细阅读程序,改正其中的错误。4、下面程序段的功能是在SI=2400H为起始的10个单元的无符号数中,找出最小数存于DI为地址指针的内存中,仔细阅读程序,改正其中的错误。 MOV SI,2400H INC SI MOV CL,10 LOP2: LOOP LOP1 MOV AL,SI MOV [SI],AL LOP1:CMP AL,[SI+1] HLT JNC LOP2 MOV AL,[SI+1]

  38. 5、下面程序的功能是将内存单元中连续存放的6个有符号8位二进制数中的最大数找出,并存于MAX单元,仔细阅读程序,改正其中的错误。5、下面程序的功能是将内存单元中连续存放的6个有符号8位二进制数中的最大数找出,并存于MAX单元,仔细阅读程序,改正其中的错误。 DATA SEGMENT ABCD DB 06H,57H,89H,0A7H,0F7H,0E8H,95H MAX DB 1 DUP(?) DATA END CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX, DATA

  39. MOV DS, AX MOV SI, OFFSET ABCD MOV CL, SI MOV CH, 0 MOV AL, [SI+1] P1: INC SI CMP AL, SI+1 JC P2 MOV AL, [SI] P2: JMP P1

  40. MOV [SI+1],CL HLT CODE ENDS END START

  41. 6、从3#端口输入1个数与预定值相比,将差的绝对值从4#端口输出,编写完成此功能的程序段。6、从3#端口输入1个数与预定值相比,将差的绝对值从4#端口输出,编写完成此功能的程序段。 DATA SEGMENT A DB 50H ;设预定值 DATA ENDS

  42. CODE SEGMENT ASSUME CS:CODE,DS:DATA GO: MOV AX,DATA MOV DS,AX MOV BL,A IN AL,03H CMP AL,BL JG LB1 XCHG AL,BL LB1: SUB AL,BL OUT 04H,AL CODE ENDS END GO

  43. 试编写一汇编程序,将AX中各位取反。然后统计出AX试编写一汇编程序,将AX中各位取反。然后统计出AX 中0的个数,将结果保存到CL中。 DATA SEGMENT NUM DW 2350H ; DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA GO: MOV AX,DATA MOV DS,AX MOV AX ,NUM NOT AX XOR DL,DL MOV CX,16 7、

  44. P1: SHR AX, 1 JNZ P2 INC DL P2: LOOP P1 MOV CL, DL CODE ENDS END GO

  45. 8、试编写一汇编程序,要求把一个长度不大于200的字节数组,分别存为正数组、负数组,并统计两个数组的个数,分别存于正、负数组的第一个字节,原数组以“$”结束。8、试编写一汇编程序,要求把一个长度不大于200的字节数组,分别存为正数组、负数组,并统计两个数组的个数,分别存于正、负数组的第一个字节,原数组以“$”结束。 DATA SEGMENT DA1 DB 25H, BDH, 7FH,94H,65H,…,A5H, ‘$’ DA2 DB 201 DUP(?) ; 正数 DA3 DB 201 DUP(?) ; 负数 DATA ENDS

  46. CODE SEGMENT ASSUME CS:CODE, DS: DATA START: MOV AX , DATA MOV DS, AX MOV ES, AX LEA SI, DA1 LEA DI, DA2 INC DI LEA BX, DA3 INC BX XOR DX, DX GO1: LODS B CMP AL, ‘$’ JZ JS1

  47. TEST AL,80H JNZ NEG1 STOSB INC DL JMP GO1 NEG1: XCHG BX, DI STOSB INC DH XCHG BX,DI JMP GO1

  48. JS1: LEA DI, DA2 MOV [DI], DL LEA BX, DA3 MOV [BX], DH HLT CODE ENDS END START

  49. 9、求出内存单元BUF为起始的20个16位无符号数的累加和和平均值,分别存放于其后的内存单元中。9、求出内存单元BUF为起始的20个16位无符号数的累加和和平均值,分别存放于其后的内存单元中。 DATA SEGMENT NUM DW 2E50H ,C134H,……A76BH SUM DW ?,? AVE DW ? DATA END CODE SEGMENT ASSUME CS:CODE, DS : DATA

  50. BEGIN: MOV AX,DATA MOV DS,AX LEA BX, NUM; LEA DI, SUM; LEA SI, AVE MOV CX, 20; XOR AX, AX; XOR DX, DX LP1: ADD AX, [BX] ; JNC M1 ; INC DX ;

More Related