微机原理课后习题问题详解解析汇报

上传人:无*** 文档编号:83441672 上传时间:2022-05-01 格式:DOC 页数:45 大小:2.12MB
收藏 版权申诉 举报 下载
微机原理课后习题问题详解解析汇报_第1页
第1页 / 共45页
微机原理课后习题问题详解解析汇报_第2页
第2页 / 共45页
微机原理课后习题问题详解解析汇报_第3页
第3页 / 共45页
资源描述:

《微机原理课后习题问题详解解析汇报》由会员分享,可在线阅读,更多相关《微机原理课后习题问题详解解析汇报(45页珍藏版)》请在装配图网上搜索。

1、word第1章 进制与码元1、进制转换129= 81H= 10000001B=201Q298= 12AH= 100101010B=452Q1000= 3E8H= 1111101000B= 1750Q5DH= 1011101 B= 135 Q= 93 D3E8H= 1111101000 B= 1750Q= 1000 D;357Q=11101111 B= 0EF H= 239 D2、进制计算 100101102FE3F7,-119FFF7,-32759473、数据表示围:一个字节的无符号数表示围为0255,有符号数补码表示围为-l28+127。两个字节的无符号数表示围为065535,有符号数补码表

2、示围为32768+32767。N位二进制数的无符号数表示围为0(2N-1),有符号数(补码)表示围为-2N-1(2N-1-1).4、35H代表的ASCII字符为5,代表十六进制数时等价的十进制值为53 ,代表压缩8421BCD码等价的十进制值为35 ,代表非压缩8421BCD码等价的十进制值为5。5、FFH代表无符号数时等价的十进制值为255 ,代表补码有符号数时等价的十进制值为 一1 ,代表反码有符号数时等价的十进制值为 一0 ,代表原码有符号数时等价的十进制值为一l27。6、20的8位二进制补码为 ECH ,原码为 94H ,反码为 EBH 。158的16位二进制补码为009EH,原码为0

3、09EH ,反码为 009EH 。7、英文字符一般在计算机占用1个字节,每个字节的最高位一定为 0 ,全角英文字符在计算机占用 2个字节,一个汉字在计算机占用 2 个字节,每个字节最高位为 1 。8、设阶码用8位补码表示,尾数局部用16位补码表示,如此1/32+1/128+1/512的尾数局部与阶码分别为多少?第2章 微机硬件根底1、请画出计算机系统硬件图。2、8086/88CPU为什么要分为BIU和EU两大模块?答:为了使取指和分析、执行指令可并行处理,提高CPU的执行效率。8086/88CPU有两大模块总线接口单元BIU和执行单元EU组成。3、简述8086/88 CPU的两大模块BIU和E

4、U的主要功能与组成。答:如如下图所示:4、简述8086/88 CPU的14个存放器的英文名、中文名与主要作用。答:AX(Accumulator)(AH、AL)累加器,它是汇编编程中最常用的一个存放器,主要用于乘除运算、BCD运算、换码、IO操作、串操作、中断调用等。 BX(Base)(BH、BL)基址存放器,主要用于存放地址、基址(默认相对于DS段)等。 CX(Counter)(CH、CL)计数器,主要用于循环计数、串操作计数、移位计数(CL)等。DX(Data)(DH、DL)数据存放器,主要用于l6位乘除、问接IO、中断调用等。 BP(Base Pointer)基址指针,主要用于存放地址、基

5、址(默认相对于SS段)等。 SP(Stack Pointer)堆栈指针(栈顶指针),主要用于存放栈顶地址。 SI(Source Index)源变址存放器,用于存放地址、变址、串操作源变址。 DI(Destination Index)目的变址存放器,用于存放地址、变址、串操作目的变址。 CS(Code Segment)代码段存放器(代码段),用于存放正在或正待执行的程序段的起始地址的高l6位二进制数据,即程序段的段地址。 , DS(Data Segment)数据段存放器(数据段),用于存放正在或正待处理的一般数据段的起始地址的高l6位二进制数据,即一般数据段的段地址。 ES(Extra Segm

6、ent)附加数据段存放器(附加段),用于存放正在或正待处理的附加数据段的起始地址的高l6位二进制数据,即附加数据段的段地址。 SS(Stack Segment)堆栈数据段存放器(堆栈段),用于存放正在或正待处理的堆栈数据段的起始地址的高l6位二进制数据,即堆栈数据段的段地址。 IP(Instruction pointer)指令指针,它的容始终是下一条待执行指令的起始偏移地址,与CS一起形成下一条待执行指令的起始物理地址。CS:IP的作用是控制程序的执行流程。IP一般会自动加l(逻辑加1、实际随指令长度变化)移向下一条指令实现顺序执行;假如通过指令修改CS或IP的值,如此可实现程序的转移执行。

7、PSW(Program Statusword)程序状态字,它其中有三个控制标志(IF、DF、TF)和6个状态标志(SF、PF、ZF、OF、CF、AF)。控制标志是用于控制CPU某方面操作的标志,状态标志是局部指令执行结果的标志。5、请画出8086/88 CPU的部结构图。答:如如下图所示:6、请说明8086/88 CPU的标志位的英文名、中文名与填充方法。答:IF(Interrupt Enable Flag)中断允许标志,用于控制CPU能否响应可屏蔽中断请求,IF=1能够响应,IF=0不能响应。 DF(Direction Flag)方向标志,用于指示串操作时源串的源变址和目的串的目的变址变化方

8、向,DF-1向减的方向变化,DF=0向加的方向变化。 TF(TrapFlag)陷阱标志(单步中断标志),TF=1程序执行当前指令后暂停,TF=0程序执行当前指令后不会暂停。 SF(Sign Flag)符号标志,指令执行结果的最高二进制位是0还是l,为0,如此SF=0,代表正数;为l,如此SF=1,代表负数。我们一般是用十六进制数表示,如此可以根据十六进制的最高位是落在O7还是落在8F之间,假如落在07之间如此SF=0否如此SF=1。 PF(Parity ChECk Flag)奇偶校验标志,指令执行结果的低8位中1的个数是奇数个还是偶数个,假如为奇数个如此PF=0,假如为偶数个如此PF=1。 Z

9、F(Zero Flag)零标志,指令执行结果是不是为0,假如为0如此ZF=1,否如此ZF=0。 OF(Overflow Flag)有符号数的溢出标志,指令执行结果是否超出有符号数的表示围,假如超过如此0F=1,否如此OF=0。我们可以通过判断是否出现以下四种情况之一:正加正得负,正减负得负,负加负得正,负减正得正。假如出现如此0F=1否如此OF=0 CF(Carry Flag)进位借位标志无符号数的溢出标志),指令执行结果的最高位是否有向更高位进位或借位,假如有如此CF=1,同时也代表无符号数溢出;假如无如此CF=0,也代表无符号数未溢出。 AF(Auxiliary Carry Flag)辅助

10、进位借位标志,低4位二进制是不是有向高位进位或借位,假如有如此AF=1,否如此AF=0,其主要用于BCD修正运算。7、存分段组织的优缺点是什么?答:优点如下:(1)80868088 CPU中的存放器只有16位,如果采用它们直接寻址,如此寻址能力势必限制在64 KB围,而采用分段组织可以较好地实现扩展CPU的寻址能力。每段的大小可达64 KB,不同段的组合如此可寻址更大的围。 (2)使程序与数据相对独立,不同存取方式的数据也相对独立。 程序:存放于代码段CS中堆栈方式:存放于堆栈段SS中 数据:随机方式:存放于数据段DS与附加段ES中 (3)便于程序和数据的动态装配,从一个地方挪到另外一个地方只

11、要更改一下段存放器的值即可,段偏移可以不用改变。缺点:存地址采用分段组织增加地址计算的复杂度,降低了CPU的执行效率。8、1MB存最多可以有64K个不同的段地址,假如不允许重叠的话最多可有16个不同的段地址。不同的段间可以重叠。9、设DS=26FCH,BX=108H,SI=9A8H,试求出使DS:BX与ES:Sl指向同一物理地址的ES值。 答:即DS:BX=ES:SI DS:BX=DS l6+BX=26FCH16+108H=270C8H ES:SI=ES16+SI=ES16+9A8HES=(270C8H一9A8H)l6=2672H10、接口、端口以与端口地址之间的对应关系如何?答:一个计算机系

12、统有很多接口,一个接口一般有多个端口,一个端口可以有多个端口地址与其对应(这叫重叠地址),一个端口地址可以对应多个端口(但需要继续区分才能访问,如读写顺序、读写信号、数据位、索引区分)。所以通过端口传输信息首先需要区分端口,区分端口可通过端口地址不同来区分。11、访问端口有哪些方法?答:1用I/O指令实现信息传输;2通过BIOS中断调用实现信息传输;3通过DOS中断调用实现信息传输。12、请根据图2.3说明ADD AX, BX指令的取指与执行过程。自己看书13、8086/88 的20位物理地址是怎样形成的?当CS=2000H, IP=0100H, 下一条待执行指令的物理地址等于多少?答:20位

13、物理地址由段地址左移4位加偏移地址形成,下一条待执行指令等于CS*10H+IP得到20100H。14、当前数据段位于存储器的B1000H到BF0FFH围,请指出DS段存放器的取值围。答:DS段存放器的取值围:AF10HB100H第3章寻址方式与指令系统1、指令是CPU可以理解并执行的操作命令,指令由操作码和操作数两局部组成,指令有两个级别,即机器级和汇编级。2、请画出程序执行流程示意图。3、指令主要有哪些分类方式与其主要类别是什么?答:指令分类有不同的方式。按操作数的个数将指令分为零地址指令(无操作数)、一地址指令(只有一个操作数)、二地址指令(有两个操作数)、多地址指令(多于两个操作数);按

14、指令级别分为机器指令和汇编指令:按是否转移分为转移指令和顺序指令;按功能分为七大类:传送类、算术运算类、位操作类、IO类、串操作类、CPU控制类、转移类;按指令长度(即指令占用的字节数)分为l字节指令、2字节指令等,80868088指令长度是不同的,叫变字长,不同的指令有不同的指令长度,从16字节均有;按指令执行期间取操作数是否需要与总线打交道分为部指令(不需)和外部指令(需要),类似功能的指令部指令比外部指令执行速度快,所以在编程时尽量采用部指令即多用存放器优化程序。4、操作数的寻址方式有哪些?并举例说明其主要特点。答:操作数寻址方式主要有立即寻址方式、存放器寻地址、存储器寻址方式、端口寻址

15、方式4类。(1)立即寻址方式:操作对象是这个操作数本身,MOV AL,5(2)存放器寻地址:操作对象是存放器中的容MOV AX,BX(3)存储器寻址方式:操作对象是存地址所对应的存储单元中的容,MOV AX 2000H (4)端口寻址方式:操作数是指明端口的地址、端口地址所对应的端口中的容是操作对象IN AX,46直接寻址。5、存寻址中段存放器与段偏移地址对应关系如何?6、设CS=1000H,DS=2000H,ES=3000H,SS=4000H,IP=100H,SP=200H,BX=300H,BP=400H,SI=500H,如此下一条待执行指令的物理地址为多少?当前栈顶的物理地址为多少?BX代

16、表的存储单元的物理地址为多少?BP代表的存储单元的物理地址为多少?ES:BX+SI代表的存储单元的物理地址为多少?答:下一条待执行指令的物理地址=CS16+IP=1000H16+IOOH=10100H。当前栈顶的物理地址=SS16+SP=4000H16+200H=40200H。BX代表的存储单元物理地址=DS16+BX=2000H X l6+300H=20300H。BP代表的存储单元物理地址=SS X l6+BP=4000H16+400H-40400H。ES:BX+SI代表的存储单元物理地址=ES16+BX+SI=3000H16+300H+500H=30800H7、试根据以下要求,分别写出相应

17、的汇编语言指令。(1)以存放器BX和DI作为基址变址寻址方式把存储器中的一个字送到DX存放器。 答:MOV DX,BX+DI(2)以存放器BX和偏移量VALUE作为存放器相对寻址方式把存储器中的一个字和AX相加,把结果送回到那个字单元。 答:ADD VALUEBX,AX(3)将1字节的立即数0B6H与以SI作为存放器间接寻址方式的字节单元相比拟。 答:CMP BYTE PTRSI,0B6H(4)将BH的高4位与低4位互换。 答:MOV CL,4ROR BH,CL;或者ROL BH,CL (5)测试BX的第3、7、9、12、13位是否同时为0。 答:TEST BX,3288H;01000B (6

18、)将存放了09数值的DL存放器中的容转化为相应的09的字符。 答:ADD DL,30H;或者OR DL,30H (7)将存放了AF字符的AL存放器中的容转化为相应的数值。 答:SUB AL,37H8、写出去除AX存放器的多种方法并比拟要求单指令实现。答:1ANDAX,0;可以对AX清零,还可以去除进位位和影响到SF、ZF、PF标志位。2MOVAX,0;此条指令占用3个字节。3SUBAX,AX;减法指令, 该条指令只占用2个字节。4XORAX,AX9、分别用存储器的5种寻址方式实现将以A为首址的第5个字注意:从第0个算起送AX的指令序列。10、指出如下指令错误的原因。答:(1)MOV CL,30

19、0 ;300超过字节数据表示围 (2)MOV CS,AX ;CS不能作为目的操作数 (3)MOV BX,DL ;数据类型不匹配 (4)MOV ES,1000H :立即数不能送给段存放器 (5)INC BX ;数据类型不明确 (6)ADD AX,DS :段存放器不能参加运算 (7)TEST BX,CX;存储器间接寻址只能使用BX、Sl、Dl、BP四个之一 (8)SUB BX,BP+SI ;加减两个操作数不能同时为存储操作数 (9)JC SI ;条件转移只有短转移寻址方式(10)SHL BX ;少给一个明确移位次数的操作数,l或CL11、1CS=(1000)IP=(0155)2CS=(1000)I

20、P=(176F)3CS=(1000)IP=(17C6)4CS=(2000)IP=(0146)5CS=(1000)IP=(1770)6CS=(2000)IP=(0146)12、分别说明如下各组指令中的两条指令的区别。答:(1)MOV AX,TABLELEA AX,TABLE假设TABLE为字变量名,如此:左为将TABLE单元的容送AX,右为将TABLE单元的偏移地址送AX。假设TABLE为字节变量名,如此:左为错误指令,右为将TABLE单元的偏移地址送AX假设TABLE为常量名,如此:左为将TABLE的容送AX,右为错误指令(2)AND BL,0FHOR BL,0FH左为将BL的高4位清0,右为

21、将BL的低4位置1(3)JMP SHORTLl JMP NEA RPTR Ll左为短转移,2字节的指令,转移围为一l28+127右为近转移,l字节的指令,转移围为-32 768+32 767(4)MOV AX,BXMOV AX,BX左为将BX的值送AX右为将BX的值作为相对DS段的存单元偏移地址,取出字单元值送AX(5)SUB DX,CXCMP DX,CX左为减法,并将DX-CX的值存入DX中右为比拟,做减法,但不会将DX-CX的值存入DX中(6)MOV BPSI,CL MOV DS:BPIESI,CL左边第操作数默认为相对于SS段偏移的存储器操作数 右边第一操作数采用段超越,指定为相对于DS

22、段偏移的存储器操作数13、写出判断AL为正为负的程序段(请至少用三种方法)。答:方法一:CMP AL,80H ;而后用JAE代表负数转移,代表正数转移 方法二:CMP AL,00H ;而后用JGE代表正数转移,JL代表负数转移 方法三:TEST AL,80H ;而后用JNZ代表负数转移,JZ代表正数转移 方法四:OR AL,AL ;而后用JNS代表负数转移,JS代表正数转移 方法五:AND AL,AL ;而后用JNS代表负数转移,JS代表正数转移 方法六:SUB AL,00H ;而后用JGE代表正数转移,JL代表负数转移 方法七:TEST AL,80H :而后用JNS代表正数转移,JS代表负数

23、转移14、思考题:试比拟以下几条指令的功能。答:MOV BX,SI;将SI的值送给BXMOV BX,SI;将SI的值作为偏移地址找到对应的存单元中的值送给BXMOV BX,OFFSETSI ;将Sl的值作为偏移地址找到对应存单元的偏移地址送给BX,即SI的值送给BX LEA BX,SI ;将Sl的值作为偏移地址找到对应存单元的偏移地址送给BX, 即Sl的值送给BX LDS BX,SI ;将Sl值作为偏移地址找到对应存单元中的第一个字值送给BX, 第二个字值送DS LES BX,SI :将SI值作为偏移地址找到对应存单元中的第一个字值送给BX, 第二个字值送ES15、设B、D为字节变量,A、C为

24、字变量,且A除B可能会溢出,试编写无符号数或有符号数AB商送C,余数送D。答:可能会溢出如此要考虑扩展数据表示能力。 ;无符号数除法 ;有符号数除法MOV AL,B MOV AL,BXOR AH,AH CBWMOV BX,AX MOV BX,AXMOV AX,A MOV AX,AXOR DX,DX;无符号扩展 CWD ;有符号扩展DIV BX IDIV BXMOV C,AX MOV C,AXMOV D,DL MOV D,DL16、编写程序段实现DX、AX中32位二进制数*l0(设不溢出)。答:;X*10=X*8+X*2,用移位指令实现SHL AX,1RCL DX,1 :DX,AX=DX,AX*

25、2MOV BX,DXMOV BP,AX ;BX,BP转存2倍值SHL AX,lRCL DX,l ;再乘2SHL AX,lRCL DX,1 :再乘2ADD AX,BPADC DX,BX ;8倍+2倍=10倍17、请编写程序段实现如图3.33所示功能。MOV SI,BXLDSBX,SI18、设已有定义STRDB“Sdfikjwsmfw893040pYUIUKLHGUkjdshf8NEQU$ - STR1试编写实现在STR中查找是否存在非A的功能程序段。即表示STR串局部是A,假如其中存在不是A的字符如此查找成功,假如STR全部为A如此不成功。19、程序理解执行。(1)MOV AH,一l ;AH=F

26、FH MOV AL,180 ;AL=B4H MOV BL,15 ;BL=0FH ID BL ;AX/BL即:-7615,商-5,余数-l 程序段执行后,AX=0FFFBH。 说明:关键是要知道谁除以谁,特别注意是有符号除还是无符号除。(2)MOV AL,0CH ;AL=0CH OR AL,AL ;AL=0CH,CF=0 SBB AL,0F0H ;AL=lCH NEG AL ;AL=E4H,CF=1 ADC AL,0D4H ;AL=B9H TEST AL,35H ;AL=B9H,CF=0 程序段执行后,CF= 0 ,AL=B9H。 说明:第(1)、(2)小题只要理解每条指令功能与对标志位的影响,

27、逐步进展即可完成。(3)MOV AL,08H MOV AH,一l ;AX=FF08H MOV BX,0F8H ;BX=00F8H CMP AX,BX 程序段执行后SFOF=1 ,CF= 0 。(4)MOV AX,中 ;AX的二进制高位为1,即落在负数围 MOV BX,AB ;BX的二进制高位为0,即落在正数围 CMP AX,BX 程序段执行后SFOF=1 ,CF= 0 。 说明:第(3)(4)小题实质是考查有符号数和无符号数大小的比拟。(5)MOV AX,58 ;AX=3538H AND AX,0F0FH ;AX=0508H AAD ;AX=58=003AH 程序段执行后AX= 003A H,

28、即58。 程序段的功能是:将两位非压缩BCD码转化为其对应的十六进制数。 说明:可用AAD指令实现将十位和个位数值拼装复原为099的十六进制数。反之将099的数值别离成十位和个位可用AAM指令实现,教材汇编语言、微机原理与接口技术(第2版)例510和例513中均有应用。20、程序语句填空。(1)如下是完成120之间的奇数累加和存于AL中的程序段: XOR AL,ALMOV CX,10 ;循环次数 MOV BL,1AGAIN:ADD ALBLADD BL,2 ;步长,参数改变 LOOP AGAIN(2)如下是在串长为N的串STR中查找是否有M字符的程序段:MOV DI,SEG STR MOV E

29、S,DI LEA Dl,STR CLD MOV CX,N MOV AL,7M7REPNE SCASB ;串查找核心指令 JZ FOUND ;转到找到分支(3)如下是完成1位十六进制数X显示的程序段: MOV DL,X AND DL,0FH ADD DL,30H ;或OR DL,30H CMP AL,9 E NEXTADD DL,7NEXT:MOV AH,02H INT 21H(4)将DH中的二进制数看成压缩BCD码并送出显示的程序段如下: MOV DL,DHMOV CL,4 ;获取十位 SHR DL,CL ADD DL,30HMOV AH,2;2号功能调用显示十位 INT 21H MOV DL

30、,DHAND DL,0FH ;获取个位OR DL,30H INT 21H21、图略22、假定AX和BX中的容为带符号数,CX和DX的容为无符号数,请用比拟指令和转移指令实现以下条件转移:(1)假如DX的容超过CX的容,如此转到Ll。答:CMP DX,CX JA Ll(2)假如BX的容大于AX的容,如此转到L2。答:CMP BX,AX JG L2(3)假如DX的容未超过CX的容,如此转到L3。答:CMP DX,CX JNA L3(4)判断BX与AX相比拟是否产生溢出,假如溢出如此转到L4。答:CMP BX,AX JO L4(5)假如BX的容小于等于AX的容,如此转到L5。答:CMP BX,AX

31、JLE L5(6)假如DX的容小于等于CX的容,如此转到L6。答:CMP DX,CX E L623、假设BX=0A69H,VALUE变量中存放的容为1927H,写出如下各条指令执行后的BX的存放器中和CF、ZF、SF与OF的值:(1)XOR BX,VALUE(2)AND BX,VALUE(3)OR BX,VALUE(4)SUB BX,VALUE(5)CMP BX,VALUE(6)TEST BX,VALUE答: BX CF ZF SF OF(1)134EH 0 0 0 0(2)0821H 0 0 0 0(3)186FH 0 0 0 0(4)Fl42H 1 0 1 0(5)0A69H 1 0 1

32、0(6)0A69H 0 0 0 0第4章MASM汇编语言1、名词解释指令伪指令 宏指令汇编语句 汇编语言 汇编源程序汇编程序汇编 连接程序连接答:指令:是CPU可以理解并执行的操作命令。伪指令:是用于为汇编程序编译时理解程序框架、分配空间数据定义等的汇编语句。宏指令:实质上就是有多条指令打包而成的一组指令的集合。汇编指令:一行只能写一条汇编语句,一条汇编只能写在一行。汇编语言:语句中的表达式是在汇编过程中完成计算的,即翻译之后的机器语言程序中是不包含表达式的。汇编源程序:主要有四步,录入源程序、汇编、连接、运行、调试运行。不准确汇编程序:编写汇编程序实质上就是在记住程序框架的根底上填写两空,即

33、数据定义部分和功能程序局部。汇编:格式:MASM 盘符路径程序根本名.ASM 建议程序根本名不要省略.连接程序: 编译器和汇编程序都经常依赖于连接程序,它将分别在不同的目标文件中编译或汇编的代码收集到一个可直接执行的文件中。连接程序还连接目标程序和用于标准库函数的代码,以与连接目标程序和由计算机的操作系统提供的资源连接:LINK 盘符路径程序根本名.OBJ建议程序根本名不要省略。2、写出三种汇编语句的根本格式并进展说明。教材P503、由用户取名的名字项有哪些?名字项的取名规如此如何?教材P504、请计算如下表达式的值。答(1)3+63*4 mod 3 ;注意运算优先级,值为5(2)(MGTN)

34、ANDNORMLENANDM ;M,N中的较小值(3)5 GT 3 (作为8位和16位二进制数各为多少) ;0FFH和0FFFFH(4)20AND 77(作为8位和16位二进制数各为多少);04H和0004H(5)5 AND-1 :5(6)5 OR-1 ;-l(7)NOT 5 (作为8位和16位二进制数各为多少) ;0FAH和0FFFAH,均为-6(8)设有定义如下: A DB 2,4,6,8 B DW 2,4,6,8 C DW 5 DUP(2,4,6,8) 如此TYPE A、TYPE B和TYPE C分别为多少? ;1,2,2 LENGTHA、LENGTHB和LENGTHC分别为多少? ;1

35、,1,5 SIZEA、SIZEB和SIZEC分别为多少? ;1,2,105、汇编语言中的数据类型与其他高级语言的数据类型相比拟有哪些特点?6、设有如下定义:ADB 1101B,34,56Q,78H,4DUP (?),ABCD请画出存分配示意图并将其改成存中存放次序一样的DW与DD的等价定义语句。答:图自己画。A DW 220DH,782EH,2DUP(?),4241H,4443HB DD,782E220DH,?,44434241H7、一个汇编源程序最多可以定义多少个段?段存放器与所定义的段之间的对应关系是怎样实现的?答:最多4个段,通过段对应伪指令ASSUME 段存放器名:段名来实现的对应。8

36、、设置一个数据段DATA,其中连续存放6个变量,用段定义语句和数据定义语句写出数据段:(1)A1为字符串变量:Example。(2)A2为数值字节变量:l00,127,-l,80H,35Q,1101110B。(3)A3为4个0的字变量。(4)A4为A3的元素个数。(5)A5为A3占用的字节数。(6)A6为Al,A2,A3,A4,A5占用的总字节数。答:DATA SEGMENT A1 DB Example A2 DB l00,127,一l,80H,35Q,ll0111013 A3 DW 4 DUP(0) A4 DW LENGTHA3 A5 DW A4一A3 ;或SIZE A3 A6 DW $一A

37、lDATA ENDS9、指出如下每一小题中的伪指令表达的操作哪些是错误的?错误在哪里?自己做。10、指令OR AX, 0FC8H OR 563FH中,问两个OR操作分别在什么时候进展?有什么区别?用立即数写出此等价指令。答:第一个OR是CPU执行指令时完成的操作,第二个OR是汇编程序汇编时完成的操作。用立即数写出的等价指令是OR AX, 5FFFH。11、指出如下每一对伪指令语句的区别自己做。12、请进展宏与子程序的比拟。教材P6013、请用流程图表示完整汇编程序的上机过程。教材P6114、请默写两段程序的根本框架。教材P6015、请写出两字节数据相乘保存于字中的宏定义。答:参考代码如下:AB

38、MMACRO OPR1,OPR2,OPR3 ;宏定义,三个形参PUSH AXPUSH BXMOV AL,OPR1MOV BL,OPR2MUL BLMOV OPR3,AXPOP BXPOP AXENDM ;宏定义完毕 第5章 汇编程序设计1、程序的三种根本结构是什么?请分别画出各自核心局部的流程图。P662、请画出将1字节二进制数据转化成十六进制数显示的流程图。自己画3、编程实现两个字节变量相乘送字变量的程序。答:DATA SEGMENT A DB l2H B DB 34H C DW ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV A

39、X,DATA MOV DS,AX MOV AL,A MUL B MOV C,AX :C=AB MOV AH,4CH ;返回DOS INT 21HCODE ENDS END START4、编程实现从键盘接收2个一位十进制数并计算和显示它们的积。(如输入7和9如此显示为:7*9=63)答:CODE SEGMENT ASSUME CS:CODEAGAINl:MOV AH,1 ;录入第一位 INT 2lH CMP AL,0 AGAINl CMP AL,9 JA AGAINl MOV DH,AL SUB DH,30H MOV DL,* ;显示* MOV AH,2 INT 21HAGAIN2:M0V AH

40、,1 ;录入第二位 INT 21H CMP AL,0 AGAIN2 CMP AL,9 JA AGAIN2 SUB AL,30H MUL DH ;相乘 AAM ;别离十位和个位 MOV DH,AL ;暂存个位 MOV DL,AH :显示十位 ADD DL,30H MOV AH,2 INT 21H MOV DL,DH ;显示个位 ADD DL,30H INT 21H MOV AH,4CH INT 21HCODE ENDS END AGAINl5、编程实现从键盘接收两位十六进制数并将其转化为等值的十进制数显示出来如输入7CH=124,要求至少设计一个子程序自己写6、编程实现三个变量值的排序(分别用无

41、符号数和有符号数处理)。答:实现A、B、C三个变量从小到大排序的程序如下。DATA SEGMENTA DB l2HB DB 34HC DB 23HDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV AL,A CMP AL,B E NEXTl ;无符号,有符号用JLE XCHG AL,B MOV A,ALNEXTl:CMP AL,C E NEXT2 :无符号,有符号用JLE XCHG AL,C MOV A,ALNEXT2:MOV AL,B CMP AL,C E NEXT3 ;无符号,有符号用JIE

42、 XCHG AL,C MOV B,ALNEXT3:MOV AH,4CH ;返回DOSINT 21HCODE ENDS END START7、编程实现任意个有符号字节数据之和(和要求用字变量存放)。答:DATA SEGMENTA DB ;任意个字节数据N EQU $-A ;元素个数SUM DW ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTAR:MOV AX,DATA MOV DS,AX LEA SI,A XOR DX,DX MOV CX,NAGAIN:MOV AL,SI】 CBW ADC DX,AX LOOP AGAIN MOV SUM,DX M

43、OV AH,4CH:返回DOS INT 21HCODE ENDS END START8、编写一个菜单项选择择处理程序。自己写9、编写一子程序实现从某字数组中选出最大值。答: 求数组元素最大值过程名MAX,数组首址为Sl,元素个数为CX,最大值由AX带出。MAX PROC NEAR PUSH SI PUSH CX MOV AX,S1AGAIN:CMP AX,SI JGE NEXT ;有符号数,假如为无符号数如此JAE MOV AX,SINEXT:INC SI INC SI LOOP AGAIN POP CX POP SI RETMAX ENDP10、编写一子程序实现从某字数组中求出平均值(设其和

44、不会超出围)。答:;求数组元素之和函数SUM,数组首址为Sl,数组元素个数为CX,和由AX带出。SUM PROC NEAR PUSH SI PUSH CX XOR AX,AXAGAIN:ADD AX,S1 INC Sl INC SI LOOP AGAIN POP CX POP Sl RET SUM ENDP11、从键盘接收一串字符,并另起一行逆序显示该字符串。答:DATA SEGMENT BUF DB 81,0,81 DUP(?)DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX LEA DX,BUF

45、MOV AH,l0 ;接收一串字符 INT 2lH MOV DL,0DH ;显示回车换行 MOV AH,2 INT 21H MOV DL,0AHMOV AH,2 INT 21H MOV CL,BUF+1 ;取接收的字符数 XOR CH,CH LEA BX,BUF+1 ADD BX,CX ;BX指向串尾AGAIN:MOV DL,BX ;逆向显示 MOV AH,2 TNT 21H DEC BX LOOP AGAIN MOV AH,4CH INT 2lHCODE ENDS END START12、假设密码为“123456,从键盘接收密码并验证,假如正确如此显示“欢迎使用本系统,否如此显示“密码错误,

46、您无权使用!。自己写13、从键盘输入1字节的两位十六进制数据,并分别用二进制、八进制、十进制、十六进制显示出来其等价的值。自己写第6章Intel 808688微处理器1、8086/88 和传统的8位计算机相比在执行指令方面有什么不同?有什么优点?答:总线接口局部和执行局部是分开的,每当EU执行一条指令时,造成指令队列空出2个或空出一个指令字节时 ,BIU马上从存中取出下面一条或几条指令,以添满他的指令队列。这样,一般情况下,CPU在执行完一条指令后,便可马上执行下一条指令,不像以往8位CPU那样,执行完一条指令后,需等待下一条指令。即EU从指令队列中取指令、执行指令和BIU补充指令队列的工作是

47、同时进展的。这样大大提高了CPU利用率,降低了系统都对存储器速度的要求。2、8086有哪两种工作模式?其主要区别是什么?答:答:8086有最大和最小两种工作模式,最小工作模式是指MNMX引脚为高电平,系统中只有80868088微处理器,系统中的所有控制信号都直接由CPU产生。最大工作模式是指MNMX引脚为低电平,它是相对于最小模式而言的,系统中除了80868088作为处理器外,还包含数值运算协处理器8087、输入输出协处理器8089,以与总线控制器8288和总线仲裁控制器8289等支持芯片,从而可以完成更复杂的运算或控制任务。3、请画出8086/88 CPU功能模块图4、请说明8088与808

48、6的主要区别。答:教材P81、P82和P915、请画出8088CPU最小模式核心示意图。6、请画出8088CPU最大模式核心示意图。7、8284时钟发生器的功能是什么?它产生哪些信号?这些信号有何作用?教材P838、80868088的根本总线周期由几个时钟周期组成?IBM PCXT机中CPU的时钟周期包括多少?一个输入或输出总线周期包括多少个时钟周期?答:80868088的根本总线周期由4个时钟周期组成。mM PCXT机中CPU的时钟周期是210 nS,一个输入或输出总线周期至少是4个时钟周期。说明:总线周期CPU的BIU取指令和传送数据需要的时间。一个根本的总线周期由4个时钟周期(T状态)组

49、成,即T1、T2、T3、T4状态。(1)在T1状态,CPU向地址数据复用线(ADl5ADO)和地址状态复用线(AldS6A1dS3)上发送地址信息,产生本次操作的地址。(2)在T2状态,CPU从总线上撤销地址信息,并向地址状态复用线(A19S6AldS3)上发送本次操作的状态信息(S6S3);在读操作下,地址数据复用线(ADl5ADO)浮空(高阻),为接收数据做准备;在写操作下,地址/数据复用线出现本次操作的数据。(3)在T3状态,地址,状态复用线仍为状态信息,地址数据复用线出现本次操作的数据(读或写数据)。(4)在有些情况下,外设或存储器数据传输的速度跟不上CPU,如此向CPU发出“未准备好

50、信号(READY=0),CPU在T3状态后自动插入1个至多个等待周期TW,直至READY=1为止,进入T4状态。(5)在T4状态,总线周期完毕。(6)假如CPU不执行总线操作(不访问存储器或IO),系统总线如此执行空闲周期Ti;在执行空闲周期时,总线高4位保存前一个总线周期的状态信息;假如前一个总线周期为写操作,如此地址数据复用线仍保存写数据,假如为读操作,如此地址数据复用线浮空。9、在T1状态下,80868088数据地址线上传送的是什么信息?用哪个信号可将此信息锁存起来?数据信息是在什么时候送出的?在IBMPCXT机中是怎样使系统地址总线和系统数据总线同时分别传送地址信息和数据信息的?答:在

51、T1状态下,80868088数据地址线上传送的是地址信息Al5A0,地址锁存信号ALE引脚为高电平时,地址被锁存。数据信息是在DEN信号有效的时候送出,即主要在T2至乃期间。地址数据分时复用主要是用到地址锁存器(ALE有效)锁存地址送上数据总线,DEN有效数据缓冲器开通实现数据总线与CPU相通。10、简述读存的根本过程。答:读存的过程其实就是取指令(或取数)的过程,具体如下: (1)CPU先将待取指令(数据)的地址送上地址总线并译码指定到对应的存单元。 (2)CPU再发出读信号。 (3)存单元容的送出指令到数据总线。 (4)指令(数据)通过数据总线送到CPU。 (5)因为是取指令,CPU部存入

52、指令队列(取指特有)。11、简述写存的根本过程。教材P9012、根据8086存读/写时序图,回答如下问题:1地址信号在哪段时间有效?T1周期2读操作与写操作的区别?教材P89、P903存读写时序与I/O读写时序的区别?读写控制引脚有效性不同,要给出具体引脚。4什么情况下需要插入等待周期TW?教材P8913、请画出8088最大模式读存时序图。参考P90图6.13 8086读总线周期时序图最大模式,根据地址引脚和数据引脚的区别进展修改8088只有8个数据引脚14、请画出8088最小模式写IO时序图。参考P91图6.14 8086写总线周期时序图最小模式,根据下面提到的8088和8086的最小模式读

53、写存或者IO时序的区别进展修改。15、总线响应的条件是什么?教材P9216、简述总线请求/响应的根本过程。教材P9217、RESET信号来到后,80868088系统的CS和IP分别为什么容?复位时执行的第一条指令的物理地址是多少?答:RESET信号来到后,8086,8088系统的CS和IP分别为0FFFFH和0000H。18、编写使计算机软启动的功能程序段。第7章 存组成、原理与接口1、存取周期是指(C)。 A存储器的读出时间 B存储器的写入时间 C存储器进展连续读和写操作所允许的最短时间间隔 D存储器进展连续写操作所允许的最短时间间隔2、某计算机的字长是16位,它的存储器容量是64KB,假如

54、按字编址,那么它的最大寻址围是(B)。 A64K字 B32K字 C64KB D32KB3、某一RAM芯片的容量为5128位,除电源和接地线外,该芯片的其他引脚数最少应为(D)。 A25 B23 C21 D19注:地址线9根,数据线8根,控制线2根。4、EPROM是指(D)。 A随机读写存储器 B只读存储器 C可编程的只读存储器 D可擦除可编程的只读存储器5、如下RAM芯片各需要多少个地址引脚和数据引脚? (1)4K8位 (2)512K4位 (3)1Ml位 (4)2K8位答:SRAM:(1)12和8 (2)19和4(3)20和1 (4)11和8DRAM:(1)6和16 (2)5和8 (3)10和

55、2 (4)6和16 。6、如下ROM芯片各需要多少个地址引脚和数据引脚? (1)164位(2)32 8位 (3)2564位 (4)512 8位答:(1)4和4 (2)5和8 (3)8和4 (4)9和87、存储器按功能、性质和信息存取方式分别可分为哪些类型?教材P958、计算机的存和外存有什么区别?答:存用于存放当前正在运行的程序和正在使用的数据,CPU可以直接对它进展访问。相对于外存而言,存主要特点是存取速度快、存储容量较小、本钱较高,通常使用半导体存储器组成。外存用于存放当前暂不使用的或需要永久性保存的程序、数据和文件,在需要重用时才成批地调入,调出存。外存的主要特点是存储容量大、本钱较低、存取速度较慢,必须使用专门的设备(如磁盘驱动器、光盘驱动器、磁带机)才能访问,一般使用磁性介质如磁盘、磁带)或光介质(如光盘)实现。9、微机中为什么要使用层次结构的存储系统?教材P9710、简要回答以下问题:1按信息存储的方式,RAM可分为哪三种?只读、直接存取、顺序存取2只读存储器按功能可分为哪四种?教材P963SRAM和DRAM主要有哪些区别?SRAM特点:SRAM的根本存储单元是6管双稳态触发电路存储

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!