版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、习题参考解答1.1 什么是微处理器、微型计算机、微型计算机系统?参考答案:将运算器和控制器集成在一块大规模集成电路芯片上作为中央处理部件,简称为微处理器;以微处理器为核心,再配上存储器、接口电路等芯片,构成微型计算机;微型计算机系统由硬件和软件系统两大部分组成:(1)硬件系统由微型计算机和外设组成的计算机实体;(2)软件系统是指为微型计算机运行的全部技术资料和各种程序,由系统软件和应用软 件构成。1.2 什么是微型计算机的三种总线?参考答案:系统总线包含有三种不同功能的总线,即数据总线DB( Data Bus )、地址总线 AB(Address Bus )和控制总线 CB (Control B
2、us )。“数据总线 DE”用于传送数据信息。数据总线是双向三态形式的总线,即他既可以把CPU的数据传送到存储器或I/O接口等其它部件,也可以将其它部件的数据传送到CPU“地址总线AB是专门用来传送地址的,由于地址只能从CPU传向外部存储器或I /O端口, 所以地址总线总是单向三态的。“控制总线CB用来传送控制信号和时序信号。1.3 评估微型计算机的主要技术指标有哪些?参考答案:评估微型计算机的主要技术指标有:CPU的字长,决定计算机内部一次可以处理的二进制代码的位数;内存储器容量与速度,内存储器容量是衡量它存储二进制信息量大小的一个重要指标,内存储器的速度用存取周期来衡量;CPU指令执行时间
3、,反映 CPU运算速度的快慢;系统总线的传输速率等。1.4 将下列十进制数分别转换为二进制、十六进制数。35130 0.625 48.25参考答案: 100011B , 23H 0.101B , 0.AH 110000.01B , 30.4H1.5 将下列二进制数分别转换为十进制、八进制、十六进制数。 101101B 110110.101B 101011.011B参考答案: 45 , 55Q 2DH 230 , 346Q E6H 54.625 , 66.5Q, 36.AH 43.375 , 53.3Q, 2B.6H1.6 写出下列十进制数的原码、反码、补码(分别采用8位二进制和16位二进制表示
4、)38120参考答案:原码、反码、补码:原码、反码、补码:1.7 已知补码求出其真值和原码。 21H 93H 45A6H参考答案:-5000100110B,01111000B,-890000000000100110B0000000001111000B真值:+21H,原码:21H 真值:+45A6H,原码:45A6H 1.8 将下列十进制数转换为压缩和非压缩格式的 0DA25H真值:-6DH,原码:EDH真值:-25DBH, 0A5DBHBCD码。1255147368参考答案: 00010010B,00000001 00000010B 01010101B,00000101 00000101B1.
5、9 下列十进制数算术运算,试用8位二进制补码计算,并用十六进制数表示运算结果,判断是否有溢出。 35-45 80+50-70-60-20 + ( -60)参考答案:各数的补码:35补=00100011B,-45补80补=01010000B,50补=00110010B,-70补补-20补35+( -45 )80+50-70+ (-60 )-20+ (-60 )00100011B01010000B+00110010B1 01111110BG=0, Cs =0G=0, Cs = 1G=1, Cs=0G=1, Cs=1OF=C CS =OF=Ce CS =OF=Ce Cs =0F=O CS =0 0=
6、00 1=11 0=11 1=0没有溢出有溢出有溢出没有溢出-70-60=01111110B=-126,结果不正确,有溢出,因为-130超出了 8位补码的表示下限-128 ;1.10 分别写出下列字符串的 ASCII码(十六进制表示)。 3aB8 eF10 +5(0: How are you?参考答案: 2B3528303AH2.1 8086CPU内部由哪两部分组成?它们的主要用途是什么?参考答案:8086CPC内部按功能分执行单元 EU和总线接口单元BIU。执行单元的功能:负责指令的执行。同时向BIU输出数据(操作结果),并对寄存器和标志寄存器进行管理。在 ALU中进行16位运算,数据传送和
7、处理均在 EU控制下进行。总线接口单元的功能:负责从内存或I/O端口取指令、取操作数和保存运算结果。2.2 8086/8088CPU有哪些寄存器?各有什么用途?参考答案:8086/8088 CPU内部有14个16位的寄存器,按功能可分为:通用寄存器(8个)、 段寄存器(4个)和控制寄存器(2个)。.通用寄存器组EU中有4个16位的通用寄存器,即数据寄存器AX、BX CX DX数据寄存器AX、BX、CX、DX般用来存放数据,但它们都有各自的特定用途。AX称为累加器,是最常用的寄存器。它常用来存放算术逻辑运算中的操作数,而且一些操作要在AX中完成,如乘法操作和除法操作。此外,所有的I/O 指令都使
8、用累加器与外设端口交换信息。BX称为基址寄存器。它常用来存放操作数在内存中数据段内的基地址。CX称为计数器。在设计循环程序时一般使用该寄存器存放循环次数。DX称为数据寄存器。在寄存器间接寻址的I/O指令中存放I/O端口地址;在做双字长乘除法运算时,DX与AX一起存放一个双字长操作数,其中DX存放高16位数。.指针和变址寄存器8086/8088CPU中,有一组4个16位寄存器,它们是基址指针寄存器 BP,堆栈指针寄存器SP, 源变址寄存器SI,目的变址寄存器 DI。这组寄存器存放的内容是某一段地址偏移量,用来形成操 作数地址,主要在堆栈操作和变址运算中使用。SP称为堆栈指针寄存器;BP称为基址指
9、针寄存器;SI称为源变址寄存器;DI称为目的变址寄存器。.段寄存器 CS、DS SS ES8086/8088有20位地址总线,一共可以寻址 1M的空间。而所有内部寄存器都是16位的,只能直接寻址64KB,因此采用分段技术来解决。将1MB的存储空间分成若干逻辑段,每段最长64KB 这些逻辑段在整个存储空间中可以浮动。8086/8088定义4个独立的逻辑段,分别为:代码段、数据段、堆栈段和附加数据段,将程序 代码或数据分别放在这 4个逻辑段中。每个逻辑段的段地址分别放在对应的段寄存器中,代码或 资料在段内的偏移地址由有关寄存器或立即数给出。8086/8088的4个段寄存器: CS称为代码段寄存器,
10、用来存储程序当前使用的代码段的段地址(起始地址)。 DS称为数据段寄存器,用来存放程序当前使用的数据段的段地址。 SS称为堆栈段寄存器,用来存放程序当前所使用的堆栈段的段地址。 ES称为附加数据段寄存器,用来存放程序当前使用的附加数据段的段地址。.指令指针寄存器IPIP称为指令指针寄存器,用来存放预取指令在代码段内的偏移地址。.标志寄存器FF称为标志寄存器,是一个16位的寄存器,其中只用了 9位。分别为6个状态标志位和3 个控制标志位。2.3 8086/8088CPU中标志寄存器有几位状态位?有几位控制位?其含义各是什么?参考答案:标志寄存器是一个16位的寄存器,其中只用了 9位。分别为6个状
11、态标志位和 3个控制标志位。状态标志位状态标志位用来反映算术和逻辑运算结果的一些特征。 CF:进位标志位。当进行加减运算时,若最高位发生进位或借位则CF= 1,否则CF= 0。 PF :奇偶标志位。当运算结果的低8位中含有偶数个1时,PF= 1,否则PF = 0。 AF :辅助进位标志位。加法或减法运算时,若结果的低字节的低4位向高4位有进位或借位,则 AF = 1;否则 AF= 0。 ZF :零标志位。若当前的运算结果为0,则ZF = 1;否则ZF = 0。 SF :符号标志位。与运算结果的最高位相同,当运算结果的最高位为1时,SF=1;否则为0。 OF:溢出标志位。当运算结果超出了带符号数
12、的范围,即溢出时,OF=1;否则OF=0。 控制标志位控制标志位有3个,用来设置控制条件来控制CPU的操作,由程序设置或清除。 TF :跟踪标志位。 IF :中断允许标志位。用来控制可屏蔽中断的控制标志。若IF=1 ,允许CPU接受可屏蔽中断请求;若IF = 0,则禁止CPU回应可屏蔽中断请求。IF的状态对非屏蔽中断及内部中断没有 影响。 DF :方向标志位。控制串操作指令用的标志。2.4 In tel 8086CPU和8088CPU主要区别有哪些?参考答案:8086CPU与8088CPU的区别主要有以下 4个方面:.内部结构8086的指令队列有6B,而8088仅有4B。它们的执行单元 EU完
13、全相同,而总线接口单元 BIU却不完全相同。8086CPU内、外部的数据总线(DB)都为16位,8088内部数据总线为16位, 外部为8位。引出线和内存组织8086有一条高8位数据总线允许引出线BHE,它可以看做一条附加的地址线,用来访问内存的高字节,而Ao用来访问内存的低字节。.地址/数据复用线8086的地址/数据复用线是16 位AD15AD;而8088 仅有AD?AD0复用,AsA15仅作为地 址线使用。内存与I/O 接口选通信号电平内存与I/O 接口选通信号电平不同:8086为M/IO ,即高电平进行存储器操作,低电平进行I/O操作;而8088则相反,为IO/ M。2.5逻辑地址和物理地
14、址指的是什么?如果已知逻辑地址为1200 : 0ABCDH其物理地址为多少?参考答案:把用段地址和偏移地址表示存储单元的地址称为逻辑地址,段地址和段内偏移地址经20位地址加法器生成的20位地址称为物理地址。已知逻辑地址为 1200 : 0ABCDH其物理地址为 12000H + 0ABCDH= 1CBCDH2.6若CS为3000H,试说明现行代码段可寻址的存储空间的范围。参考答案:可寻址的存储空间的范围:30000H+0000H30000H+FFFFH既:30000HH 3FFFFH2.7设现行数据段位于存储器 10000H到1FFFFH存储单元,DS段寄存器内容为多少?参考答案:一个逻辑段最
15、大范围:0000HFFFFH因此DS段寄存器内容为:1000H。参考答案:2.9已知堆栈段寄存器 SS=4000H堆栈指针SP=0100H试将数据56789ABCH推入堆栈,画出进栈示意图。最后栈顶 SP=?参考答案:最后栈顶SP=400FCH2.10试求出下列运算后的各个状态标志 1234H +6789H 23A5H - 65C2H参考答案: 1234H + 6789H=79BDH, CF=O,PF=1,AF=O,ZF=O,SF=O,OF=0(2) 23A5H - 65C2H=0BDE3HCF=1,PF=O,AF=O,ZF=O,SF=1,OF=Q2.11 8088CPU工作在最小模式时。 当
16、CPU访问存储器时,要利用哪些信号? 当CPU访问I/O时,要利用哪些信号?参考答案:IO/ M=0,A19/S 16 A16/S3,A15A8,AD ADo,ALE,读存储器时:RD =0,DT/R=O(写存储器时: WR =0, DT/R =1) , Den。(2) IO/ M =1, A9/S16 A16/S3, A5 A8, AD AD。,ALE,读 IO 端口时:RD =0, DT/R =0(写 IO 端口时:WR =0, DT/R =1), DEN。2.12简要说明8086/8088的指令周期、总线周期、机器周期和时钟周期有何不同。参考答案:(1) 指令周期由若干个机器周期组成,而
17、机器周期时间又包含若干个时钟周期,总线周期一般由4个时钟周期组成。(2) 机器周期和总线周期的关系是: 机器周期指的是完成一个基本操作的时间, 这个基本操作 有时可能包含总线读/写,因而包含总线周期,但是有时可能与总线读 /写无关,所以,并无明确的 相互包含关系。2.13什么情况下插入Tw等待周期?插入Tw多少,取决什么因素?参考答案:在T3状态,CPU采样READY线,若READY信号无效,插入 Tw状态;插入TW状态为一个至多个,直到READY信号有效,才进入 T4状态。2.14什么情况下会出现总线的空闲周期?参考答案:只有在8086CPU和存储器或I/O接口之间传输数据时,CPU才执行总
18、线周期,当 CPU不执 行总线周期时(指令队列 6个字节已装满,EU未申请访问存储器),总线接口部件不和总线打 交道,就进入了总线空闲周期T。在空闲周期中,虽然 CPU对总线进行空操作,但是 CPU内部操作仍然进行,即 EU部件在 工作。所以说,总线空操作是总线接口部件BIU对总线执行部件EU的等待。3.1 指出下列传送类指令源操作数的寻址方式。(1) MOV SI , 120(2) MOV BX, DX(3) MOV AX , 100BXDI MOV DI,BX + 100 MOV AX , 1000H(7) MOV AX , BX参考答案:(6) MOV AX(8) MOV CX(2),8
19、0H,BXSI寄存器寻址(1)立即数寻址基址加变址寻址(4)基址寻址直接寻址(6)立即数寻址基址寻址(8)基址加变址寻址3.2指出下列指令中存储器操作数物理地址的计算表达式 MOV SI,BX(3) MOV AX,BPSI(5) ADD AX,1000H(7) ADD AX,ES:BX参考答案:(1) DS X 16+ BX(3) SS X 16+ BP+ SI(5) DS X 16+ 1000H(7) ES X 16+ BX3.3 指出下列指令中的错误(1) MOV BX , AL(3) MOV 100 , CL(5) PUSH 1234H(7) XCHG AH , 12H(9) ADD B
20、X , 10参考答案:(2) MOV 8DI,DX ADD DI,BX + 100(6) SUB AX,BX+DI+80H(8) DEC WORD PTRSI DSX 16+ DI + 8(4) DSX 16+ BX+ 100(6) DSX 16+ BX+ DI + 80H(8) DSX 16+ DI(2) MOV CS, AX(4) MOV BX, 1000H(6) MOV CS , 1200H(8) INC 2000H(10) OUT 258H, AX(1) 源操作数和目的操作数寄存器类型不匹配(2) 代码段寄存器CS不允许赋值立即数不能做目的操作数(4) 内存单元之间不能直接传送立即数不
21、能做堆栈指令操作数(6) 代码段寄存器CS不允许赋值(7) 立即数不能做交换指令操作数(8) 字类型还是字节类型不明确(9) 目的操作数类型不明确(10) 端口地址大于8位二进制数,需要通过 DX专送。3.4设(SP) = 3000H, (AX) = 1234H, (BX) = 5678H,指出执行下列指令后相关寄存器的内容。PUSH AXPUSH BXPOP AXPOP BX参考答案:执行后,(AX) = 5678H, (BX) = 1234H, (SP) = 3000H。3.5若AX=1234H BX=3456H当执行SUB AX, BX指令后,求AX和标志寄存器CF、AF、SF、ZF 和
22、OF标志位的值?参考答案:(AX)=0DDDEH CF=1, AF=1, SF=1, ZF=0, OF=03.6设(AH) = 0F6H, (AL) = 90H,问执行SUB AH, AL指令后,AX中的值及标志寄存器 CF、AF、SF、ZF、PF和OF标志位的值?参考答案:(AX)=6690H, CF=0, AF=0, SF=0, ZF=0, OF=0 PF=1。3.7 设(BX) = 1000H, (DI) = 0050H,执行 LEA BX, BX + SI -0200H后,(BX) = ?参考答案:(BX) = 0E50H3.8 已知(DS) = 2000H, (SS) = 5000H
23、, (AX) = 0012H, (BX) = 0340H, (CX) = 0781H,(BP) = 0035H, (SI) = 0100H, (DI) = 0300H, (20440H) = 2104H, (20742H) = 0E2AH (20372H) = 6FD3H 试求单独执行下列指令后的结果。参考答案:(1) MOV DL , BXSI; (DL) = 04H(2) MOV BPDI , CX; (50336H) = 07H(3) LEA BX , 100HBXDI; (BX) = 0740HMOV DX 2BX;(DX) = 0E2AH(4) SUB SI , CX;(SI) =
24、0F97FH(5) XCHG CX, 32HBX;(CX) = 6FD3H3.9下列指令完成什么功能?(1) NEG BX(2) MUL BL(3) DIV CL(4) DEC AX(5) SBB AX , CX(6) INC DL(7) ADC AX , 1000H(8) SAR AL , CL(9) DAA(10) CBW参考答案:(1) 将BX中的内容求补(正数变负数或负数变正数,绝对值不变)后送回BX。(2) BL X AL,结果送 AX(3) AX/CL,商存于AL,余数存于AH(4) AX中值减1,结果送回AL。(5) AX中的值减去BX中的值再减去CF中的值,结果送回AXo(6)
25、 DL中的值当无符号数加1,结果送回DLo(7) AX中的内容加上1000H后,再加上CF勺值,结果送回AX(8) AL中的值向右移,移动位数为 CL中的值,AL左边补充符号位的值。(9) 将AL中的两位BC胸加法运算的结果调整为两位压缩型十进制数,仍保留在AL中o(10) 将AL的最高有效位扩展至AHo3.10 已知AX=3405H BX=0FE1H CX=0002H DX=2A3EH求下列每条指令执行后目的操作数的结果。(1) AND AH , BL(2) OR CL, 20H(3) NOT DX(4) XOR CX, 0FE3H(5) TEST AL , 80H(6) CMP BX ,
26、OF123H(7) SHR DX , CL(8) SAR AL , CL(9) RCL AL , 1(10) ROR DX , CL参考答案:(1) (AH)=02H(2) (CL)=22H(3) (DX)=0D5B1H(CX)=0FE1H(AL)=05H(BX)=0FE1H(7) (DX)=0A8FH(8) (AL)=01H(9) (AL)=0AH(10) (DX)=8A8FHMOV BL,AH参考答案:MOV CL,ALADD BL,100;BL=0B8HXCHG AL,BL;AL=0B8HSUB AL,CL;AX=54E7HJS HHAND AL ,0FHHH: ADC AH,BL;AX
27、=26E7H BL=0D1H3.12 设(AX) = 1023H(BX) = 0430H,执行下列程序段指令后,MOV CL,2参考答案:SHR AH,CL;AX=0423HADD BX,AX;BX=0853HJMP NEXTMUL BLNEXT:OR AXBX;AX=0C73H3.11 设(AX)=54D1H,执行下列程序段指令后,求相应的结果。求相应的结果。HLT3.13已知当前数据段中有一个十进制数字09的7段ASCII表,其数值依次为30H-39H,其首地址为2000H。要求用XLAT指令将十进制数46转换成相应的7段代码值,存到AX寄存器中,试写出相应的程序段。参考答案:MOV BX
28、,2000HMOV AL,4XLATMOV AH,ALMOV AL , 6XLATHLT3.14设有程序段:DATA SEGMENTSTRING DB Today is saturdy! N EQU $-STRINGDATA ENDS试用字符串指令完成以下功能: 把该字符串传送到附加段中偏移量为 CHAR开始的内存单元中;检查该字符串是否有“!”字符,若有将找到的第一个“!”用“? ”将其替换 参考答案: CLDMOVCX , NLEA SI,STRINGLEA DI,CHAR1REP MOVSB LEA DI ,STRINGMOV AL ,!MOVCX , NCLDREPNE SCASBMO
29、V AL ,?MOV DI ,AL3.15阅读程序段,说明其完成的功能。MOV CX,100MOV DL,0MOV BX,1000HLP1 : MOV AL,BXCMP AL,0JNZ LP2MOV SI , 2000HINC DLLP2: INC BXLOOP LP1MOV BX , DLHLT参考答案:程序段的功能:统计从数据段偏移地址1000H的100个字节单元内容0的个数,并将统计结果存入数据段偏移地址为1064H的内存单元。3.16 试编程完成(AL) X 7/4的程序段,AL中的数为有符号数。参考答案:MOV BL , 7IMUL BLMOV CL , 2SAR AX , CL3.
30、17使用最少指令,实现下述要求的功能。BL的高4位置1;AL的低4位取反;DL中的高4位移到低4位,低4位移到高4位;AH的低4位移到高4位,低4位清0。参考答案: OR BL, 0F0H; XOR AL, 0FH; MOV CL, 4ROR AH CL; MOV CL, 4SHL AH, CL。3.18在DS: 2000H为首址的内存数据段中,存放了 10个 16位带符号数,试编程将其中最大和最小的带符号数找出来,分别存放到以 DS:3000H和DS:3002H内存单元中。参考答案:MOV AX,SI;AX中存放最大数MOV BX,SI;BX中存放最小数MOV CX,9FIND:ADD SI
31、 , 2MOV DX,SICMP AX,DXJG LOP1MOV AX,DXL0P1: CMPBX, DXJL LOP2MOV BX,DXLOP2 LOOP FINDMOV SI,3000HMOV SI,AXADD SI,2MOV SI,BXHLT3.19 设中断类型N=8,中断服务程序的起始地址为 3000:0100H,它在中断向量表中如何存放?参考答案:NX 4= 8X 4 = 32 = 20HDS:0020H存放 00HDS:0021H存放 01HDS:0022H存放 00HDS:0023H存放 30H4.1下列变量各占多少字节?M1 DW 12 , 78A3HM2 DB 3 DUP,0
32、AH 0DH $M3 DB HOW DO YOU DO?参考答案:变量M1占4个字节,变量 M2占6个字节,变量 M3占14个字节4.2某程序设置的数据区如下:DATA SEGMENTORG 1000HD1 DB 11 , 2DH 56HD2 DW 32 , 0ABD3H 7634HD3 DW D1D4 DB $-D1D5 DB 4 DUPD6 DB 34FSDATA ENDS画出该数据段内容再内存中存放形式(要求用十六进制补码表示,按字节组织)参考答案:D10B2D56D22000D3AB3476D30010D4D50B?D6333446534.3下面的数据定义,各条 MO指旨令执行后,有关
33、寄存器的内容是什么?DATA1 DB ?DATA2 DW 5 DUPDATA3 DB1234MOV AX,TYPE DATA1MOV BX,SIZE DATA2MOV CX , LENGTH DATA3参考答案:(AX)=1 , (BX)=10 , (CX)=44.4假设程序中的数据定义如下:DATA1DW?DATA2DB10 DUP(?)DATA3DD?DATA4EQU$-DATA1求DATA4的值为多少?表示什么意义?参考答案:DATA4的值为2+10+4=16,表示下一个内存单元距离 DATA1有16个字节。4.5 设平面上有一点P的直角坐标(x,y),编程实现:如果P点落在第I象限,则
34、K=I ;如 果P点落在坐标轴上,则 K=0。参考答案:X DW ?Y DW ?K DB ?MOV BX ,XMOV DX ,YCMP BX ,0JZ K0CMP DX ,0JZ K0JG K12CMP BX ,0JG K4JMP EXITMOV K ,3;在第三象限KO : MOV K 0;在坐标轴JMP EXITK1 : MOV K 1;在第一象限JMP EXITK4 : MOV K 4;在第四象限JMP EXITK12 : CMP BX 0JG K1MOV K , 2;在第二象限JMP EXITEXIT: MOV AH, 4CHINT 21H4.6编程把字符串CHAR11中小写字母转换为
35、对应的大写字母,并存放在CHAR2开始的内存单 丿元。CHAR11 DB asdfghjklCOUNT DB $-CHAR11CHAR22 DB COUNT DUP参考答案:CHAR11 DB asdfghjklCOUNT DB $-CHAR11CHAR22 DB COUNT DUPMOV CX ,COUNTMOV BX ,0LOP:MOV DL,CHAR11BXSUB DL , 20HMOV CHAR22BX ,DLINC BXLOOP LOP4.7字符串CHAR3:存放有50个字节字符,设其中有字符 M编程查找第一个 M字符相对字符串CHAR33起始地址的距离,并将其存放到LENTH11字
36、节单元参考答案:CHAR33 DB 50 DUPLENTH11 DW ?MOV CX ,50LEA DI ,CHAR33NN:MOV AL,DICMP AL , MJZ FIND0LOOP NNJMP EXITFIND0: LEA SI,CHAR33SUB DI ,SIMOV LENTH11 ,DIEXIT: MOV AH,4CHINT 21H4.8编程计算:(A*C B)/ B,其中A B、C均为字节变量有符号数参考答案:A DB 20HB DB 93HC DB 45HD DW ?MOV AL,AMOV BL,CIMUL BLMOV BX,AXCBWMOV AL,BSUB BX,AXMOV
37、AX,BXMOV CL,BIDIV CL;结果在 AX中,AL中为商,AH中为余数4.9编程查找出BUF数据区中带符号数的最大数和最小数,存放在MAX和MIN存储单元中参考答案:BUF DB 12H,45H, 0A2H,,48HN EQU $-BUFMAXDB ?MINDB ?LEASI,BUFMOVCX ,N-1MOVBL ,SIMOVAL ,BLL1: IINC SIMOV DL , SICMP DL , BLJGE L2MOV BL , DL; BL中的值为两个数比较的小值JMP NEXTL2: CMP DL, ALJLE NEXTMOV AL , DL; AL中的值为两个数比较的大值N
38、EXT:LOOP L1MOV MAX, ALMOV MIN, BL4.10从自然数1开始累加,直到累加和大于2000为止,统计被累加的自然数的个数, 并把统 计的个数送入 NUMBE单元,把累加和送入 SUM单元。参考答案:DATA SEGMENTNUMBER DWSUM DW ?DATA ENDSCODE SEGMENTASSUME CS:CODE , DS:DATASTART:MOV AX DATAMOV DS , AXMOV AX , 0MOV BX , 0LP:INC BXADD AX , BXCMP AX , 2000JBE LPMOV NUMBER , BXMOV SUM , AX
39、MOV AH , 4CHINT 21HCODE ENDSEND START4.11编写一个子程序,功能是将一个字节的BCD码转换成二进制数参考答案:;名称:BCD2BIN;功能:将一个字节的 BCD码转换成二进制;所用寄存器:CX;入口参数:AL存放两位BCD码;出口参数:AL存放二进制数;调用其它子程序:无BCD2BIN PROC NEAR(或 FAR)PUSH CXMOV CH,alAND CH,OFH;存低8位MOV CL,4SHR AL,CL;咼8位右移4位后乘10MOV CL,10MUL CLADD AL,CH;高8位加低8位POP CXRETBCD2BIN ENDP4.12 设计一
40、个软件延时子程序,延时时间约为1s,假设系统时钟为8MHz参考答案:分析:软件延时可用指令执行消耗时间来达到,延时时间主要取决于循环体指令。从手册查得PUSHF和POPF指令分别为10和8个时钟节拍,LOOP指令为3.4个时钟节拍,系统时钟为 8MHz 每个节拍需要0.125 ys,因此延时1ms计算循环次数:1ms(10 8 3.4)* 0.125七延时1s再循环1000次。;名称:DELAY1S;功能:延时1S子程序;所用寄存器:BX CX;入口参数:无,出口参数:无;调用其它子程序:无DELAY1S PROC NEARPUSH BXPUSH CXMOV BX, 1000LP1 : MOV
41、 CX 374LP2 : PUSHFPOPFDEC BXJNZ LP1POP CXPOP BXRET;延时1SDELAY1S ENDP4.13 编写程序,在屏幕上显示字符串This is a sample program.XYZ参考答案:DATA SEGMENTDA1 DBThis is a sample program. , 0DH OAH $DATA ENDSCODE SEGMENTASSUME CS:CODE ,DS:DATASTART:MOV AX DATAMOV DS,AXMOV AH,9LEA DX,DA1INT 21HMOV AH,4CHINT 21HCODE ENDSEND S
42、TART4.14编程实现:从键盘中输入学生的姓名XYZ,当按任意一个键时,屏幕上显示出:HELLO!参考答案:CHAR1 DB 20DB ?DB 20 DUPCHAR2 DB HELLO, $MOV AH,0AHINT 21H;输入姓名存CHAR1+2I元MOV AH,8INT 21H;等待按键LEA DX,CHAR2MOV AH,9INT 21H;显示CHAR肝始的内容LEA BX,CHAR1+2;显示姓名首地址MOV CL,BX-1MOV CH,0;CX中为输入姓名字符个数LP: MOV AH,2MOV DL,BXINT 21HINC BXLOOP LP;逐个显示名字的字符,CHAR1ST
43、ART: LEA SI5.1 DRAM 为什么要刷新?参考答案:动态随机存储器DRA依靠电容来保存信息。为了不丢失信息,需要再电容放电丢失信息前, 数据读出来再写进去,相当于再次给电容充电,以维持所记忆的信息,这是动态刷新。5.2设有一个具有13位地址和8位字长的存储器,问:存储器能存储多少字节信息? 如果存储器由1KX 4位RAM芯片组成,共计需要多少片?需要用几位高位地址做片选译码来产生芯片选择信号?参考答案:存储器能存储213字节信息。13位地址和8位字长是8KX 8位,如果存储器由1KX 4位RAM芯片组成,共计需要16片。需要用A。、A11、A12位高位地址做片选3-8译码来产生芯片
44、选择信号。5.3 设有16片256KX 1位的SRAM芯片。(1) 只采用位扩展方法可构成多大容量的存储器?(2) 如果采用8位的字节编址方式,该存储器需要多少地址线?参考答案:19(1)256K X 16位存储器;(2)构成的存储器是512KX 8位,2 =512K,则需要19根地址线。5.4 设有若干片32KX 8位的SRAM芯片,设计一个总容量为64K的16位存储器, 需要多少片32KX 8位的SRAM芯片?参考答案:(64KX 16) / (32KX 8) =4,需要4片5.5 如果某存储器分别有8、12、16位地址线,对应的存储单元由多少?参考答案:对于的存储单元分别是:256个、4
45、K个、64K个。5.6 已知ROMS容量为8KX 8,设它的首地址为30000H,那么最后一个单元地址是多少?参考答案:最后一个单元地址是 :30000H + 1FFFH = 31FFFH5.7 设有若干片256KB的SRAM芯片,构成2048KB存储器。(1) 需要多少片256KB SRAM芯片?(2) 构成2048KB存储器需要多少地址线?参考答案:(1) 需要 2048/256=8 片 256KB SRAM芯片;(2) 2048K=2 21,构成2048KB存储器需要21地址线。5.8 CPU有16根地址线,即A5Ac ,计算图5.19所示的片选信号c1和 呢 指定的基地址范围。参考答案
46、:瓦低电平有效需要 A15A12全是高电平1值,瓦低电平有效需要 A5A12全是低电平0值。A15 A2 : 1111B=0FH A11 Ao变化范围:000HFFFH因此CS1地址范围:F000H- FFFFHA15 A2 : 000B=0H A11 Ao变化范围:000HFFFH因此CS1地址范围:0000H0FFFH6.1为什么外设要通过接口电路和主机系统相连?参考答案:微机CPU和外设信号存在速度差异、信号电平差异及驱动能力差异、信号形式差异(CPU只能处理数字信号,而外设有数字量、模拟量、非电量等)、时序差异等问题,这些都需要通过在CPU与外设之间设置相应的I/O 接口电路来予以解决
47、。接口电路具有:速度协调、数据锁存、三态缓冲、数据转 换、中断控制功能等。6.2什么叫端口?通常有哪几类端口?计算机对I/O 端口编址时通常采用哪两种方法?在8086/8088系统中,用哪种方法对 I/O 端口进行编址?参考答案:端口是接口电路中能被 CPU直接访问(读/写)的寄存器,每个端口都有一个地址。 一般说来,I/O接 口电路中有3种端口:数据端口,状态端口和控制端口。I/O端口地址通常有两种编址方式: 一种是将内存地址与I/O 端口地址统一编在同一地址空间中, 称为存储器映像的I/O 编址方式;另一种是将内存地址与 I/O 端口地址分别编在不同的地址空间中, 称为I/O 端口单独编址
48、方式。在 8086/8088 系统中,采用I/O端口单独编址方式。6.3 CPU与外设间数据传送的控制方式有哪几种?它们各自的优缺点是什么?参考答案:传送方式有:无条件传送方式、查询传送方式、中断传送方式、以及DMA方式等。无条件传送是一种最简单的程序控制传送方式,CPU I/O前不需要查询外设的工作状态,任何时候都可访问。优点是简单,缺点是只有像开关、发光二极管、继电器、步进电动机等外设在与 CPU进 行信息交换时才可以采用无条件传送方式。 查询传送方式在执行 I/O操作之前,需要通过程序对外设的状态进行检查。当所选定的外设已准备“就绪”后,才开始进行I/O操作。其优点是使CPU能和不同速度
49、的外设传送数据,缺点是 需要占用CPU资源。中断传送方式是指外设就绪时,主动向CPI发出中断请求,从而使 CPU去执行相应的中断服务程序,完成与外设间的数据传送。 采用中断方式传送,数据传送实时性好,另外在外设未准备就 绪时,CPUS可以处理其他事务,工作效率高。DMA?式又叫直接存储器存取方式,是在外设和存储器之间开辟直接的数据传送通路,在存储器和外设之间的通路上直接传送数据。DM方式的实现主要是靠硬件(DMA控制器)实现的,不必进行保护现场等一系列额外操作,优点是减轻了CPU的负担,特别适合于高速度大批量数据传送的场合。缺点是要增设DMA控制器,硬件电路比其它方式更为复杂。6.4 结合指令
50、简述下图CPU与外设以查询方式输出数据的接口电路工作过程(设地址译码数据口地址为60H,状态口地址为 61H)。参考答案:工作过程:当输出装置把 CPU出的数据输出以后,发出一个 ACK信号,使D触发器 置0,即使BUSY线为0,当CPI输入这个状态信息后(经 G至D),知道外设为“空”,于是执行输出 指令。待执行输出指令后,由地址信号和 M/IO及WR相“与”,经G发出选通信号,把在数据总线 上的输出数据送至锁存器; 同时,触发D触发器为“ 1”状态,它一方面通知外设输出数据已准备好, 可以执行输出操作,另一方面在数据由输出装置输出以前,一直保持为1,告知CPU(CPUS过读状查询输出部分的
51、程序如下:POLL: IN AL , 61HTEST AL ,80HJNE POLLMOV AL , SIOUT 60H, AL6.5 什么是中断向量表?在8086/8088态端口知道)外设BUSY阻止CPUS出新的数据。;查状态端口中的状态信息 D7;D7=1,即忙线=1,则循环再查;若外设空闲,则由内存读取数据;输出到60H地址端口单元的中断向量表中有多少不同的中断向量?若已知中断类型 号是10,说明如何在中断向量表中查找中断向量?参考答案:8086/8088的256个中断处理子程序的入口地址统一存放在内存的一个固定区域。每个中断处理子程序的入口地址占用 4字节存储单元,低地址的两字节存放中断处理子程序入口地址的偏移量 (IP),高地址的两字节存放段地址 (CS)。这些中断处理子程序的入口地址,称为中断向量。256个中断向量要使用256 X 4=1024个字节,这1024字节所占的内存区域,称中断向量表。每个中断服务程序入口地址在中断向量表中的位置可由“中断类型码X4”计算出来。若中断类型码n=10,则其中断向量存放在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度宠物用品销售及养护服务外包协议4篇
- 2025年度厂房租赁合同配套基础设施完善协议4篇
- 旅游部门半年回顾
- 专用借款协议:2024年版详尽协议版A版
- 2025年度智能家居产品定制生产合同范本4篇
- 二零二四三方国际贸易融资借款协议2篇
- 2025年度拆除项目环保验收合同模板4篇
- 二手房交易代签合同范本2024年版版
- 个性化服务型酒店房间租赁协议版A版
- 二零二五版船艇交易环保与安全协议3篇
- 施工现场水电费协议
- SH/T 3046-2024 石油化工立式圆筒形钢制焊接储罐设计规范(正式版)
- 2024年海口市选调生考试(行政职业能力测验)综合能力测试题及答案1套
- 六年级数学质量分析及改进措施
- 一年级下册数学口算题卡打印
- 真人cs基于信号发射的激光武器设计
- 【阅读提升】部编版语文五年级下册第三单元阅读要素解析 类文阅读课外阅读过关(含答案)
- 四年级上册递等式计算练习200题及答案
- 法院后勤部门述职报告
- 2024年国信证券招聘笔试参考题库附带答案详解
- 道医馆可行性报告
评论
0/150
提交评论