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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

微机原理习题参考答案黄冰版Word下载.docx

1、00EAH 我们可以看到不同段的段地址,在不同的偏移地址下,可以对应相同的物理地址,也就相同的存储空间。说明在分配段时是重叠的.2.4 每个段区最大可占用64KB的地址范围,因为寄存器都是16位的,216B=64KB。不允许重叠,则最多可分16个段区,因为8086CPU有20条地址线,寻址范围1MB,1MB/64KB=16个。2.6指令目的操作数寻址方式源操作数寻址方式 MOV ARRAY, BX直接寻址寄存器寻址ADC CX, ALPHABXSI带位移的基址变址寻址AND GAMMADI,11011000B带位移的变址寻址立即数寻址INC BL隐含寻址TEST ES:SI, DX寄存器间接寻

2、址SBB SI, BP1源操作数是立即数寻址,AX=1200H2源操作数是寄存器寻址,AX=BX=0100H3源操作数是直接寻址,将2000H10H+1200H=21200H和21201H的内容取出,赋给AX=4C2AH4源操作数是寄存器间接寻址,将2000H10H+0100H=20100H和20101H的内容取出,赋给AX=3412H5源操作数是寄存器相对寻址,将2000H10H+0100H+1100H=21200H和21201H的内容取出,赋给AX=4C2AH6源操作数是基址变址寻址,将2000H10H+0100H+0002H=201002和201003H的内容取出,赋给AX=7856H7

3、源操作数是基址变址相对寻址, 将2000H10H+0100H+0002H+1100H=21202H和21203H的的内容取出,赋给AX=65B7HMOV AX, 00ABH跟随在指令后,有cs:ip决定MOV AX,BX在寄存器中MOV AX,100H2000H10H+100H=20100HMOV AX,BX10H+0100H=20100HMOV AX,BP1500H10H+0010H=15010HMOV AX,BX+10注意是十进制 带位移的基址寻址10H+0100H+0AH=2010AHMOV AX,BXSI基址变址寻址10H+0100H+00A0H=201A0HMOV AX,VAL10H

4、+0050H=20050HMOV AX,ES:BX2100H10H+0100H=21100HMOV AX,SI10H+00A0=200A0HMOV AX,VALBX10H+0100H+0050H=20150HMOV AX,VALBXSI10H+0100H+00A0H+0050H=201F0H2.9指令 Sp 值PUSH CX1FFAH66H1FFBH55HPUSH BX1FFCH44H1FFDH33HPUSH AX1FFEH22H1FFFH11Hsp POP AXAX=5566HBX=3344HPOP CXCX=3344HSP=1FFEH2.10AX 的值MOV AX,0AX=0000HDEC

5、 AXAX=0FFFFHADD AX,7FFFHAX=7FFEHADD AX,2AX=8000HNOT AXAX=7FFFHSUB AX,0FFFFHADD AX,8000HOR AX,0BFDFHAX=0BFDFHAND AX,0EBEDHAX=0ABCDHXCHG AH,ALAX=0CDABHSAL AX,1AX=9B56H (CF=1)RCL AX,1AX=36ADH (AF=1)0110 0010 1010 0000B+ 1001 1101 0110 0000B1 0000 0000 0000 0000B (0000H) AF=0,SF=0,ZF=1,CF=1,OF=0,PF=1 01

6、10 0010 1010 0000B+ 0100 0011 0010 0001B 1010 0101 1100 0001B (0A5C1H) AF=0,SF=1,ZF=0,CF=0,OF=1,PF=0 0001 0010 0011 0100B 0100 1010 1110 0000B 1011 0101 0010 0000B补码形式 1100 0111 0101 0100B0C754H AF=0 SF=1 ZF=0 CF=1 OF=0 PF=0 1001 0000 1001 0000B 0100 1010 1110 0000B 1011 0101 0010 0000B补码形式 0100 010

7、1 1011 0000B (45B0H) AF=0 SF=0 ZF=0 CF=0 OF=1 PF=1 1BX=009AH2BX=0061H3BX=00FBH4BX=001CH5BX=0000H6BX=00E3H (本条语句只对标志位有影响,不存贮结果)BX=0110 1101 0001 0110=6D16HBX=0000 0000 1101 1010=00DAH1DX=0000 0000 1011 1001 DX= 0000 0000 0101 1100=005CH2DX=0000 0000 1011 1001 DX= 0000 0000 0001 0111=0017H3DX=0000 000

8、0 1011 1001 DX= 0000 0101 1100 1000=05C8H4DL= 1011 1001 DX=0000 0000 0111 0010=0072H5DX=0000 0000 1011 1001 DX=0010 0000 0001 0111=2017H6DL= 1011 1001 DX= 0000 0000 1100 1101=00CDH7DH=0000 0000 DX=0000 0000 1011 1001=00B9H8DX=0000 0000 1011 1001 DX=0000 0101 1100 1100=05CCH CF=09DL= 1011 1001 DL=000

9、0 0000 1101 1100=00DCH CF=1方法一: 循环移位 方法二:逻辑右移MOV CL,04H MOV CL,04HROL AL,CL SHR AL,CL第三章宏汇编语言程序设计3.1 1AX=0001H;2AX=0002H3CX=0014H4DX=0028H5CX=0001H1 ARRAY DB 56H,78,0B3H,1002 DATA DW 2965H,45H,2965,0A6H3 ALPHA DW 0C656H,1278H4 BETA DB 2 DUP23,5 DUPA,10 DUP1,2,20 DUP?5STRING DB THIS IS A EXAMPE6COUNT

10、 EQU 10000H01H?42H41H43H1DH1FH (1) (2) BYTE_VARR4CH7657H03HDATA_SEG SEGMENTDATA1 DB DATA SEG,MENTDATA2 DB 72,65,-10DATA3 DB 109,98,21,40DATA4 DB 10 DUP(0)DATA5 DB 12345DATA6 DW 7,9,298,1967DATA7 DW 785,13475DATA8 DW DB ($-DATA6)-(DATA6-DATA1)DATA_SEG ENDS1 MOV BX, OFFSET BUF12) MOV CL BYTE PTR BUF2+

11、23) MOV BUF3+9, A6H4) COUNT EQU BUF3-BUF1APPAY DB 10 DUP (29H)ALPHA DB -25,4,10,76,3BUFFER DB 100 DUP(?)BCD1 DB ?,?BCD2 DB ?CODE SEGMENT ASSUME CS:CODE, DS:DATA_SEG,ES:DATA_SEGSTART: MOV AX,DATA_SEGMOV DS,AXMOV DS, AXMOV CL, 04HMOV SI, OFFSET BCD1MOV AL, SISAL AL,CLMOV BL,SI+1AND BL,0FHADD AL,BLMOV

12、BCD2,ALMOV AH,4CHINT 21HCODE ENDSEND START 1) MOV CH, 32H CH=32H 2) ADD CH, 2AH CH=5CH 3) SHL CH, 1 CH=0B8H 4) MOV BXNUM+9,CH CH=0B8HX DB ?Y DB ?W DB ?Z DB ?R DB ? MOV AX, DATA_SEGMOV AL, WSUB AL, XCBW IDIV 0AHMOV R, AHIMUL YIMUL AXMOV AH, 4CHSTR1 DB THIS IS A DOGSTR2 DB THIS IS A COCKCOUNT DB $-STR

13、2NUM DB ? CODE, DS: MOV AX, DATA_SEGMOV DS, AXMOV ES, AXMOV CH,0MOV CL, COUNTCLDMOV SI,OFFSET STR1MOV DI,OFFSET STR2REPZ CMPSBAND SI,000FHMOV AX,SIMOV NUM, AL3.16 DATA SEGMENT SRCBUF DB 80 DUP? DSTBUF DB 80 DUP? DATA ENDS CODE SEGMENT ASSUME CS: CODE, DS:DATA START: MOV AX,DATA MOV DS, AX MOV SI, OF

14、FSET SRCBUF MOV DI, OFFSET DSTBUF MOV CX, 80 LOP1: MOV AL,SI INC SI CMP AL,ODH JE NEXT MOV DI,AL INC DI NEXT:LOOP LOP1 MOV AH,4CH INT 21H CODE ENDS END START3.17 DATA SEGMENT BUF DB n DUP (? SUM DB O CODE SEGMENT START: MOV AX, DATA MOV DS, AX MOV CX, n MOV SI, OFFSET BUF LOP1: MOV AL, SI CMP AL,O J

15、GE NEXT INC SUM NEXT: LOOP LOP1 MOV AH, 4CH3.18 DATA SEGMENT BUF DW n DUP(? BUF1 DW n DUP(? BUF2 DW n DUP(?DATA ENDS MOV DI, OFFSET BUF1 MOV BX, OFFSET BUF2 MOV AX, SI INC SI CMP AX, 0000H JGE NEXT1 MOV BX, AX ADD BX, 02H JMP LOP2 NEXT1: MOV DI, AX ADD DI, 2 LOP2:STACK SEGMENT STACK DB 256 DUP?STACK

16、 ENDSBUF DB This is a string,$DATA ENDSCODE SEGMENT ASSUME CS:CODE. DS:DATA; SS:STACK MOV SI,OFFSET BUF TACKCHAR: MOV DL,SI CMP DL,$ JZ DONE CMP DL,a JB NEXT SUB DL,20H MOV AH,02H MP TAKECHAR DONE: MOV AH,4CH INT 21H320 DATA_SEG SEGMENT DATX DB ? DATY DB ? DATZ DB ? MOV DS,AXMOV AL,DATXMOV BL,DATY C

17、MP AL,BL JS NEXT MOV DATZ,AL JMP DONENEXT: MOV DATZ,BLDONE: MOV AH,4CH INT 21H DATA DB ? DATB DB ? DATC DB ? DATD DB ? CMP DATA,0 JZ NEXT CMP DATB,0 JZ NEXT CMP DATC,0 MOV AL,DATA ADD AL,DATB ADC AL,DATC MOV DATD,AL JMP DONE MOV DATA,0MOV DATB,0 MOV DATC,03.22 程序段是将十六进制数的ASSII码转化为十六进制数.本例是将大写字母A的ASC

18、II变为十六进制数,将结果存入字符变量HEXNUM中。HEXNUM变量中原来的内容未知,程序段执行后的内容是字符A的十六进制数0A N=10DATA1 DB N DUP(?) DATA2 DB N DUP(? ADR1 DW ? ADR2 DW ? DATA_SEG ENDSLEA SI, DATA1LEA DI,DATA2MOV CX, NLOP1: MOV AH,SICMP AH,DI JNZ NOTEQUINC SIINC DIMOV AH,0FFHSAHFJMP DONENOTEQU: MOV AH,0MOV ADR1,SIMOV ADR2,DICOUNT=100BUF DB COUN

19、T NUP(?MAX DB ?MOV SI, OFFSET BUFMOV CX,COUNT MOV AH,1MOV SI, ALLOOP LOP1MOV SI,OFFSET BUFLOP2:CMP AL, SI+1JA NEXT2XCHG AL,SI+1NEXT2:LOOP LOP2MOV MAX,AL BUF DB 10 DUP(?STR1 DB Do you want input number(y/n)?,0DH,0AH,$STR2 DB Please input the numbers ,0DH,0AH,$ MAX DB ? MIN DB ?MOV DX,OFFSET STR1MOV AH,09HMOV DX,OFFSET STR2MOV CX,10MOV AH,1MOV CX,9LOP3: CMP AL, SI+1JB NEXT3NEXT3:LOOP LOP3MOV MIN,ALMOV AH,

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

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