32位微型计算机原理---史新福--第3版课件

上传人:29 文档编号:241781895 上传时间:2024-07-23 格式:PPT 页数:40 大小:197.96KB
返回 下载 相关 举报
32位微型计算机原理---史新福--第3版课件_第1页
第1页 / 共40页
32位微型计算机原理---史新福--第3版课件_第2页
第2页 / 共40页
32位微型计算机原理---史新福--第3版课件_第3页
第3页 / 共40页
点击查看更多>>
资源描述
3232位微型计算机原理接口技术及其应用位微型计算机原理接口技术及其应用 习题解答习题解答32位微型计算机原理接口技术及其应用 1 第一章第一章 绪绪 论论4.4.什么叫什么叫BCDBCD码?试举例说明码?试举例说明。(1414页)页)BCDBCD码:二进制编码的十进制数。四位码:二进制编码的十进制数。四位二进制编码表示一位十进制数,表示二进制编码表示一位十进制数,表示范围范围0-90-9。如:如:第一章 绪 论4.什么叫BCD码?试举例说212.12.求求1101001011010010和和0100111001001110两数分别作两数分别作“与与”、“或或”和和“异或异或”操作的运算结果。操作的运算结果。与与:11010010 :11010010 或:或:1101001011010010 01001110 01001110 01001110 01001110 01000010 11011110 01000010 11011110 异或:异或:1101001011010010 01001110 01001110 10011100 1001110012.求11010010和01001110两数分别作“与”、315.15.试画出组成微型计算机系统的框图并简述试画出组成微型计算机系统的框图并简述各部分的作用。(各部分的作用。(18-1918-19页)页)硬件:运算器、控制器、存贮器、输入设备、硬件:运算器、控制器、存贮器、输入设备、输出设备等;输出设备等;软件:系统软件、应用软件;软件:系统软件、应用软件;通讯网络系统:通讯网络系统:15.试画出组成微型计算机系统的框图并简述41616微型计算机各部分的连接采用总线结构时有微型计算机各部分的连接采用总线结构时有哪几种方式?简述它们的优缺点。哪几种方式?简述它们的优缺点。(2020页)页).以以CPUCPU为中心的双总线结构:效率不高,运为中心的双总线结构:效率不高,运算器是中间站降低了工作效率;算器是中间站降低了工作效率;.以存储器为中心的双总线结构:效率较高;以存储器为中心的双总线结构:效率较高;.单总线结构:结构简单,增减设备方便;单总线结构:结构简单,增减设备方便;.三总线结构:高效率;三总线结构:高效率;16微型计算机各部分的连接采用总线结构时有哪几种方式?简述517.17.典型的微处理器是由哪几部分组成的?其主典型的微处理器是由哪几部分组成的?其主要功能是什么?要功能是什么?2222页页 图图1.111.11累加器、暂存器、算术逻辑部件、标志寄存器、累加器、暂存器、算术逻辑部件、标志寄存器、通用和专用寄存器、程序计数器、堆栈指示通用和专用寄存器、程序计数器、堆栈指示器、指令寄存器、指令译码器和控制电路等。器、指令寄存器、指令译码器和控制电路等。主要功能:主要功能:2323页页 17.典型的微处理器是由哪几部分组成的?其主要功能是什么?618.18.简述在微机中执行一条指令的过程。简述在微机中执行一条指令的过程。一条指令在微处理器中执行的过程为一条指令在微处理器中执行的过程为:22:22页页总的来说:取指令总的来说:取指令 分析指令分析指令 执行指令执行指令20.20.简述简述PCPC和和SPSP在微机中的作用。在微机中的作用。PCPC程序计数器:用于存放要执行的指令的存程序计数器:用于存放要执行的指令的存储地址,也称指令计数器。执行指令时,储地址,也称指令计数器。执行指令时,CPUCPU自动修改自动修改PCPC的内容。的内容。SPSP为堆栈指针:为堆栈指针:2424页页18.简述在微机中执行一条指令的过程。7 第二章第二章 Intel32Intel32位位CPUCPU1.804861.80486微处理器的基本组成与系统结构。微处理器的基本组成与系统结构。29 29页页 图图2.12.13.3.试说明试说明8048680486微处理器中状态寄存器各标志位微处理器中状态寄存器各标志位的作用。的作用。37 37页页 4.4.试说明试说明8048680486中控制寄存器的作用。中控制寄存器的作用。3838页页 第二章 Intel32位CPU1.80486微处理器813.13.试说明试说明8048680486微处理器中指令流水线的硬微处理器中指令流水线的硬件组成与指令流水过程。件组成与指令流水过程。41-4241-42页页硬件组成:硬件组成:8K8K内部内部CacheCache存贮器、存贮器、3232字节指字节指令预取队列、指令译码器、控制器、控制令预取队列、指令译码器、控制器、控制寄存器和执行部件。寄存器和执行部件。指令流水过程:指令流水过程:1 1、指令预取、指令预取 2 2、译码、译码1 31 3、译码译码2 42 4、执行、执行 、5 5、回写、回写13.试说明80486微处理器中指令流水线的硬件组成与指令流9 第三章第三章 80 x8680 x86寻址方式和指令系统寻址方式和指令系统1.1.数据寻址方式有哪几种数据寻址方式有哪几种?数据寻址数据寻址:立即寻址、寄存器寻址、存储器寻址立即寻址、寄存器寻址、存储器寻址2.162.16位指令模式下和位指令模式下和3232位指令模式下的存储器寻址方位指令模式下的存储器寻址方式各有哪几种寻址方式?比较他们的相似与不同之式各有哪几种寻址方式?比较他们的相似与不同之处处?16 16位指令模式存储器寻址:直接寻址,寄存器间位指令模式存储器寻址:直接寻址,寄存器间接寻址,寄存器相对寻址,基址变址寻址,相对基接寻址,寄存器相对寻址,基址变址寻址,相对基址变址寻址址变址寻址 第三章 80 x86寻址方式和指令系统10 3232位指令模式下:直接寻址位指令模式下:直接寻址 ,间接寻址,间接寻址,相对基址寻址,相对比例寻址,相对比例基址相对基址寻址,相对比例寻址,相对比例基址变址寻址变址寻址 3.3.程序地址寻址方式有哪几种?程序地址寻址方式有哪几种?相对寻址、直接寻址、间接寻址相对寻址、直接寻址、间接寻址 7070页页4.4.什么是堆栈地址寻址方式?什么是堆栈地址寻址方式?“后进先出后进先出”原则,使用原则,使用PUSH POPPUSH POP指令指令 72 72页页 32位指令模式下:直接寻址,间接寻址,11 5.5.指令编码格式是由哪几部分组成的?各部分指令编码格式是由哪几部分组成的?各部分的含义是什么?的含义是什么?前缀前缀+操作码操作码+寻址方式寻址方式+偏移量偏移量+立即数立即数 各部分含义各部分含义 7373页页6.80 x866.80 x86指令格式由哪几部分组成的?指令格式由哪几部分组成的?标号:标号:助记符助记符 操作数操作数 ;注释;注释 5.指令编码格式是由哪几部分组成的?各部分的含义是什么?127.80 x867.80 x86指令系统按其功能可分为几部分指令系统按其功能可分为几部分?数据传送指令、算术运算指令、逻辑运算指令、数据传送指令、算术运算指令、逻辑运算指令、串操作指令、控制转移指令、处理器控制指令、串操作指令、控制转移指令、处理器控制指令、输入输入/输出指令、中断指令、输出指令、中断指令、DOSDOS功能调用指令功能调用指令10.10.堆栈操作指令有哪几种?堆栈操作指令有哪几种?PUSH SRC POP DEST;PUSH SRC POP DEST;PUSHA POPA PUSHA POPA PUSHAD POPAD PUSHAD POPAD 77 77页页7.80 x86指令系统按其功能可分为几部分?1322.DS=2000H,SS=3000H,BP=0200H,SI=4000H,22.DS=2000H,SS=3000H,BP=0200H,SI=4000H,BUF=1000H,EAX=00001000H,EBX=00002000BUF=1000H,EAX=00001000H,EBX=00002000,假设按假设按1616位实模式操作,确定下列每条指令位实模式操作,确定下列每条指令访问内存的物理地址,并且指出源操作数及访问内存的物理地址,并且指出源操作数及目的操作数的寻址方式。目的操作数的寻址方式。.MOV AL,1234H.MOV AL,1234H PA=2000*10H+1234H=21234H PA=2000*10H+1234H=21234H 源操作数源操作数:存储器直接寻址存储器直接寻址 目的操作数目的操作数:寄存器寻址寄存器寻址22.DS=2000H,SS=3000H,BP=0200H,14MOV EDX,BX MOV EDX,BX PA=10*2000H+2000H=22000H PA=10*2000H+2000H=22000H 源操作数源操作数:寄存器间接寻址寄存器间接寻址 目的操作数目的操作数:寄存器寻址寄存器寻址.MOV CL,BX+100H.MOV CL,BX+100H PA=10*2000H+2000H+100H=22100H PA=10*2000H+2000H+100H=22100H 源操作数源操作数:寄存器相对寻址寄存器相对寻址 目的操作数目的操作数:寄存器寻址寄存器寻址MOV EDX,BX 15.MOV SI,EBX.MOV SI,EBX PA=2000*10H+4000H=24000H PA=2000*10H+4000H=24000H 源操作数源操作数:寄存器寻址寄存器寻址 目的操作数目的操作数:寄存器间接寻址寄存器间接寻址.MOV AH,BUFBX+SI.MOV AH,BUFBX+SI PA=10*2000H+1000H+2000H+4000H=27000H PA=10*2000H+1000H+2000H+4000H=27000H 源操作数源操作数:相对基址变址寻址相对基址变址寻址 目的操作数目的操作数:寄存器寻址寄存器寻址.MOV SI,EBX 16.MOV EAX,BP+1234H.MOV EAX,BP+1234H PA=10*3000H+0200H+1234H=31434H PA=10*3000H+0200H+1234H=31434H 源操作数源操作数:寄存器相对寻址寄存器相对寻址 目的操作数目的操作数:寄存器寻址寄存器寻址.MOV EAX+EBX,DH.MOV EAX+EBX,DH PA=10*2000H+1000H+2000H=23000H PA=10*2000H+1000H+2000H=23000H 源操作数源操作数:寄存器寻址寄存器寻址 目的操作数目的操作数:寄存器间接寻址寄存器间接寻址.MOV EAX,BP+1234H1723.23.试指出下列指令中的错误试指出下列指令中的错误 MOV BX,SI 76 MOV BX,SI 76页页 源操作数和目的操作数同为存储器操作数源操作数和目的操作数同为存储器操作数 MOV AH,DXMOV AH,DX源操作数和目的操作数数据类型不一致源操作数和目的操作数数据类型不一致 INC BXINC BX 存储器操作数应指明类型存储器操作数应指明类型 MOV DS,SS 76MOV DS,SS 76页页源操作数和目的操作数不允许同为段寄存器源操作数和目的操作数不允许同为段寄存器23.试指出下列指令中的错误18 XCHG AX,2000HXCHG AX,2000H 只能在寄存器之间,寄存器和存储器之间用只能在寄存器之间,寄存器和存储器之间用交换指令。源操作数是立即数,交换指令。源操作数是立即数,MOV AX,BX+DX MOV AX,BX+DX 基址基址+DX DX不是可以寻址的寄存器,可以寻址不是可以寻址的寄存器,可以寻址的寄存器有的寄存器有:BX,BP,SI,DI:BX,BP,SI,DI XCHG AX,2000H19 XCHG SP,ES XCHG SP,ES 不能随便修改堆栈指针不能随便修改堆栈指针 ADD AX,BX ADD AX,BX AX AX应该指明操作数类型应该指明操作数类型 MOV AX,DI+SI MOV AX,DI+SI DI+SI DI+SI用于存放变址,专用寄存器,用来对寄用于存放变址,专用寄存器,用来对寄存器寻址存器寻址 IN AL,BX IN AL,BX源操作数应该是源操作数应该是8 8位端口地址或位端口地址或DXDX寄存器寄存器 XCHG SP,ES2024.24.指出下列算术逻辑指令执行后指出下列算术逻辑指令执行后,标志标志CF,ZF,CF,ZF,SF,PF,OFSF,PF,OF和和AFAF的状态。的状态。MOV AL,80H MOV AL,80H ;不影响标志位;不影响标志位 DEC Al DEC Al;Al=7FH(01111111)Al=7FH(01111111)CF=0,ZF=0,SF=0,PF=0,OF=1(CF=0,ZF=0,SF=0,PF=0,OF=1(有符号数有符号数),AF=1),AF=1 ADD AL,10H ADD AL,10H;Al=8FH(10001111)Al=8FH(10001111)CF=0,ZF=0,SF=1,PF=0,OF=1,AF=0 CF=0,ZF=0,SF=1,PF=0,OF=1,AF=024.指出下列算术逻辑指令执行后,标志CF,ZF,21 SUB AL,10H SUB AL,10H;Al=7FH(01111111)Al=7FH(01111111)CF=0,ZF=0,SF=0,PF=0,OF=1,AF=0 CF=0,ZF=0,SF=0,PF=0,OF=1,AF=0 MOV AL,3AH MOV AL,3AH;不影响标志位不影响标志位 AND AL,0F0H AND AL,0F0H ;AL=30H AL=30H CF=0,ZF=0,SF=0,PF=1,OF=0,AF=0 CF=0,ZF=0,SF=0,PF=1,OF=0,AF=0(无影响)(无影响)OR AL,0F0H OR AL,0F0H ;AL=F0H AL=F0H CF=0,OF=0,ZF=0,SF=1,PF=1,AF=0 CF=0,OF=0,ZF=0,SF=1,PF=1,AF=0 XOR AL,0F0H XOR AL,0F0H;AL=00H AL=00H CF=0,OF=0,ZF=1,SF=0,PF=1,AF=0 CF=0,OF=0,ZF=1,SF=0,PF=1,AF=0 SUB AL,10H;Al=7FH(0111111122 25.AX 25.AX寄存器清寄存器清 MOV AX,0000H XOR AX,AX MOV AX,0000H XOR AX,AX AND AX,0000H SUB AX,AX AND AX,0000H SUB AX,AX SAL AX,16 SHL AX,16 SAL AX,16 SHL AX,16 SHR AX,16 SHR AX,16 25.AX寄存器清2327.27.试分别用数据传送指令,交换指令和堆栈操作指试分别用数据传送指令,交换指令和堆栈操作指令,实现将首地址为令,实现将首地址为BLOCKBLOCK的内存单元中两个数据字的内存单元中两个数据字交换。交换。BLOCKBLOCK变量定义:变量定义:BLOCK DW 10H,20HBLOCK DW 10H,20H MODEL SMALL MODEL SMALL DATA DATABLOCK DW 10H,20HBLOCK DW 10H,20H CODE CODE STARTUP STARTUP MOV AX,BLOCK MOV AX,BLOCK MOV BX,BLOCK+2 MOV BX,BLOCK+2 MOV BLOCK+2,AX MOV BLOCK+2,AX MOV BLOCK,BX MOV BLOCK,BX EXITEXIT END END27.试分别用数据传送指令,交换指令和堆栈操作指24 MOV AX,BLOCKMOV AX,BLOCK XCHG AX,BLOCK+2 XCHG AX,BLOCK+2 MOV BLOCK,AX MOV BLOCK,AX#PUSH BLOCK PUSH BLOCK PUSH BLOCK+2 PUSH BLOCK+2 POP BLOCK POP BLOCK POP BLOCK+2 POP BLOCK+2#MOV AX,BLOCK XCHG AX,BL2528.28.设一个字节数据设一个字节数据x x存放在存放在ALAL寄存器中,试说明寄存器中,试说明下列程序的功能下列程序的功能 XOR AH,AH XOR AH,AH;AH AH清清0 0 SAL AX,1 SAL AX,1;AX=2x AX=2x 算术左移算术左移 MOV BX,AX MOV BX,AX;BX=2xBX=2x MOV CL,2 MOV CL,2;CL=2CL=2 SAL AX,CL;AX=AX*2*2=AX*4=8x SAL AX,CL;AX=AX*2*2=AX*4=8x ADD AX,BX;AX=10 x ADD AX,BX;AX=10 x 功能:功能:x x扩大扩大1010倍存放在倍存放在AXAX28.设一个字节数据x存放在AL寄存器中,试说明下列程序的功2629.29.编程实现:编程实现:ALAL寄存器低寄存器低4 4位清位清0 0;BLBL寄寄存器低存器低4 4位置位置1 1;CLCL寄存器低寄存器低4 4位取反;位取反;测试测试DLDL寄存器的最低寄存器的最低2 2位是否为位是否为0 0,若是将,若是将0 0送入送入ALAL寄存器;否则将寄存器;否则将1 1送入送入ALAL寄存器。寄存器。AND AL,OFOH OR BL,OFH XOR CL,OFH AND AL,OFOH OR BL,OFH XOR CL,OFH TEST DL O3H TEST DL O3H TEST DL O3H TEST DL O3H JNZ NEXT JZ P1 JNZ NEXT JZ P1 MOV AL,0 MOV AL,1 MOV AL,0 MOV AL,1 JMP OVER JMP P2 JMP OVER JMP P2 NEXT:MOV AL,1 P1:MOV AL,0 NEXT:MOV AL,1 P1:MOV AL,0 OVER:HLT P1:HLTOVER:HLT P1:HLT 29.编程实现:AL寄存器低4位清0;BL寄存器低42730.30.试编程统计在试编程统计在AXAX寄存器中有多少个寄存器中有多少个1 1,并将,并将结果送结果送DLDL寄存器中寄存器中.DODEL TINY DODEL TINY CODE CODE STARTUP STARTUP MOV DL,0 MOV DL,0 MOV CL,16 MOV CL,16AGAIN:ROL(ROR)AX,1AGAIN:ROL(ROR)AX,1 JNC NEXT JNC NEXT INC DL INC DLNEXT:DEC CLNEXT:DEC CL JNZ AGAIN JNZ AGAIN EXIT EXIT END END30.试编程统计在AX寄存器中有多少个1,并将结果送DL寄存2831.31.试编程统计在内存试编程统计在内存BLOCKBLOCK单元开始按字节存单元开始按字节存放的放的100100个带符号数中有多少负数,并将结果存个带符号数中有多少负数,并将结果存放在放在DLDL寄存器中。寄存器中。MODEL SMALL MODEL SMALL DATA DATABLOCK DB 0BLOCK DB 0,1 1,5 5,(100(100个带符号数个带符号数)CODE CODE STARTUP STARTUP MOV CX,100MOV CX,100 MOV DL,0 MOV DL,0 LEA BX,BLOCK LEA BX,BLOCK31.试编程统计在内存BLOCK单元开始按字节存29AGAIN:MOV AL,BXAGAIN:MOV AL,BX TEST AL,80H TEST AL,80H JZ NEXT JZ NEXT INC DL INC DLNEXT:INC BXNEXT:INC BX LOOP AGAIN LOOP AGAIN EXIT EXIT EDD.EDD.AGAIN:MOV AL,BX30第四章第四章1.1.试计算下列伪指令中各变量所分配的字节数试计算下列伪指令中各变量所分配的字节数A1 DW 20A1 DW 20 ;2 2个字节个字节A2 DW 8DUP(?),10,20 A2 DW 8DUP(?),10,20;20 20个字节个字节A3 DD 10DUP(?)A3 DD 10DUP(?);4040个字节个字节A4 DBA4 DB3DUP(?,4DUP(0)3DUP(?,4DUP(0);1515个字节个字节A5 DBA5 DBHappy New Year!Happy New Year!;1616个字节个字节 第四章313.3.试编写查表程序,将试编写查表程序,将BUFBUF中任意存放的中任意存放的1616个个00H0FH00H0FH之间的数转换为对应的表示十六进制数之间的数转换为对应的表示十六进制数的的ASCIIASCII码,并显示。码,并显示。MODEL SMALLMODEL SMALLDATADATABUF DB 00H,01H,02H,03H,04H,.0FHBUF DB 00H,01H,02H,03H,04H,.0FHTABLE DB 30H,31H,32H39H46HTABLE DB 30H,31H,32H39H46HCODECODESTARTUPSTARTUPMOV CX,16MOV CX,16MOV BX OFFSET TABLEMOV BX OFFSET TABLEMOV SI OFFSET BUMOV SI OFFSET BU 3.试编写查表程序,将BUF中任意存放的16个00H0FH32Next:MOV AL,SINext:MOV AL,SIXLATXLATMOV SI,ALMOV SI,ALMOV DL,ALMOV DL,ALMOV AH,2MOV AH,2INT 21INT 21INC SIINC SILOOP NextLOOP NextEXITEXITENDEND 页页Next:MOV AL,SIXLATM334.4.在首地址为在首地址为BUFBUF的内存单元存放了的内存单元存放了1010个字节的个字节的无符号数,试编程求其和,存入无符号数,试编程求其和,存入SUBSUB单元单元MODEL SMALLMODEL SMALLDATADATABUF DB 10H,32H,BUF DB 10H,32H,(个数)(个数)SUB DWSUB DWCODECODESTARTUPSTARTUPMOV CX,10HMOV CX,10HCLCCLC4.在首地址为BUF的内存单元存放了10个字节的无符号数,试34,LOOP1:ADC AX,BXLOOP1:ADC AX,BXINC BXINC BXLOOP LOOP1LOOP LOOP1MOV SUB,AXMOV SUB,AXEXITEXITENDEND 6.6.试使用试使用IFIF,ELSEELSE和和ENDIFENDIF语句编程,将存入语句编程,将存入ALAL寄存器的寄存器的00H0FH00H0FH之间的二进制数转换为之间的二进制数转换为ASCIIASCII码。码。,LOO35MODEL SMALLMODEL SMALLCODECODESTARTUPSTARTUPIF AL=0&AL=0&AL=9 ADD AL,30HADD AL,30HELSEELSEADD AL,37HADD AL,37HENDIFENDIFEXITEXITENDENDMODEL SMALLCODESTARTUPIF AL367.7.试使用试使用WHILEWHILE和和ENDWENDW语句编程,从键盘接收语句编程,从键盘接收字符存入内存字符存入内存BUFBUF缓冲区,直到出现回车符时停缓冲区,直到出现回车符时停止接收止接收MODEL SMALLMODEL SMALLDATADATABUF DB 40DUPBUF DB 40DUP(?)(?)CODECODESTARTUPSTARTUPMOV AH,1MOV AH,1INT 21HINT 21HLEA BX,BUFLEA BX,BUFWHILE AL!=0DHWHILE AL!=0DH 7.试使用WHILE和ENDW语句编程,从键盘接收字符存入37MOV BX,ALMOV BX,ALINC BXINC BXINT 21HINT 21HENDEND8.8.试使用试使用REPEATREPEAT和和UNTILCXZUNTILCXZ语句编程,在首地语句编程,在首地址为址为BUFBUF的缓冲区填入的缓冲区填入100100个个00H00H。MODEL SMALLMODEL SMALLDATADATABUF DB 100DUP(BUF DB 100DUP(?)CODECODESTARTUPSTARTUPMOV BX,ALINC BXINT 21HEND38MOV BX OFFSET BUF MOV BX OFFSET BUF MOV CX,100MOV CX,100REPEATREPEATMOV BX,00HMOV BX,00HINC BXINC BXUNTIL CXZUNTIL CXZEXITEXITENDENDMOV BX OFFSET BUF MOV CX,10039MOV DL,0MOV DL,0LEA BX,BLOCKLEA BX,BLOCKMOV CX,100MOV CX,100again:CMP BYTE PTRBX,0;BXagain:CMP BYTE PTRBX,0;BX和和0 0比较比较JGE NEXT;JGE NEXT;若若AB,AB,转转NEXT,NEXT,否则否则DLDL加加1 1INC DLINC DLNEXT:INC BXNEXT:INC BXLOOP againLOOP againEXITEXITENDENDMOV DL,0LEA BX,BLOCKMOV CX,40
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


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

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


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