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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

微机接口答案.docx

1、微机接口答案第三章1. 分别说明下列指令的源操作数和目的操作数各采用什么寻址方式。( 1)MOV AX,2408H (2)MOV CL, 0FFH ( 3)MOV BX,SI( 4)MOV 5BX, BL (5)MOV BP+100H, AX (6)MOV BX+DI, $( 7)MOV DX,ES:BX+SI (8)MOV VALBP+DI,DX(9)IN AL ,05H (10)MOV DS,AX 答:( 1)立即数,寄存器 ( 2)立即数,寄存器 (3)寄存器间接,寄存器( 4)寄存器,寄存器相对 ( 5)寄存器,寄存器相对 (6)立即数,基址变址( 7)基址变址,寄存器 (8)寄存器,

2、相对基址变址( 9)直接端口寻址,寄存器 (10)寄存器,寄存器2. 已知:DS=1000H BX=0200H SI=02H,内存 10200HH 10205H 单元的内容分别为 10H,2AH, 3CH 46H, 59H, 6BH下列每条指令执行完后 AX寄存器的内容各是什么?(1)MOV AX,0200H (2)MOV AX,200H ( 3) MOV AX,BX(4)MOV AX,3BX (5)MOV AX,BX+SI (6)MOV AX,2BX+SI答:(1)0200H (2)2A10H ( 3)0200H( 4) 5946H ( 5) 463CH ( 6) 6B59H3. 设 DS=

3、1000H,ES=2000H,SS=3500H,SI=00A0H,DI=0024H,BX=0100H,BP=0200H, 数据段中变量名为 VAL的偏移地址值为0030H,试说明下列源操作数字段的寻址方式是什 么?物理地址值是多少?(1) MOV AX,100H (2) MOV AX,VAL (3) MOV AX,BX( 4) MOV AX,ES: BX (5) MOV AX,SI (6) MOV AX,BX+10H( 7) MOV AX,BP ( 8) MOV AX,VALBPSI( 9) MOV AX,VALBXDI ( 10) MOV AX,BPDI答:( 1)直接, 10100H (2

4、)直接, 10030H (3)寄存器间接 ,10100H( 4)寄存器间接, 20100H ( 5)寄存器间接 ,100A0H ( 6)寄存器相对, 10110H( 7)寄存器间接, 35200H ( 8)相对基址变址, 352D0H( 9)相对基址变址, 10154H ( 10)基址变址, 35224H4. 写出下列指令的机器码( 1) MOV AL,CL (2) MOV DX,CX (3) MOV BX+100H,3150H答:( 1 ) 10001010 11000001B( 2) 10001011 11010001B( 3) 11000111 10000111 00000000 000

5、00001 01010000 00110001B5. 已知程序的数据段为:DATA SEGMENTA DB $ ,10HB DB COMPUTERC DW 1234H, 0FFHD DB 5 DUP(?)E DD 1200459AHDATA ENDS 求下列程序段执行后的结果是什么。MOV AL, AMOV DX, CXCHG DL, AMOV BX, OFFSET BMOV CX, 3BXLEA BX, DLDS SI, ELES DI, E答: MOV AL, A AL=24HMOV DX, C DX=1234HXCHG DL, A DL=24H, A=34HMOV BX, OFFSET

6、B BX=2MOV CX, 3BX CX=5550HLEA BX, D BX=000EHLDS SI, E DS=1200H, SI=459AHLES DI, E ES=1200H, DI=459AH6. 指出下列指令中哪些是错误的,错在什么地方。(1)MOV DL,AX ( 2) MOV 8650H, AX (3)MOV DS, 0200H(4)MOVBX ,1200H (5)MOVIP,0FFH ( 6) MOV BX+SI+3 , IP(7)MOVAX,BXBP (8)MOVAL,ES: BP (9) MOV DL, SIDI( 10)MOVAX,OFFSET0A20H(11)MOVAL

7、,OFFSE TABLE(12) XCHGAL,50H ( 13)IN BL,05H (14) OUTAL, 0FFEH答:( 1)长度不匹配 ( 2)立即数不能做目的操作数( 3)段寄存器不能用立即数赋值 ( 4)两个内存单元不能直接传送数据( 5)IP 不能用指令直接修改 (6)指令中不能出现 IP(7)BX/BP 应与 SI/DI 搭配 ( 8)正确(9) SI/DI 应与BX/BP 搭配 (10) OFFSET后应跟内 存单元(11)偏移地址为16位,AL长度不够 (12)立即数 不能用于 XCHG(13) IN 必须用 AL/AX (14)操作数顺序反向;地址 应为 8 位7. 已知

8、当前数据段中有一个十进制数字 09的7段代码表,其数值依次为 40H,79H, 24H,30H, 19H, 12H, 02H, 78H, 00H, 18H。要求用 XLAT 指 令将十进制数 57 转换成相应的7 段代码值, 存到 BX 寄存器中, 试写出相应的程序段。 答: DATA SEGMENTTABLEDB 40H, 79H, 24H, 30H, 19H, 12H, 02H, 78H, 00H, 18HDATA ENDSMOV AL, 5 MOV BX, OFFSET TABLEXLAT TABLE MOV CL, ALMOV AL, 7XLAT TABLEMOV BL, ALMOV

9、BH, CL8. 已知当前 SS=1050H, SP=0100H,AX=4860H,BX=1287H, 试用示意图表示执行下列指令过程中,堆栈中的内容和堆栈指针 SP 是怎样变化的。PUSH AXPUSH BXPOP BXPOP AX(1)指9. 下列指令完成什么功能?(1) ADDAL, DH (2) ADCBX, CX (3) SUBAX 2710H(4) DEC BX (5) NEG CX ( 6) INC BL(7) MUL BX (8) DIV CL答:(1) AL+DIHAL (2) BX+CX+CRBX (3) AX-2710H AX( 4) BX-1 BX (5) O-CX C

10、X (6) BL+1BL(7) AX*B DX AX (8) AX/CL 商AL,余数AH10. 已知 AX=2508H BX=0F36H CX=0004H DX=1864H 求下列每条指令执行后的结果是什么?标志位 CF等于什么?(1) AND AH CL ( 2) OR BL, 30H (3) NOT AX(4) XORCX 0FFF0H (5) TESTDH, 0FH (6) CMPCX, 00H(7) SHR DX CL (8) SAR AL, 1 (9) SHL BH CL (10) SAL AX, 1 (11) RCL BX, 1 (12) RORDX, CL答:(1) AX=04

11、08H CF=0 (2) BX=0F36H CF=0(3) AX=0DAF7H CF 不变 (4) CX=0FFF4H CF=0(5) DX=01864H CF=0 (6) CX=0004H CF=0(7)DX=0186H,CF=0 (8)AX=2504H, CF=0(9) BX=0F036H,CF=0 (10) AX=4A10H,CF=0( 11) BX=1E6C/1E6DH, CF=0 (12)DX=4186H,CF=011. 假设数据段定义如下:DATA SEGMENTSTRING DB The Personal Computer & TV DATA ENDS试用字符串操作等指令编程完成

12、以下功能:(1 )把该字符串传送到附加段中偏移量为 GET_CHAR开始的内存单元中。(2)比较该字符串是否与 he Computer相同,若相同 则将 AL 寄存器的内容置 1,否则置0。并要求将比较次数送到 BL 寄存器中。( 3)检查该字符串是否有 &,若有则用空格字符将其 替换。(4)把字符串大写字母传送到附加段中以 CAPS开始的单元中,其余字符传到以 CHART开始的单元中。 然后将数据段中存储上述字符串的单元 清 0 。答:( 1) CLDLEA SI,STRINGLEA DI,GET_CHARMOV CX,26REP MOVSB( 2)补充在附加段定义STRING1 DB Th

13、e computer MOV AL,1CLDLEA SI,STRINGLEA DI,STRING1MOV CX,12REPZ CMPSBJZ SKIPMOV AL,0SKIP: MOV BX,12SUB BX,CX(3) MOV AX, DATAMOV ES, AXCLDMOV AL,&LEA DI,STRINGMOV CX,26NEXT: REPNE SCASBJZ FINDJMP EXITFIND: MOV BYTE PTR DI-1, JCXZ EXITJMP NEXTEXIT:(4) LEA SI,STRINGLEA DI,CAPSLEA BX,CHARTMOV CX,26NEXT:

14、MOV AL, SICMP AL,AJB OTHERCMP AL,ZJA OTHERMOV ES:DI,ALINC DIJMP SKIPOTHER: MOV ES:BX,ALINC BXSKIP: MOV BYTE PTRSI,0INC SILOOP NEXT12. AX 中的内容不编程将 AX 寄存器中的内容以相反的顺序传送到 DX 寄存器中,并要求 被破坏,然后统计 DX 寄存器中 1的个数是多少。答: MOV BL,0PUSH AXMOV DX,0MOV CX,16NEXT: SHL AX,1JNC SKIPINC BLSKIP: RCR DX,1LOOP NEXTSTOP: POP A

15、X13. 设 CS=1200H IP=0100H, SS=5000H SP=0400H DS=2000H SI=3000H , BX=0300H (20300H) =4800H, ( 20302H) =00FFH TABLE=0500H PROG_N标号的地址为 1200:0278H, PROG_F标号的地址为3400H: 0ABCH说明下列每条指令执行完后,程序将分别 转移到何处执行?(1) JMP PROG_N2) JMP BX3) JMP BX(4) JMP FAR PROG_F(5) JMP DWORD PTR BX如将上述指令中的操作码 JMP改成CALL,则每条指令执行完后,程序转

16、向何处执行?并 请画图说明堆栈中的内容和堆栈指针如何变化。答:(1) 1200H: 0278H(2) 1200H: 0300H3) 1200H: 4800H(4)3400H: 0ABCH5)00FFH: 4800H将操作码JMP改成CALL后:(1) 1200H: 0278H指令长度为 3,贝U IP=0100H+3=0103H,入栈C 1 12OOH: 0C17EH扌H 争民廈角 3” m 0100&-3-0103H. 人程指令长度为2,则IP=0100H+2=0102H,入栈50OOH. (W00H5000H. 03FCHO2HO1H5OO0H- 03FEHOOHIZH2 04QQH(5)

17、 00FFH: 4800H14.在下列程序段括号中分别填入以下指令(1) LOOP NEXT (2) LOOPE NEXT (3) 试说明在这三种情况下,程序段执行完后,LOOPNE NEXTAX BX, CX, DX的内容分别是什么START: MOV AX,01HMOV BX,02HMOV DX,03HMOV CX,04HNEXT: INC AXADD BX,AXSHR DX,1( )答:( 1) AX=05H BX=10H CX=0 DX=0(2) AX=02H BX=04H CX=03H DX=01H(3) AX=03H BX=07H CX=02H DX=015. 某班有7个同学英语成

18、绩低于 80分,分数存在ARRAY数组中,试编程完成以下工作:(1) 给每人加5分,结果存到NEW数组中(2) 把总分存到SUM单元中答: DATA SEGMENTARRAY DB?,?,?,?,?,?,?NEW DB 7 DUP(?)SUM DW 0DATA ENDSMOV AX, DATAMOV DS, AX( 1 ) LEA SI,ARRAYLEA DI,NEWMOV CX,7NEXT: MOV AL, SIADD AL, 5MOV DI, ALINC SIINC DILOOP NEXT( 2) LEA SI , ARRAYCLCSP5OOOH:OOOOH5OOOH:O3FCH5OOOH

19、:O3FEH5OOOH:O4OOHMOV CX, 7NEXT1: MOV AL, SIMOV AH, 0ADC SUM, AXINC SILOOP NEXT116. 中断向量表的作用是什么?它放在内存的什么区域内?中断向量表中的什么地址用于 类型 3 的中断?答:中断向量表用来存放中断服务程序的入口地址。 8086 的 256 类中断的入口地址要占用1K字节,位于内存 OOOOOHH 003FFH的区域内。中断向量表中 OOOOCHH OOOOFH用于类型 3 的中断。17. 设类型2的中断服务程序的起始地址为 O485: OO16H,它在中断向量表中如何存放?答:物理地址 内容OOOO8H

20、16HOOOO9H OOHOOOOAH 85HOOOOBH O4H18. 若中断向量表中地址为 0040H中存放240BH, 0042H单元里存放的是 D169H试问:( 1)这些单元对应的中断类型是什么?( 2)该中断服务程序的起始地址是什么?答:( 1 ) 1OH( 2)D169H:240BH19. 简要说明8086响应类型04中断的条件是什么?答:类型 0:除法错中断执行除法指令时,若除数为 0 或所得商超过寄存器能容纳的范围,则自动产生类型 0 中断。类型 1:单步中断若CPU的单步标志TF=1,则每执行完一条指令后,自动产生类型 1中断。类型 2:不可屏蔽中断 NMI当 8086 的

21、 NMI 引脚上接收到由低变高的电平变化时,将自动产生类型 2 中断。类型 3:断点中断 若在程序中某位置设置断点,当程序执行到该断点时,则产生类型 3 中断。类型 4:溢出中断若溢出标志OF=1,则可由溢出中断指令 INTO产生类型4中断。 第四章1. 下列变量各占多少字节?A1 DW 23H, 5876HA2 DB 3 DUP(?), 0AH,0DH, $A3 DD 5 DUP(1234H, 567890H)A4 DB 4 DUP(3 DUP(1, 2, ABC)答: A1 占 4 个字节A2 占 6 个字节A3 占 40 个字节A4 占 60 个字节2. 下列指令完成什么功能?MOV A

22、X,00FFH AND 1122H+3344HMOV AL, 15 GE 1111BMOV AX,00FFH LE 255+6/5AND AL, 50 MOD 4OR AX, 0F00FH AND 1234 OR 00FFH答:( 1 )将 0066H 传送给 AX(2)将 0FFH 传送给 AL( 3)将 0FFFFH 传送给 AX(4) AND AL,02H(5) OR AX,00FFH3. 有符号定义语句如下:BUF DB 3,4,5, 123ABUF DB 0L EQU ABUF-BUF 求 L 的值为多少? 答: L=64. 假设程序中的数据定义如下:PAR DW ?PNAME DB

23、 16 DUP(?)COUNT DD ?PLENTH EQU $-PAR求PLENTH的值为多少?表示什么意义?答:PAR的偏移地址为0,PLENTH当前偏移地址$=2+16+4=22, $-PAR=22,故PLENTH 的值为 22。若在PLENTH所在行有变量定义,则$表示该变量的偏移地址,即 $表示PLENTH所在 行的当前偏移地址。故 PLENTH表示从当前行到PAR之间定义的变量所占的字节个数。5. 对于下面的数据定义,各条 MOV指令执行后,有关寄存器的内容是什么? DA1 DB ?DA2 DW 10 DUP(?)DA3 DB ABCDMOV AX, TYPE DA1MOV BX,

24、 SIZE DA2MOV CX, LENGTH DA3答: AX=1,BX=20,CX=16. 下段程序完成后, AH 等于什么?IN AL, 5FHTEST AL, 80HJZ L1MOV AH, 0JMP STOPL1: MOV AH, 0FFHSTOP: HLT答:讨论从端口 5FH输入的数据最高位的情况。若最高位为 1,则AH=0若最高位为0,则 AH=0FFH。7. 编程序完成下列功能:( 1 )利用中断调用产生 5 秒延时。(2)利用中断调用,在屏幕上显示 19之间随机数。答:( 1)可以利用中断类型 1CH 来处理,因为在系统时钟的中断处理程序中,时钟中断一 次要调用一次INT

25、1CH,即每隔55ms,产生一次1CH中断,要产生5秒延时,只要中断 5s/55ms=91 次即可。又因 1CH 中断处理程序中只有一条 IRET 指令,故可将用户的程序代 替原有的 INT 1CH 程序。DATA SEGMENTCOUNT DW 91 ;计数器MESS DB5s delayed! ,0AH,0DH, $DATA ENDSCODE SEGMENTMAIN PROC FARASSUME CS:CODE,DS:DATA,ES:DATASTART: PUSH DSMOV AX,0PUSH AXMOV AX,DATAMOV DS,AXMOV AL,1CH ;得到原中断向量MOV AH,35HINT 21HPUSH ES ;存储原中断向量PUSH BXPUSH DSMOV DX,OFFSET DELAY DELAY 的偏移地址和段地址MOV AX,SEG DELAYMOV DS,AXMOV AL,1CH ;设置中断向量MOV AH,25HINT 21HPOP DSIN AL,21H ;设置中断屏蔽位AND AL,0FEHOUT 21H,ALSTIMOV DI,2000H ;主程序延迟,在执行此段程序期间A1: MOV SI,3000H ;产生中断A2: DEC SIJNZ A2DEC DIJNZ A1POP DX ;取原中断向量POP DSMOV AL,1CH

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

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