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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、微机原理习题参考答案黄冰版微机原理与接口技术第一章 绪论 +6510=01000001B +65补=+65原=01000001B +11510=01110011B +115补=+115原=01110011B -6510=11000001B -65补=10111111B-11510=11110011B -115补=10001101B方法:正数的原码、反码、补码相同负数的补码在原码的基础上除过符号外,先取反,再加1。+12010=0000000001111000B +120补=+120原=000000001111000B -12010补+23010=0000000011100110B +230补=

2、+230原=0000000011100110B-23010补方法:与上题相同,只是扩展了位数,用16位表示55 00110111 89 01011001 -115 11110011 -7总结:知道补码,求原码(或数值)的方法:如果是正数,直接转换。如果是负数用以下三种方法:1根据X补补=X 求得例如10001101 各位取反 11110010 加一 11110011转换 -1152求补的逆运算例如:11111001 先减一 11111000 各位取反 10000111 转换 -7-(模+补码转换结果)例如:10001101转换 -13模+补码转换结果 128-13=115 加负号 115此题问

3、题不太明确例如:如果手边有手册或是知道产品的型号,就可从手册中查到微处理器的处理位数。也可以根据系统总线得知。因为系统总线是公共的数据通道,表现为数据传输位数和总线工作时钟频率。第二章 intel 8086 微处理器2.2 75422H 字节单元:9CH 字单元:249CH 75424H 字节单元:5DH 字单元:0E65Dh根据物理地址=段地址*10H+偏移地址得到:段地址偏移地址物理地址1000H117AH1117AH1025H0F2AH1117AH1109H00EAH1117AH 我们可以看到不同段的段地址,在不同的偏移地址下,可以对应相同的物理地址,也就相同的存储空间。说明在分配段时是

4、重叠的.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寄存器间接寻址寄存器寻址SBB SI, BP寄存器寻址寄存器间接寻址1源操作数是立即数寻址,AX=1200H2源

5、操作数是寄存器寻址,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源操作数是基址变址相对寻址, 将2000H10H+0100H+00

6、02H+1100H=21202H和21203H的的内容取出,赋给AX=65B7H指令源操作数寻址方式物理地址MOV AX, 00ABH立即数寻址跟随在指令后,有cs:ip决定MOV AX,BX寄存器寻址在寄存器中MOV AX,100H直接寻址2000H10H+100H=20100HMOV AX,BX寄存器间接寻址2000H10H+0100H=20100HMOV AX,BP寄存器间接寻址1500H10H+0010H=15010HMOV AX,BX+10注意是十进制 带位移的基址寻址2000H10H+0100H+0AH=2010AHMOV AX,BXSI基址变址寻址2000H10H+0100H+0

7、0A0H=201A0HMOV AX,VAL直接寻址2000H10H+0050H=20050HMOV AX,ES:BX寄存器间接寻址2100H10H+0100H=21100HMOV AX,SI寄存器间接寻址2000H10H+00A0=200A0HMOV AX,VALBX带位移的基址寻址2000H10H+0100H+0050H=20150HMOV AX,VALBXSI带位移的基址变址寻址2000H10H+0100H+00A0H+0050H=201F0H2.9指令 Sp 值PUSH CX1FFAH66H1FFBH55HPUSH BX1FFCH44H1FFDH33HPUSH AX1FFEH22H1FF

8、FH11H指令sp值 POP AX1FFCHAX=5566HBX=3344HPOP CX1FFEHCX=3344HSP=1FFEH2.10指令AX 的值MOV AX,0AX=0000HDEC AXAX=0FFFFHADD AX,7FFFHAX=7FFEHADD AX,2AX=8000HNOT AXAX=7FFFHSUB AX,0FFFFHAX=8000HADD AX,8000HAX=0000HOR AX,0BFDFHAX=0BFDFHAND AX,0EBEDHAX=0ABCDHXCHG AH,ALAX=0CDABHSAL AX,1AX=9B56H (CF=1)RCL AX,1AX=36ADH

9、(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 0110 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 0100B0

10、C754H 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 0101 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=000

11、0 0000 1011 1001 DX= 0000 0000 0101 1100=005CH2DX=0000 0000 1011 1001 DX= 0000 0000 0001 0111=0017H3DX=0000 0000 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

12、0000 DX=0000 0000 1011 1001=00B9H8DX=0000 0000 1011 1001 DX=0000 0101 1100 1100=05CCH CF=09DL= 1011 1001 DL=0000 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,

13、45H,2965,0A6H3 ALPHA DW 0C656H,1278H4 BETA DB 2 DUP23,5 DUPA,10 DUP1,2,20 DUP?5STRING DB THIS IS A EXAMPE6COUNT EQU 10000H00H01H00H00H00H00H01H00H00H00H01H00H00H00H01H00H00H00H01H?42H41H44H43H1DH1FH (1) (2) BYTE_VARR41H42H43H44H4CH7657H?01H03H01H03HDATA_SEG SEGMENTDATA1 DB DATA SEG,MENTDATA2 DB 72,6

14、5,-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+23) MOV BUF3+9, A6H4) COUNT EQU BUF3-BUF1DATA_SEG SEGMENTAPPAY DB 10 DUP (29H)ALPHA DB -25,4,10,76,3BUFFER DB

15、100 DUP(?)DATA_SEG ENDSDATA_SEG SEGMENTBCD1 DB ?,?BCD2 DB ?DATA_SEG ENDSCODE 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 BCD2,ALMOV AH,4CHINT 21HCODE ENDSEND START 1) MOV CH

16、, 32H CH=32H 2) ADD CH, 2AH CH=5CH 3) SHL CH, 1 CH=0B8H 4) MOV BXNUM+9,CH CH=0B8HDATA_SEG SEGMENTX DB ?Y DB ?W DB ?Z DB ?R DB ?DATA_SEG ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATA_SEG,ES:DATA_SEGSTART: MOV AX, DATA_SEGMOV DS, AXMOV DS, AXMOV AL, WSUB AL, XCBW IDIV 0AHMOV R, AHIMUL YIMUL AXMOV AH, 4CHIN

17、T 21HCODE ENDSEND STARTDATA_SEG SEGMENTSTR1 DB THIS IS A DOGSTR2 DB THIS IS A COCK COUNT DB $-STR2NUM DB ?DATA_SEG ENDSCODE SEGMENT ASSUME CS: CODE, DS:DATA_SEG,ES:DATA_SEGSTART: MOV AX, DATA_SEGMOV DS, AXMOV DS, AXMOV ES, AXMOV CH,0MOV CL, COUNTCLDMOV SI,OFFSET STR1MOV DI,OFFSET STR2REPZ CMPSBAND S

18、I,000FHMOV AX,SIMOV NUM, ALCODE ENDSEND START3.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, OFFSET 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

19、 LOP1 MOV AH,4CH INT 21H CODE ENDS END START3.17 DATA SEGMENT BUF DB n DUP (?) SUM DB O DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX, DATA MOV DS, AX MOV CX, n MOV SI, OFFSET BUF LOP1: MOV AL, SI INC SI CMP AL,O JGE NEXT INC SUM NEXT: LOOP LOP1 MOV AH, 4CH INT 21H CODE ENDS END START

20、3.18 DATA SEGMENT BUF DW n DUP(?) BUF1 DW n DUP(?) BUF2 DW n DUP(?)DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX, DATA MOV DS, AX MOV CX, n MOV SI, OFFSET BUF MOV DI, OFFSET BUF1 MOV BX, OFFSET BUF2 LOP1: MOV AX, SI INC SI INC SI CMP AX, 0000H JGE NEXT1 MOV BX, AX ADD BX, 02H JMP LOP2

21、 NEXT1: MOV DI, AX ADD DI, 2 LOP2: LOOP LOP1 MOV AH, 4CH INT 21H CODE ENDS END STARTSTACK SEGMENT STACK DB 256 DUP?STACK ENDS DATA SEGMENT BUF DB This is a string,$DATA ENDSCODE SEGMENT ASSUME CS:CODE. DS:DATA; SS:STACKSTART: MOV AX, DATA MOV DS, AX MOV SI,OFFSET BUF TACKCHAR: MOV DL,SI CMP DL,$ JZ

22、DONE CMP DL,a JB NEXT SUB DL,20H NEXT: MOV AH,02H INT 21H INC SI MP TAKECHAR DONE: MOV AH,4CH INT 21H CODE ENDS END START320 DATA_SEG SEGMENT DATX DB ? DATY DB ? DATZ DB ?DATA_SEG ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATA_SEGSTART: MOV AX,DATA_SEG MOV DS,AXMOV AL,DATXMOV BL,DATY CMP AL,BL JS NEXT MOV

23、 DATZ,AL JMP DONENEXT: MOV DATZ,BLDONE: MOV AH,4CH INT 21HCODE ENDSEND STARTDATA_SEG SEGMENT DATA DB ? DATB DB ? DATC DB ? DATD DB ?DATA_SEG ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATA_SEGSTART: MOV AX,DATA_SEG MOV DS,AX CMP DATA,0 JZ NEXT CMP DATB,0 JZ NEXT CMP DATC,0 JZ NEXT MOV AL,DATA ADD AL,DATB A

24、DC AL,DATC MOV DATD,AL JMP DONENEXT: MOV DATA,0MOV DATB,0 MOV DATC,0DONE: MOV AH,4CHINT 21HCODE ENDSEND START3.22 程序段是将十六进制数的ASSII码转化为十六进制数.本例是将大写字母A的ASCII变为十六进制数,将结果存入字符变量HEXNUM中。HEXNUM变量中原来的内容未知,程序段执行后的内容是字符A的十六进制数0ADATA_SEG SEGMENT N=10DATA1 DB N DUP(?) DATA2 DB N DUP(?) ADR1 DW ? ADR2 DW ? DATA_

25、SEG ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATA_SEGSTART: MOV AX, DATA_SEGMOV DS, AXLEA SI, DATA1LEA DI,DATA2MOV CX, NLOP1: MOV AH,SICMP AH,DI JNZ NOTEQUINC SIINC DILOOP LOP1MOV AH,0FFHSAHFJMP DONENOTEQU: MOV AH,0SAHFMOV ADR1,SIMOV ADR2,DIDONE:MOV AH,4CHINT 21HCODE ENDSEND STARTDATA_SEG SEGMENTCOUNT=10

26、0BUF DB COUNT NUP(?) MAX DB ?DATA_SEG ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATA_SEGSTART: MOV AX, DATA_SEG MOV DS, AXMOV SI, OFFSET BUFMOV CX,COUNTLOP1: MOV AH,1INT 21HMOV SI, ALINC SILOOP LOP1MOV SI,OFFSET BUFMOV CX,COUNTMOV AL, SILOP2:CMP AL, SI+1JA NEXT2XCHG AL,SI+1INC SINEXT2:LOOP LOP2MOV MAX,ALM

27、OV AH, 4CHINT 21HCODE ENDSEND STARTDATA_SEG SEGMENT 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 ?DATA_SEG ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATA_SEGSTART: MOV AX, DATA_SEGMOV DS, AXMOV DX,OFFSET STR1MOV AH,09HINT 21HMO

28、V DX,OFFSET STR2MOV AH,09HINT 21HMOV SI, OFFSET BUFMOV CX,10LOP1:MOV AH,1INT 21HMOV SI, ALINC SILOOP LOP1MOV SI,OFFSET BUFMOV CX,9MOV AL, SILOP2:CMP AL, SI+1JA NEXT2XCHG AL,SI+1INC SINEXT2:LOOP LOP2MOV MAX,ALMOV SI,OFFSET BUFMOV CX,9MOV AL, SILOP3: CMP AL, SI+1JB NEXT3XCHG AL,SI+1INC SINEXT3:LOOP LOP3MOV MIN,ALMOV AH,

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

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