1、3232位微型计算机原理接口技术及其应用位微型计算机原理接口技术及其应用 习题解答习题解答 第一章第一章 绪绪 论论4. 4. 什么叫什么叫BCDBCD码?试举例说明码?试举例说明。(1414页)页)BCDBCD码:二进制编码的十进制数。四位码:二进制编码的十进制数。四位二进制编码表示一位十进制数,表示二进制编码表示一位十进制数,表示范围范围0-90-9。 如:如: BCDD)0111()7(12.12.求求1101001011010010和和0100111001001110两数分别作两数分别作“与与”、“或或”和和“异或异或”操作的运算结果。操作的运算结果。 与与: : 1101001011
2、010010 或:或:1101001011010010 01001110 01001110 0100111001001110 0100001001000010 1101111011011110 异或:异或:1101001011010010 01001110 01001110 10011100 1001110015.15.试画出组成微型计算机系统的框图并简述试画出组成微型计算机系统的框图并简述各部分的作用。(各部分的作用。(18-1918-19页)页) 硬件:运算器、控制器、存贮器、输入设备、硬件:运算器、控制器、存贮器、输入设备、 输出设备等;输出设备等; 软件:系统软件、应用软件;软件:系统
3、软件、应用软件; 通讯网络系统:通讯网络系统:1 16 6微型计算机各部分的连接采用总线结构时有微型计算机各部分的连接采用总线结构时有哪几种方式?简述它们的优缺点。哪几种方式?简述它们的优缺点。 (2020页)页) . .以以CPUCPU为中心的双总线结构:效率不高,运为中心的双总线结构:效率不高,运算器是中间站降低了工作效率算器是中间站降低了工作效率; . .以存储器为中心的双总线结构:效率较高以存储器为中心的双总线结构:效率较高; . .单总线结构:结构简单单总线结构:结构简单,增减设备方便;,增减设备方便; . .三总线结构:高效率三总线结构:高效率;17.17.典型的微处理器典型的微处
4、理器是是由哪几部分组成的?其主由哪几部分组成的?其主要功能是什么?要功能是什么? 2222页页 图图1.111.11 累加器、暂存器、算术逻辑部件、标志寄存累加器、暂存器、算术逻辑部件、标志寄存器、通用和专用寄存器、程序计数器、堆栈器、通用和专用寄存器、程序计数器、堆栈指示器、指令寄存器、指令译码器和控制电指示器、指令寄存器、指令译码器和控制电路等。路等。 主要功能:主要功能:2323页页 18.18.简述在微机中执行一条指令的过程。简述在微机中执行一条指令的过程。一条指令一条指令在微处理器中执行的在微处理器中执行的过程为过程为: :2222页页总的来说:取指令总的来说:取指令 分析指令分析指
5、令 执行指令执行指令20.20.简述简述PCPC和和SPSP在微机中的作用。在微机中的作用。 PCPC程序计数器:用于存放要执行的指令的存程序计数器:用于存放要执行的指令的存储地址,也称指令计数器。执行指令时,储地址,也称指令计数器。执行指令时,CPUCPU自动修改自动修改PCPC的内容。的内容。 SPSP为堆栈指针:为堆栈指针:2424页页 第二章第二章 Intel32Intel32位位CPUCPU1.804861.80486微处理器的基本组成与系统结构。微处理器的基本组成与系统结构。 29 29页页 图图2.12.13.3.试说明试说明8048680486微处理器中状态寄存器各标志微处理器
6、中状态寄存器各标志位的作用。位的作用。 37 37页页 4.4.试说明试说明8048680486中控制寄存器的作用。中控制寄存器的作用。 3838页页13.13.试说明试说明8048680486微处理器中指令流水线的硬微处理器中指令流水线的硬件组成与指令流水过程。件组成与指令流水过程。 41-4241-42页页硬件组成:硬件组成:8K8K内部内部CacheCache存贮器、存贮器、3232字节指字节指令预取队列、指令译码器、控制器、控制令预取队列、指令译码器、控制器、控制寄存器和执行部件。寄存器和执行部件。指令流水过程:指令流水过程:1 1、指令预取、指令预取 2 2、译码、译码1 31 3、
7、译码译码2 42 4、执行、执行 、5 5、回写、回写 第三章第三章 80 x8680 x86寻址方式和指令系统寻址方式和指令系统1.1.数据寻址方式有哪几种数据寻址方式有哪几种? ? 数据寻址数据寻址: :立即寻址、寄存器寻址、存储器寻址立即寻址、寄存器寻址、存储器寻址2.162.16位指令模式下和位指令模式下和3232位指令模式下的存储器寻址方位指令模式下的存储器寻址方式各有哪几种寻址方式?比较他们的相似与不同之式各有哪几种寻址方式?比较他们的相似与不同之处处? ? 1616位指令模式存储器寻址:直接寻址,寄存器间位指令模式存储器寻址:直接寻址,寄存器间接寻址,寄存器相对寻址,基址变址寻址
8、,相对基接寻址,寄存器相对寻址,基址变址寻址,相对基址变址寻址址变址寻址 3232位指令模式下:直接寻址位指令模式下:直接寻址 ,间接寻址,间接寻址,相对基址寻址,相对比例寻址,相对比例基址相对基址寻址,相对比例寻址,相对比例基址变址寻址变址寻址 3.3.程序地址寻址方式有哪几种?程序地址寻址方式有哪几种? 相对寻址、直接寻址、间接寻址相对寻址、直接寻址、间接寻址 7070页页4.4.什么是堆栈地址寻址方式?什么是堆栈地址寻址方式? “ “后进先出后进先出”原则,使用原则,使用PUSH POPPUSH POP指令指令 72 72页页 5.5.指令编码格式是由哪几部分组成的?各部分指令编码格式是
9、由哪几部分组成的?各部分的含义是什么?的含义是什么? 前缀前缀+ +操作码操作码+ +寻址方式寻址方式+ +偏移量偏移量+ +立即数立即数 各部分含义各部分含义 7373页页6.80 x866.80 x86指令格式由哪几部分组成的?指令格式由哪几部分组成的? 标号:标号: 助记符助记符 操作数操作数 ;注释;注释 7.80 x867.80 x86指令系统按其功能可分为几部分指令系统按其功能可分为几部分 ? ? 数据传送指令、算术运算指令、逻辑运算指令、数据传送指令、算术运算指令、逻辑运算指令、 串操作指令、控制转移指令、处理器控制指令、串操作指令、控制转移指令、处理器控制指令、 输入输入/ /
10、输出指令、中断指令、输出指令、中断指令、 DOSDOS功能调用指令功能调用指令10.10.堆栈操作指令有哪几种?堆栈操作指令有哪几种? PUSH SRC POP DEST; PUSH SRC POP DEST; PUSHA POPA PUSHA POPA PUSHAD POPAD PUSHAD POPAD 77 77页页22.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
11、,EBX=00002000,假设按假设按1616位实模式操作,确定下列每条指令位实模式操作,确定下列每条指令访问内存的物理地址,并且指出源操作数及访问内存的物理地址,并且指出源操作数及目的操作数的寻址方式。目的操作数的寻址方式。 .MOV AL,1234H .MOV AL,1234H PA=2000 PA=2000* *10H+1234H=21234H10H+1234H=21234H 源操作数源操作数: :存储器直接寻址存储器直接寻址 目的操作数目的操作数: :寄存器寻址寄存器寻址MOV EDX,BX MOV EDX,BX PA=10 PA=10* *2000H+2000H=22000H 20
12、00H+2000H=22000H 源操作数源操作数: :寄存器间接寻址寄存器间接寻址 目的操作数目的操作数: :寄存器寻址寄存器寻址.MOV CL,BX+100H.MOV CL,BX+100H PA=10 PA=10* *2000H+2000H+100H=22100H 2000H+2000H+100H=22100H 源操作数源操作数: :寄存器相对寻址寄存器相对寻址 目的操作数目的操作数: :寄存器寻址寄存器寻址.MOV SI,EBX.MOV SI,EBX PA=2000 PA=2000* *10H+4000H=24000H10H+4000H=24000H 源操作数源操作数: :寄存器寻址寄存
13、器寻址 目的操作数目的操作数: :寄存器间接寻址寄存器间接寻址.MOV AH,BUFBX+SI.MOV AH,BUFBX+SI PA=10 PA=10* *2000H+1000H+2000H+4000H=27000H 2000H+1000H+2000H+4000H=27000H 源操作数源操作数: :相对基址变址寻址相对基址变址寻址 目的操作数目的操作数: :寄存器寻址寄存器寻址.MOV EAX,BP+1234H.MOV EAX,BP+1234H PA=10 PA=10* *3000H+0200H+1234H=31434H 3000H+0200H+1234H=31434H 源操作数源操作数:
14、:寄存器相对寻址寄存器相对寻址 目的操作数目的操作数: :寄存器寻址寄存器寻址.MOV EAX+EBX,DH .MOV EAX+EBX,DH PA=10 PA=10* *2000H+1000H+2000H=23000H 2000H+1000H+2000H=23000H 源操作数源操作数: :寄存器寻址寄存器寻址 目的操作数目的操作数: :寄存器间接寻址寄存器间接寻址 23. 23. 试指出下列指令中的错误试指出下列指令中的错误 MOV BX,SI 76 MOV BX,SI 76页页 源操作数和目的操作数同为存储器操作数源操作数和目的操作数同为存储器操作数 MOV AH,DXMOV AH,DX源
15、操作数和目的操作数数据类型不一致源操作数和目的操作数数据类型不一致 INC BXINC BX 存储器操作数应指明类型存储器操作数应指明类型 MOV DS,SS 76MOV DS,SS 76页页源操作数和目的操作数不允许同为段寄存器源操作数和目的操作数不允许同为段寄存器 XCHG AX,2000HXCHG AX,2000H 只能在寄存器之间,寄存器和存储器之间用只能在寄存器之间,寄存器和存储器之间用交换指令。源操作数是立即数,交换指令。源操作数是立即数, MOV AX,BX+DX MOV AX,BX+DX 基址基址+ + DX DX不是可以寻址的寄存器,可以寻址不是可以寻址的寄存器,可以寻址的寄
16、存器有的寄存器有:BX,BP,SI,DI:BX,BP,SI,DI) (SIDI 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寄存器寄存器24.24.指出下列算术逻辑指令执行后指出下列算术逻辑指令执行后, ,标志
17、标志CF,ZF,CF,ZF,SF,PF,OFSF,PF,OF和和AFAF的状态的状态。 MOV AL,80H MOV AL,80H ;不影响标志位不影响标志位 DEC Al DEC Al ; Al Al=7FH(01111111)=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 Al=8FH(10001111)=8FH(10001111) CF=0,ZF=0,SF=1,PF=0,OF=1,AF=0 CF=0,ZF=0
18、,SF=1,PF=0,OF=1,AF=0 SUB AL,10H SUB AL,10H ; Al Al=7FH(01111111)=7FH(01111111) CF=0,ZF=0,SF=0,PF=0,OF= CF=0,ZF=0,SF=0,PF=0,OF=1 1,AF=,AF=0 0 MOV AL,3AHMOV AL,3AH ; 不影响标志位不影响标志位 AND AL,0F0H AND AL,0F0H ; AL AL= =3 30 0H H 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,0F0
19、H OR AL,0F0H ; AL AL= =F F0 0H H 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 AL=00=00H H CF=0,OF=0,ZF=1,SF=0,PF=1,AF=0 CF=0,OF=0,ZF=1,SF=0,PF=1,AF=0 25.AX25.AX寄存器清寄存器清 MOV AX,0000HMOV AX,0000H XOR AX,AXXOR AX,AX AND AX,0000HAND AX,0000H SUB AX,AXSUB AX,AX
20、 SAL AX,16SAL AX,16 SHL AX,16SHL AX,16 SHR AX,16SHR AX,1627.27.试分别试分别用用数据传送指令,交换指令和堆栈操作指数据传送指令,交换指令和堆栈操作指令,实现将首地址为令,实现将首地址为BLOCKBLOCK的内存单元中两个数据字的内存单元中两个数据字交换。交换。BLOCKBLOCK变量定义:变量定义:BLOCK DW 10H,20HBLOCK DW 10H,20H MODEL SMALLMODEL SMALL DATADATABLOCKBLOCK DW 10H,20H DW 10H,20H CODECODE STARTUPSTARTU
21、P MOV AX,BLOCKMOV AX,BLOCK MOV BX,BLOCK+2MOV BX,BLOCK+2 MOV BLOCK+2,AX MOV BLOCK+2,AX MOV BLOCK, BXMOV BLOCK, BX EXITEXIT END END MOV AX,BLOCKMOV AX,BLOCK XCHG AX ,BLOCK+2XCHG AX ,BLOCK+2 MOV BLOCK, AXMOV BLOCK, AX# PUSH BLOCK PUSH BLOCK PUSH BLOCK+2 PUSH BLOCK+2 POP BLOCK POP BLOCK POP BLOCK+2 POP
22、BLOCK+2 #28.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= SAL AX,CL; AX=AXAX* *2 2* *2=AX2=AX* *4=8x4=8x ADD AX,BX; AX=10 x ADD AX,BX;
23、AX=10 x 功能:功能:x x扩大扩大1010倍存放在倍存放在AXAX29.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,OFOHAND AL,OFOH OR BL,OFH OR BL,OFH XOR CL,OFHXOR CL,OFH TEST DL O3HTEST DL O3H T
24、EST DL O3H TEST DL O3H JNZ NEXT JNZ NEXT JZ P1 JZ P1 MOV AL,0 MOV AL,1MOV 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 30.30.试编程统计在试编程统计在AXAX寄存器中有多少个寄存器中有多少个1 1,并将,并将结果送结果送DLDL寄存器中寄存器中. . DODEL TINY DODEL TINY CODE
25、 CODE STARTUP STARTUP MOV DL,0 MOV DL,0 MOV CL,16 MOV CL,16AGAIN:ROLAGAIN:ROL(ROR)(ROR) AX,1 AX,1 JNC NEXT JNC NEXT INC DL INC DLNEXT:DEC CLNEXT:DEC CL JNZ AGAIN JNZ AGAIN EXIT EXIT END END31.31.试编程统计在内存试编程统计在内存BLOCKBLOCK单元开始按字节存单元开始按字节存放的放的100100个带符号数中有多少负数,并将结果个带符号数中有多少负数,并将结果存存放在放在DLDL寄存器中。寄存器中。
26、MODEL SMALLMODEL SMALL DATADATABLOCK 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,BLOCKAGAIN: 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
27、LOOP AGAIN EXIT EXIT EDD. EDD.第四章第四章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个字节个字节
28、 3.3.试编写查表程序,将试编写查表程序,将BUFBUF中任意存放的中任意存放的1616个个00H0FH00H0FH之间的数转换为对应的表示十六进制数之间的数转换为对应的表示十六进制数的的ASCIIASCII码,并显示。码,并显示。MODEL SMALLMODEL SMALLDATADATABUF DB 00H,01H,02H,03H,04H,BUF DB 00H,01H,02H,03H,04H,.0FH.0FHTABLE DB 30H,31H,32HTABLE DB 30H,31H,32H39H39H46H46HCODECODESTARTUPSTARTUPMOV CX,16MOV CX,1
29、6MOV BX OFFSET TABLEMOV BX OFFSET TABLEMOV SI OFFSET BUMOV SI OFFSET BU Next: MOV AL,SINext: MOV AL,SIXLATXLATMOV SI,ALMOV SI,ALMOV DL,ALMOV DL,ALMOV AH,2MOV AH,2INT 21INT 21INC SIINC SILOOP NextLOOP NextEXITEXITENDEND 页页4.4.在首地址为在首地址为BUFBUF的内存单元存放了的内存单元存放了1010个字节的个字节的无符号数,试编程求其和,存入无符号数,试编程求其和,存入SUB
30、SUB单元单元MODEL SMALLMODEL SMALLDATADATABUF DB 10H,32H,BUF DB 10H,32H,(个数)(个数)SUB DWSUB DWCODECODESTARTUPSTARTUPMOV CX,10HMOV CX,10HCLCCLC,LOOP1:ADC AX,BXLOOP1:ADC AX,BXINC BXINC BXLOOP LOOP1LOOP LOOP1MOV SUB,AXMOV SUB,AXEXITEXITENDEND 6.6.试使用试使用IFIF,ELSEELSE和和ENDIFENDIF语句编程,将存入语句编程,将存入ALAL寄存器的寄存器的00H0
31、FH00H0FH之间的二进制数转换为之间的二进制数转换为ASCIIASCII码。码。 MODEL SMALLMODEL SMALLCODECODESTARTUPSTARTUPIF AL=0&AL=0&AL=9 ADD AL,30HADD AL,30HELSEELSEADD AL,37HADD AL,37HENDIFENDIFEXITEXITENDEND7. 7. 试使用试使用WHILEWHILE和和ENDWENDW语句编程,从键盘接收语句编程,从键盘接收字符存入内存字符存入内存BUFBUF缓冲区,直到出现回车符时停缓冲区,直到出现回车符时停止接收止接收MODEL SMALLMODEL SMAL
32、LDATADATABUF DB 40DUPBUF DB 40DUP(?)(?)CODECODESTARTUPSTARTUPMOV AH,1MOV AH,1INT 21HINT 21HLEA BX,BUFLEA BX,BUFWHILE AL!=0DHWHILE AL!=0DH MOV BX,ALMOV BX,ALINC BXINC BXINT 21HINT 21HENDEND8.8.试使用试使用REPEATREPEAT和和UNTILCXZUNTILCXZ语句编程,在首地语句编程,在首地址为址为BUFBUF的缓冲区填入的缓冲区填入100100个个00H00H。MODEL SMALLMODEL SM
33、ALLDATADATABUF DB 100DUP(BUF DB 100DUP(?) )CODECODESTARTUPSTARTUPMOV BX OFFSET BUF MOV BX OFFSET BUF MOV CX,100MOV CX,100REPEATREPEATMOV BX,00HMOV BX,00HINC BXINC BXUNTIL CXZUNTIL CXZEXITEXITENDENDMOV DL,0MOV DL,0LEA BX,BLOCKLEA BX,BLOCKMOV CX,100MOV CX,100again:CMPagain:CMP BYTE PTRBX,0;BX BYTE PTRBX,0;BX和和0 0比较比较JGE NEXT;JGE NEXT;若若AB,AB,转转NEXT,NEXT,否则否则DLDL加加1 1INC DLINC DLNEXT:INC BXNEXT:INC BXLOOP againLOOP againEXITEXITENDEND
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。