ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:30.24KB ,
资源ID:29361032      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/29361032.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SWT微机原理与接口技术期末复习参考资料.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

SWT微机原理与接口技术期末复习参考资料.docx

1、SWT微机原理与接口技术期末复习参考资料一. 填空题1. 在计算机中存储容量单位中,1KB=1024字节。2. 计算机系统中的三总线通常是指地址总线,数据总线,控制总线。3. 8086/8088内4个段寄存器CS,DS,SS,ES的中文名分别是代码段寄存器、数据段寄存器、堆栈段寄存器、附加段寄存器。4. 在16位寻址方式下的机制寻址方式中,基址寄存器为BH、BL,变址寄存器位SI、DI。5. 源程序的基本结构为 、 6. 每个指令有两个部分构成,即操作码和操作数。7. 10100110B =166D=A6H= O。8. 8086CPU是由EU和BIU两部分组成的。9. 8086/8088标志寄

2、存器中CF、DF、SF的中位名分别为进位标志位、方向标志位、符号标志位。10. CPU是微型计算机的核心芯片,而且无论哪种CPU其内部组成都大同小异,既包括运算器、控制器、寄存器。11. 在通用传送指令MOV中规定,目的操作数不能同时为存储器操作数、段寄存器、IP&CS。12. 8086/8088内4个段寄存器都是16位的,在用于内存寻址时作为段地址,20位物理地址是有段寄存器的段地址左移4位后,在与16位偏移量经过相加运算而得到。二选择题1.常用的数据定义伪指令有(A)种。A3 B.4 C.5 D.62.若屏蔽某几位可用指令(A)AAND B.OR C.NOT D.XOR3.微处理器8086

3、字符串操作,用来存放源串偏移地址的寄存器是(C)。A.BP B.SP C.SI D.DI4.若当减法运算X-Y中,是SF=1,OF=1,说明两者比较结果为(A)A.XY C.XY D .XY 5.8086/8088CPU 中,标志寄存器的第11位OF位是(C)A.符号标志位 B.零标志位 C.溢出标志位 D.方向标志位6.CPU中运算器的主要功能是()A .算数运算 B .逻辑运算 C .算术运算和逻辑运算 D .函数运算7.如对某一寄存器清零可以使用下面命令()。A.AND B.OR C.NOT D.XOR8.BCD码运算中,设AL=25H,BL=71H,进行BCD码减法运算后,AL=()。

4、A.67H B.54H C.43H D.0B4H9.下列指令中,错误的是()A.MOV AX,100 B.POPF C. ADD OFFSETBXSI D.DEC DI10.中断向量地址是指()A.子程序入口地址 B. 中断服务例行入口地址 C. 中断服务入口地址的地址D.例行程序地址三.判断题。1.8086CPU的逻辑段允许段的重复和交叉。 ( )2.8086微处理器的标志寄存器FLAGS是16位的,每一位都有含义。( )3.按约定,串操作指明都是以DS:SI来寻址源串,以ES:DI来寻址目的串,所以指令中不必显示指明操作数。 ( )4.在8086系统中,所有中断都要执行两个中断响应总线周期

5、。 ( )5.指令语句与伪指令需经汇编程序翻译为机器代码后才能执行。 ( )四.简答题。1.8位和16位二进制数的原码、补码和反码可表示的数的范围分别是多少?解:(1)对于8位二进制数的原码、补码和反码可表示的数的范围如下:1 原码:11111111B01111111B(-127+127)。2 反码:10000000B01111111B(-127+127)。3 补码:10000000B01111111B(-128+127).。(2)对16位二进制数的原码、补码和反码可表示的数的范围如下: 原码:FFFFH7FFFH(-32767+32767); 反码:8000H7FFFH(-32767+327

6、67); 补码:8000H7FFFH(-32768+32767).2.8086/8088系统中,存储器为什么要分段?一个段最大为多少字节?最少为多少字节?解:8086/8088有20条地址总线,可寻址的最大物理内存容量为1MB(),其中任何一个内存单元都有一个20位的地址,也就是内存单元的物理地址。由于8086/8088的内部寄存器只有16位,而访问内存单元在多数情况下都要通过寄存器间接寻址,因此,8086/8088就采用了将地址空间分段的方法,即将1MB的地址空间分为若干个64KB的段,然后再用段基地址加上段内偏移地址来访问物理存储器。3.I/O接口的主要功能有哪些?有哪两种编制方式?在80

7、86/8088系统中采用哪一种编制方式?解:由I/O接口在系统中的位置可以得出接口电路具有如下功能:(1)I/O地址译码与设备选择;(2)信息的输入/输出;(3)命令、数据和状态的缓冲与锁存;(4)信息转换。 在微型计算机系统中,I/O端口的编址通常有两种不同的方式:与内存单元统一编址、独立编址;8086/8088采用独立编址。4.在8086/8088CPU中,标志寄存器包含哪些标志位?各位为0(为1)分别表示什么含义?解:如图:包括6个状态标志和3个控制标志:(1)状态标志如下:CF:进位标志位。最高为向前有(借)进位时,CF=1;否则CF=0。PF:奇偶标志位。当运算结果的低8位中1的个数

8、为偶数时,PF=1;为奇数时PF=0.AF:辅助进位标志位。在加减法操作中,D向有进位借位发生时,AF=1,否则AF=0.ZF:零标志位。当运算结果为零时ZF=1,否则ZF=0.SF:符号标志位。当运算结果的最高位为1时SF=1,否则SF=0.OF:溢出标志位。当算数的运算结果超出了带符号数的范围,即溢出时OF=1;否则OF=0.(2)控制标志位TF:陷阱标志位。当TF=1时,激活处理器的调试特性,使CPU处于单步执行指令的工作方式。每执行一条指令后的,自动产生一次单步中断,从而使用户能够逐条指令的检查程序。IF:中断允许标志位。IF=1使CPU可以响应可屏蔽中断请求。IF=0使CPU禁止响应

9、可屏蔽中断请求。DF:方向标志位。方向标志位在执行串操作指令时控制操作的方向。DF=1时按减地址方式进行,即从高地址开始,每进行一次操作,地址指针自动减1(或减2);DF=0时则按照增地址方式进行。5.CPU满足什么条件能够响应可屏蔽中断?解:当INTR信号有效时,如果中断允许标志位IF=1,则CPU就会在当前指令执行完毕后,产生两个连续的中断响应总线周期。6.8086/8088CPU中,有哪些通用寄存器和专用寄存器?解:8086/8088CPU内部共有14个16位寄存器。按其功能可分为三大类,即通用寄存器(8个)、段寄存器(4个)、控制寄存器(2个)1)通用寄存器(1)数据寄存器 AX:累加

10、器 ;BX:基址寄存器 ;CX:计数寄存器 ;DX:数据寄存器。(2)地址指针寄存器 SP:堆栈指针寄存器 BP:基址指针寄存器(3)变址寄存器SI:源变址寄存器 DI:目的变址寄存器2)段寄存器CS:代码段寄存器 SS:堆栈段寄存器 DS:数据段寄存器 ES:附加段寄存器3)控制寄存器IP:指令指针寄存器 FLAGS:标志寄存器5分析题1.读下列程序段,若(AL)=5BH,执行程序后(AL)= H。MOV BL, ALMOV CL, 8AGAIN ROL BL, 1 RCR AL ,1LOOP AGAIN2.如程序的数据段定义如下,写出各指令语句独立执行后的结果:DSEG SEGMENTDA

11、TA1 DB 10H, 20H, 30HDATA2 DW 10H DUP (?)STRING DB 123DSEG ENDS(1)MOV AL, DATA解:(2)MOV BX, OFFSET DATA2解:(3)LEA SI, STRING ADD DI, SI解:3.设(DS)=6000H,(ES)=2000H,(SS)=1500H,(SI)=00A0H,(BX)=0800H,(BP)=1200H,数据变量VAR为0500H。请分别指出下列各条指令源操作数的寻址方式?它的物理地址是多少?(1)MOV AX, AVR解:(2) MOV DI, ES:BX解:(3)MOV BX, 20HBX解

12、:4.设堆栈指针SP的初始值为2300H,(AX)=50ABH,(BX)=1234H。执行指令PUSH AX后,(SP)=?在执行指令PUSH BX及POP AX之后,(SP)=?(AX)=?(BX)=?解:六编程题1.把内存中首地址为MEM1的200个字节送到首地址为MEM2的区域中。解:程序如下:MOV SI, 0FFSET MEM1;源数据块首地址(偏移地址)送SIMOV DI, 0FFSET MEM2;目标首地址(偏移地址)送DIMOV CX,200 ;数据块长度送CX,即=训坏次数CXNEXT: MOV AL, SI ;源数据块中当前字节送MOV DI, AL ;AL 内容送目标地址

13、,完成一个字节数据的传送INC SI ;SI加1 ,修改源地址指针INC DI ;DI加1,修改目标地址指针DEC CX ;CX减1,修改循环次数JNZ NEXT ;如循环次数(CX)不为零,则转移到NEXT标号处HLT ;停止2.编写一个程序,将2000H:1200H地址开始的100个字节传送到6000H:0000H开始的内存单元中。解:程序如下:MOV AX, 2000H MOV DS, AX ;设定源串段地址MOV AX, 6000HMOV ES, AX ;设定目标串段地址MOV SI, 1200H ;设定源串偏移地址MOV DI, 100 ;串长度送CXCLD ;DF=0,使地址指针按

14、增量方向修改REP MOVSB ;每传送一个字节,自动修改地址指针及CX直至CX=0HLT ;暂停执行3.统计以BUFFER为起始地址的100个单元中负数的个数,并将统计出来的负数个数送NUM单元中。解:程序如下:4.编写程序,将数据区中以字节变量BUFFER为首地址的100个单元清零。解:程序如下:DATA SEGMENTBUFFER DB 100 DUP(?)COUNT DW 100 ;定义地址区长度DATA ENDS;STACK SEGMENT DW 32 DUP(?)STACK ENDS;CODE SEGMENTASSUME CS: CODE, DS:DATA, SS:STACKSTA

15、RT : MOV AX, DATA MOV DS, AX ;初始化数据 MOV AX, STACKMOV SS, AX ;初始化堆栈段MOV CX, COUNTLEA BX, BUFFERADD CX, BXAGAIN: MOV BYTE PTRBX, 0 ;实现100个单元清零 INC BX CMP BX, CXJB AGAINMOV AH, 4CHINT 21HCODE ENDSEND START5.编写一个程序,从4000H开始的单元中放油32个有符号数,要求统计出其中负数的个数,并将个数存于BUFFER单元中。解: XOR DX, DX ;清DX内容,DX用于存放中间结果 MOV SI

16、, 4000H ;SI起始地址MOV CX,20H ;CX统计次数AGAIN: MOV AL, SI ;AL取第一个数INC SI ;地址指针加1TEST AL, 80H ;测试所取得数是否为负数JZ NEXT ;不为负数则转NEXTINC DX ;如为负数则转DXDX+1NEXT: DEC CX ;CXCX-1JNZ AGAIN ;若CX0则继续检查下一个MOV BUFFER, DX ;统计结果送BUFFER单元6.编写一个程序段,比较两个字符串是否相同,并找出其中第一个不相同等的字符的地址,将该地址送BX,不相等的字符送AL。两个字符串的长度均为200B,M1为源串首地址,M2为目标串首地

17、址。解:程序如下:LEA SI, M1 ;SI源串首地址LEA DI, M2 ;DI目标串首地址MOV CX, 200 ;CX串长度CLD ;DF=0,使地址指针按增量方向修改REPE CMPSB ;如相等则重复比较JZ STOP ;若ZF=1,表示两数据串完全相等,转STOPDEC SI ;否则SI-1,指向不相等单元的内容MOV BX, SI ;BX不相等单元的地址MOV AL, SI ;AL不相等单元的内容STOP: HLT ;停止7.把以DATA为首地址的两个连续单元中的16为无符号数乘以10.解:程序如下:(因为10x=8x+2x=,所以可以用左移指令实现该运算)LEA SI, DA

18、TA ;DATA单元的偏移地址送SIMOV AX,SI ;AX被除数SHL AX, 1 ;AX=DATA*2MOV BX, AX ;暂存BXMOV CL, 2 ;CL移位次数SHL AX, CL ;AX=DATA*8ADD AX, BX ;AX=DATA*10HLT8.在当前数据段DATA1开始的顺序80个单元中,存放着80位同学某门功课的考试成绩(0100)。编写程序统计90分、8089分、7079分、6069分以及 4000H, 256 字节 mov r0, #30h mov r1, #00h mov r2, #40h mov r3, #00h mov r7, #0Loop: mov dp

19、h, r0 mov dpl, r1 movx a, dptr mov dph, r2 mov dpl, r3 movx dptr, a cjne r1, #0ffh, Goon1 inc r0Goon1: inc r1cjne r3, #0ffh, Goon2 inc r2Goon2: inc r3 djnz r7, Loop ljmp $ end14.程序跳转表 org 0 ljmp StartFunc0: mov a, #0 retFunc1: mov a, #1 retFunc2: mov a, #2 retFunc3: mov a, #3 retFuncEnter: add a, ac

20、c ; ajmp 为二字节指令, 调用号 X 2 mov dptr, #FuncTab jmp a+dptrFuncTab: ajmp Func0 ajmp Func1 ajmp Func2 ajmp Func3Start: mov a, #0 call FuncEnter mov a, #1 call FuncEnter mov a, #2 call FuncEnter mov a, #3 call FuncEnter ljmp $ End15.数据排序Size equ 10 ; 数据个数Array equ 50h ; 数据起始地址Change equ 0 ; 交换标志Sort: mov r0, #Array mov r7, #Size-1 clr ChangeGoon: mov a, r0 mov r2, a inc r0 mov B, r0 cjne a, B, NotEqual sjmp NextNotEqual: jc Next ; 前小后大, 不交换 setb Change ; 前大后小, 置交换标志 xch a, r0 ; 交换 dec r0 xch a, r0 inc r0Next: djnz r7, Goon jb Change, Sort ljmp $end

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1