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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

微机原理与接口技术习题集.docx

1、微机原理与接口技术习题集4、找出下列数中的最大数微机原理与接口技术(1 )( 10010101 ) 2 ( 2)( 227) 8 ( 3)( 96) 16 ( 4)( 145 ) 105、设有两个二进制数 X=01101010 ,Y=10001100,试比较它们的大小。(1) X和Y均为无符号数。(2) X和Y均为带符号数的补码。第一章习题一、 单项选择题1、X的8位补码是10110100,则X的16位补码是 。A) 0000000010110100 B) 1000000010110100C) 111111*0 C) 0111111110110100二、 多项选择题1、8位数11011011B

2、可表示 。A)无符号数219 B)-37的补码 C)-36的补码D) -36的反码 E) 91的原码 F) -91的原码三、 填空题第二章习题1、8086CPU与8088CPU有哪些相同之处 ?有哪些不同之处?1、 计算机的硬件由 、 、 、 和 等部分组成。2、 十进制 68= B= Q= H。3、 凶补=78H,则-X补= H。4、 设字长8位,机器数分别采用纯小数的原码 、补码和反码表示时,其对应的真值2、8086CPU从功能上分为几个部分 ?各部分由什么组成?各部分的功能是什么?范围分别是 、 、 (均用十进制数表示)。5、 若机器数为补码,字长16位(含1位符号位),用十六进制写出对

3、应于定点整数 的最大正数补码是 ,最小负数的补码是 。四、 计算题3、CPU有哪些寄存器组成?各有什么用途?其中标志寄存器的各标志位的含义是什 么?1、 已知X原=11001010 ,求X的反码、补码。2、 用补码求X+Y补与X-Y补,并判断运算结果是否溢出。1) 已知X原=10101100 ,Y补=110001102) 已知X反=01110110 ,Y补=001001104、8086/8088 CPU 中有几个段寄存器?其功能是什么?3、 将下列十进制整数转换十六进制数 。(1) 783 ( 2) 5327 ( 3) 9685、什么是逻辑地址、物理地址、物理地址是如何求得的 ?假如CS=20

4、00H ,IP=0100H,其物理地址是多少 ?6、什么是8086/8088 CPU 最大模式和最小模式 ?其关键区别是什么?1、MOV AX , BP的源操作数物理地址为 16D X(DS)+(BP)2、OUT DX , AL指令输出的是16位操作数3、MOV DS , 2000H4、PUSH AL5、段内转移指令执行结果要改变IP、CS的值6、REPE/REPZ是相等/为零时重复操作,其退出条件是:(CX) =0 或 ZF=0、选择题7、在最小模式时 CPU访问内存储器,哪些信号有效?什么是总线周期? 8086CPU 的一个总线周期包括多少时钟周期 ,什么情况下要插入Tw等待周期?插入多少

5、个Tw 等待周期取决于什么因素 ?8、在最小模式时,CPU访问I/O接口,哪些信号有效?9、什么是中断向量?中断向量表指的是什么 ?中断向量表放在什么地方 ?假如中断类型为20,它的中断服务入口地址是多少 ?第三章习题判断下列问题是否正确,请说明理由。1、 寄存器间接寻址方式中,操作数在 中。A)通用寄存器 B)堆栈 C)存储器 D)段寄存器2、 假设(SS)=2000H, ( SP)=0012H, ( AX)=1234H,执行 PUSH AX 后,存储单元 =12H。A) 20014 B) 20011H C) 20010H D) 2000FH3、 若要检查BX寄存器中的D12位是否为1,应该

6、用 指令。A)OR BX,1000H B)TEST BX, 1000H ( JNZ YES)C) XOR BX,1000H D)AND BX,1000H ( JNZ YES)4、 用BP作基址变址寻址时,操作数所在的段是 。A)数据段 B)代码段 C)堆栈段 D)附加段5、 含有立即数的指令中,该立即数被存放在 。A)累加器中 B)指令操作码后的内存单元中C)指令操作码前的内存单元中 D)由该立即数所指定的内存单元中6、 执行下列指令后:MOV AX,1234HMOV CL,4ROLAX,CLDEC AXMOV CX,4可用指令来完成该功能。A) REP LODSBB)REP STOSBC)

7、REPE SCASBD) REP MOVSB8、设(AL )=-68,(BL) =86,执行 SUB AL,BL指令后,正确的结果是 。A) CF=1 B)SF=1C)OF=1D) ZF=1三、简答题1、写出下列指令中源操作数和目的操作数的寻址方式的有A) SCASB B) XLAT C) MOVSB D) DAA E) NOP F) MUL BH4、 假设(DS) =3000H , ( BX) =0808H , (30808H)=012AAH , ( 3080A ) =0BBCCH,当执行指令2F00H,MUL CXHLT贝y( ax) = 。A) 8D00H B) 9260H C) 8CA

8、0H D) 0123H7、下列程序:NEXT: MOV AL , SIMOV ES : DI , ALINC SIINC DILOOP NEXT5、 假设(BX) = 0449H, ( BP) = 0200H, ( SI) = 0046H, ( SS)(2F246H ) = 7230H 则执行 XCHG BX,BP+SI指令后,(BX) = ?6、 执行下列指令序列后,完成的功能是什么?MOVCX,4NEXT: SHR DX,1RCR AX,1LOOP NEXT7、 下列指令执行后,BX= ?MOV CL,3MOV BX,4DABHROL BX,1ROR BX,CL8、 执行下列指令序列,AH

9、= ? AL= ?MOV AL,80HMOV BL,08HCBWIDIV BL第四章习题1、阅读程序并回答问题:START: IN AL,20HMOV BL,ALIN AL,30HMOV CL,ALMOVAX , 0MOV CH,ALL1 : ADD AL,BLLes di,bx ”后,(di)= ?,( es) = ?ADC AH , 0LOOP L1中。方法一、LEA BX, TABLEHLT问(1)本程序实现什么功能?(2) 结果在哪里?(3) 用乘法指令 MUL BL编程并使结果不变。(假设20H、30H端口输入的数据 均为无符号数)。2、读下述程序段,请问:什么情况下,本段程序的执行

10、结果是 AH=0 ?BEGIN : IN AL,5FHTEST AL,80HJZ NEXTMOVAH , 0JMP STOPNEXT: MOV AH ,OFFHSTOP: HLT3、请编写一程序段完成 AX X10的任务(要求不准用乘法指令做)。4、内存中自TABLE开始的七个单元连续存放着自然数 0至6的立方值(称作立方 表)。任给一数X (0WXW6)在XX单元,查表求X的立方值,并把结果存入 YY单元MOVAH , 0MOVAL ,XX方法二、LEA BX,MOVAL ,XLATMOVYY,HLT5、符号函数-1J 0卜1TABLEXXAL.0 ( _ 128 X 127 )=0:0假设

11、任意给定的 X值放在XX单元中,函数Y的值存放在YY单元中。MOVAL ,XXCMP AL,0JGE BIGRMOVAL ,0FFHMOVYY,ALHLTBIGR:JE EQULMOVAL ,1MOVYY,ALHLTEQUL:MOVYY,ALHLT的不同值给Y赋值的程序:编程实现根据X6、试编写一程序段,使数据段中偏移地址为 0200H开始的128B单元的内容清0。LEA SI,CHR1、S7分别存放在以S0、S1、S7为首地址的内存区域中,而这8个首地址偏移量 连续存放在以BASE为首地址的跳转表内。假设8种产品的编号分别为 0、1、2、7,请编程实现根据产品编号跳转到相应的 执行程序。9、

12、 统计一个20字数据块中负元素的个数,数据块的首地址为 BASE,负元素的个数 存放在这20字数据块之后的单元中。LEA BX, BASEMOV CX , 20MOVDX , 0LOP1 : MOV AX , BXCMP AX , 0 ;可用 AND AX , AXJGEJUSINC DXJUS: INC BXINC BXDEC CXJNZ LOP1 ;或 LOOP LOP1INC BXMOV BX , DXHLT10、 已知存储器中存放有 100个8位带符号数,存储区的首地址为 ARRAY,试将其 中的最大值和最小值找出来 ,分别存放在 MAX和MIN单元中。LEA SI,ARRAYMOV

13、CX,100MOV AL,80H ;-128 送 ALLP1: CLCCMP AL,SIJL BBJMP AABB: MOV AL,SIAA: INC SILOOP LP1MOV MAX,AL;找出最大数JC NEXT;CF=1转 NEXTINC CH;CF=0则CH内容加1JMP AANEXT:INC CL;CF=1则CL内容加1AA:DEC DLJNZ LPHLT12、数据段中有两个字符串,分别存在STR1和STR2开始的单元中。比较两个字符13、编制一个程序,对DAT字节单元中的数 (255)分别统计出有多少个 10,余下有多少个 5,再余下有多少个 2,再余下有多少个 1。统计得到的各

14、数分别存在LEA SI,ARRAYMOV CX,100MOV AL,07FH ;+127 送 ALLP2: CLCCMP AL,SIJG CCJMP DDCC: MOV AL,SIDD: INC SILOOP LP2MOV MIN,AL ;找出最小数HLT11、统计寄存器AX内16位二进制数中0、1的个数, 0的个数存CH,1的个数存CL。MOV CX,0 ;清 CH、CLMOV DL,16 循环 16 次CLC ;清进位位LP: RCL AX,1 ;带CF循环左移DX为0,否则使 DX为0FFFFH;取源串首地址;取目的串首地址;字符串长度送计数寄存器;增地址;串比较;是否比较到最后字节;串

15、相等转EQQ否则0送DX寄存器;0FFFFH送DX寄存器DAT0、DAT1、DAT2、DAT3 中。方法一:LEA BX,DAT ;取首址MOV AL,BX;取这个字节数MOV AH,0 ;AH 清 0MOV DL,10 ;DIV DL 除 10MOV DAT0,AL ;商即10的个数MOV AL,AHMOV AH,0MOV DL,5DIV DL余数除5MOV DAT1,AL ;商即的个数MOV AL,AHMOV AH,0MOV DL,2MOV DAT2,ALMOV DAT3,AH;商即2的个数;余数即1的个数方法二:MOV BL , DAT;取数MOV CL , 0 ;计数个数AA :SUB

16、 BL , 10 ;减10JC BB ;借位转BBINC CL ;否则CL加1JMP AABB:MOV DAT0 , CL ;存 10 个数MOV CL , 0ADD BL , 10 ;恢复BL差值BB1 :SUB BL, 5余数除2DIV DLJC CCINC CLJMP BB1CC: MOV DAT1 , CL ;存 5 个数MOV CL , 0ADD BL , 5 ;恢复DD1 : SUB BL, 2JC DDINC CLJMP DD1DD : MOV DAT2 , CL ;存 2 个数ADD BL , 2MOV DAT3 , BL ;存 1 个数HLT14、写出实现下列功能的指令组(1

17、)传送10H到AL寄存器(2)将AL的内容乘以2(3)传送15H到BL寄存器(4)AL的内容乘以BL的内容 问:最后结果AX= ?15、计算Z= ( X+Y )X5-Y ) /2 。设X的值为2, Y的值为1 ,结果存入数据段中的DATA单元。16、编程检测50H端口输入的字节数据,若为正,将BL清0;若为负,将BL置为FFH。VR3 DD CONT DUP (?)VR4 DB 2 DUP (?, CONT DUP ( 0)VR5 DB HOW ARE YOU ?解:为VR1分配2字节;为VR2分配10字节;为VR3分配40字节;为22字节;为VR5分配12字节。2、下面语句有何区别?X1 E

18、QU 1000H和 X2= 1000H17、寄存器DX和AX的内容构成32位数,DX内容为高16位,AX内容为低16位, 编写程序段:1) 将该32位数左移两位,并将移出的高位保存在 CL的低两位中;2) 将该32位数右移两位,并将移出的低位保存在 BL的低两位中。数据段中以变址寄存器 SI为偏移地址的内存单元中连续存放着十个字节压缩型 BCD解:为X1赋值1000H,之后,不能再对X1重新赋值;为X2赋值1000H, 以再对X2重新赋值。3、分析操作符有哪几种?分别举例加以说明解:(1)SEG 符号名如 : MOV AX,SEG DATA码,编程求它们的BCD和,要求结果存放到 AX中。第五

19、章习题1、下列语句在存储器中分别为变量分配多少字节 ?VR1 DW 9VR2 DW 4 DUP (?), 2CONTEQU 10(2) OFFSET 符号名女口: MOV AX,OFFSET DAT(3) TYPE 符号名 女口: MOV AX,TYPE A(4) SIZE 符号名 女口: MOV AX,SIZE D1(5) LENGTH 符号名女口: MOV AX,LENGTH D1注:DATA是段名;DAT是定义的变量名;A是定义的数据类型变量名DUP()定义的变量名。4、8086/8088 汇编语言程序中段的类型有几种 ,各段如何定义?段定义中型、组合类型、类别名各起什么作用,各有什么含

20、义?5、宏定义如下,请冋要把BX寄存器左移4位,如何进行宏调用?SHIFT MACRO X , Y, ZMOV CL , XSA&Y Z , CLENDMVR4分配之后,可D1是用,定位类6、某软件共可接收10个键盘命令(分别为A、B、C、J),完成这10个命令的 程序分别为过程 P0、P1、P9。编程序从键盘接收命令,并转到相应的过程去执 行。要求用两种方法:(1)用比较、转移指令实现。(2)用跳转表实现7、内存自BUF单元开始的缓冲区连续存放着 100个学生的英文分数,编程序统计其 中90-100、60-89、60以下者各有多少人,并把结果连续存放到自 RESUT开始的单 元(要求画出程序

21、流程图,各段定义完整)。程序清单:DATA SEGMENT;数据段BUF DB ?,?,?;疋义学生成绩表RESUT DB ?,?,?;放置分数段统计值DATA ENDSSTACK SEGMENT;堆栈段DB 50 DUP ( 0)STACK ENDSCODE SEGMENT;堆栈段ASSUME CS : CODE,DS: DATA, SS: STACKMAIN RPOC FARPUSH DSXOR AX, 0PUSH AX , 0 ;保护 DOSMOV AX , DATAMOV DS , AXLEA BX, BUF;成绩表首址MOV CX , 100;学生人数MOVAH , 0;低于60分人

22、数MOVDH , 0;60-89分学生人数MOVDL , 0;90-100分学生人数AAA1 :MOV AL , BXCMP AL , 60;与60比较JGE BBB1INC AHJMP CCC1;大于等于转BBB1BBB1 :CMP AL , 90;与90比较JGE BBB2INC DLJMP CCC1INC AH;大于等于转BBB2CCC1:INC BXLOOP AAA1;修改成绩表位置MOV RESUT ,AH ;存放统计结果MOV RESUT+1,DLMOV RESUT+2RETMAIN ENDP,DHCODE ENDSEND8、编程序一边从键盘上接收字符 ,一边将其写入指定的文件 ,

23、字符个数共60。程序清单:DATA SEGMENTENGLISH DB PRESS RETURN KEY TO EXIODH , OAH, $ BUF DB 60 ;第一个字节设的最大长度 (含0DH-回车符)DB 0 ;第二个字节空出,由DOS最后填实际长度(不含0DH)DB 61 DUP (0) ;第三字节开始写字符DB $DATA ENDSSTACK SEGMENTDW 20 DUP (0)STACK ENDSCODE SEGMENTASSUME CS:CODE,SS:STACK,DS:DATABEGIN: MOV AX,DATAMOV DS,AXLEA DX,ENGLISHMOV AH

24、,09HINT 21HLEA DX,BUFMOV AH,0AHINT 21HMOV AH,4CHINT 21HCODE ENDSEND BEGIN本题中,最多可输入60个字符,BUF中第61个内存单元可存放回车代码 。9、编制一个程序,实现DAT1和DAT2相加,数据格式如下DAT1 DB 4,12H,34H,56H,78HDAT2 DB 3,12H,34H,56H其中DAT1和DAT2单元的第一个数据指定该数的字节数 。DATA SEGMENT PARA DATADAT1 DB 4,12H,34H,56H,78HDAT2 DB 3,12H,34H,56HDATA ENDSSTACK SEGM

25、ENT PARA STACKDW 100 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATASTART PROC FARMOV AX,DATAMOV DS,AXMOV ES,AXLEA SI,DAT1LEA DI,DAT2MOV BX,SIMOV CX,DIINC SIINC DICLCMM: MOV AL,DIADC SI,ALINC DIINC SIDEC BXLOOP MMM1: JZ, M2JNC M2ADC BYTE PRT SI,0INC SIDEC BXJMP M1M2: RETSTART END

26、PCODE ENDSEND10、编制一程序,把字符串123456789(中的456清除,将字符串变为 123890DATA SEGMENT PARA DATA DAT DB 1234567890 DATA ENDSSTACK SEGMENT PARA STACK DW 100 DUPSTACK ENDSCODE SEGMENTASSUME CS:CODE,SS:STACK,DS:DATA,ES:DATASTART PROC FARMOV AX,DATAMOV DS,AXMOV ES,AXLEA SI,DATLEA DI,DATCLCADD DI,3ADD SI,7MOV CX,3CLDREP

27、MOVSBRETSTART ENDPCODE ENDSENDS11、 定义一条宏指令,它可以实现任一数据块的传送 ,只要给出源和目的数据块的 首地址以及数据块的长度即可 。然后采用宏调用把 BUF1开始的100个字节单元中的 数据依次传送到 BUF2开始的100个字节单元中。12、 已知数据段DAT单元存放某一数N (-6 WN W6),请编写程序,用查表法求数N 的平方值,结果送SQR单元。DATA SEGMENTTABLE DB 0 , 1, 4, 9 , 16 , 25 , 36DAT DB NSQR DB ?DATA ENDSSTACK SEGMENTDW 20 DUP ( 0)STA

28、CK ENDSASSUME CS : CODE,DS: DATA,SS: STACKSTART:PUSH DSXOR AX,AXPUSH AXLEA BX,TABLEMOVAL ,DATCMP AL,6JG AACMP AL,-6JGE NEXTJMP AANEXT:XLATMOVSQR,alAA :RETCODE ENDSEND第六章习题CODE SEGMENT1、可编程并行接口芯片 8255A面向I/O设备一侧的端口有几个 ?其中C 口的使用有哪些特点?4、 试编写程序,将从8255A的端口 A输入的数据,随即向端口 B输出,并对输入的 数据加以判断,当大于等于80H时,置位PC5和PC2,否则复位PC5和PC2。设 825

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

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