欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

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

    • 资源ID:7414554       资源大小:76.42KB        全文页数:39页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

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

    2、111000B -120补=1111111110001000B+23010=0000000011100110B +230补=+230原=0000000011100110B-23010=1000000011100110B -230补=1111111100011010B方法:与上题相同,只是扩展了位数,用16位表示1.455 (00110111) 89 (01011001) -115 (11110011) -7总结:知道补码,求原码(或数值)的方法:如果是正数,直接转换。如果是负数用以下三种方法:1 根据X补补=X 求得例如10001101 各位取反 11110010 加一 11110011转换

    3、-1152 求补的逆运算例如:11111001 先减一 11111000 各位取反 10000111 转换 -7-(模+补码转换结果)例如:10001101转换 -13模+补码转换结果 128-13=115 加负号 1151.9本题问题不太明确例如:如果手边有手册或是知道产品的型号,就可从手册中查到微处理器的处理位数。也可以根据系统总线得知。因为系统总线是公共的数据通道,表现为数据传输位数和总线工作时钟频率。第二章 intel 8086 微处理器2.2 75422H 字节单元:9CH 字单元:249CH 75424H 字节单元:5DH 字单元:0E65Dh2.3根据物理地址=段地址*10H+偏

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

    5、址AND GAMMADI,11011000B带位移的变址寻址立即数寻址INC BL寄存器寻址隐含寻址TEST ES:SI, DX寄存器间接寻址寄存器寻址SBB SI, BP寄存器寻址寄存器间接寻址2.71 源操作数是立即数寻址,AX=1200H2 源操作数是寄存器寻址,AX=BX=0100H3 源操作数是直接寻址,将2000H10H+1200H=21200H和21201H的内容取出,赋给AX=4C2AH4 源操作数是寄存器间接寻址,将2000H10H+0100H=20100H和20101H的内容取出,赋给AX=3412H5 源操作数是寄存器相对寻址,将2000H10H+0100H+1100H=

    6、21200H和21201H的内容取出,赋给AX=4C2AH6 源操作数是基址变址寻址,将2000H10H+0100H+0002H=201002和201003H的内容取出,赋给AX=7856H7 源操作数是基址变址相对寻址, 将2000H10H+0100H+0002H+1100H=21202H和21203H的的内容取出,赋给AX=65B7H2.8指令源操作数寻址方式物理地址MOV AX, 00ABH立即数寻址跟随在指令后,有cs:ip决定MOV AX,BX寄存器寻址在寄存器中MOV AX,100H直接寻址2000H10H+100H=20100HMOV AX,BX寄存器间接寻址2000H10H+0

    7、100H=20100HMOV AX,BP寄存器间接寻址1500H10H+0010H=15010HMOV AX,BX+10注意是十进制 带位移的基址寻址2000H10H+0100H+0AH=2010AHMOV AX,BXSI基址变址寻址2000H10H+0100H+00A0H=201A0HMOV AX,VAL直接寻址2000H10H+0050H=20050HMOV AX,ES:BX寄存器间接寻址2100H10H+0100H=21100HMOV AX,SI寄存器间接寻址2000H10H+00A0=200A0HMOV AX,VALBX带位移的基址寻址2000H10H+0100H+0050H=2015

    8、0HMOV AX,VALBXSI带位移的基址变址寻址2000H10H+0100H+00A0H+0050H=201F0H2.9指令 Sp 值PUSH CX1FFAH66H1FFBH55HPUSH BX1FFCH44H1FFDH33HPUSH AX1FFEH22H1FFFH11H指令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,0FF

    9、FFHAX=8000HADD AX,8000HAX=0000HOR AX,0BFDFHAX=0BFDFHAND AX,0EBEDHAX=0ABCDHXCHG AH,ALAX=0CDABHSAL AX,1AX=9B56H (CF=1)RCL AX,1AX=36ADH (AF=1)2.110110 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 1

    10、100 0001B (0A5C1H) AF=0,SF=1,ZF=0,CF=0,OF=1,PF=02.12 0001 0010 0011 0100B 0100 1010 1110 0000B 1011 0101 0010 0000B补码形式 1100 0111 0101 0100B(0C754H) 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

    11、PF=1 2.131 BX=009AH2 BX=0061H3 BX=00FBH4 BX=001CH5 BX=0000H6 BX=00E3H (本条语句只对标志位有影响,不存贮结果)2.14BX=0110 1101 0001 0110=6D16HBX=0000 0000 1101 1010=00DAH2.151 DX=0000 0000 1011 1001 DX= 0000 0000 0101 1100=005CH2 DX=0000 0000 1011 1001 DX= 0000 0000 0001 0111=0017H3 DX=0000 0000 1011 1001 DX= 0000 0101

    12、 1100 1000=05C8H4 DL= 1011 1001 DX=0000 0000 0111 0010=0072H5 DX=0000 0000 1011 1001 DX=0010 0000 0001 0111=2017H6 DL= 1011 1001 DX= 0000 0000 1100 1101=00CDH7 DH=0000 0000 DX=0000 0000 1011 1001=00B9H8 DX=0000 0000 1011 1001 DX=0000 0101 1100 1100=05CCH CF=09 DL= 1011 1001 DL=0000 0000 1101 1100=00

    13、DCH CF=12.16方法一: 循环移位 方法二:逻辑右移MOV CL,04H MOV CL,04HROL AL,CL SHR AL,CL第三章 宏汇编语言程序设计3.1 1)AX=0001H;2)AX=0002H3)CX=0014H4)DX=0028H5)CX=0001H3.21) ARRAY DB 56H,78,0B3H,1002) DATA DW 2965H,45H,2965,0A6H3) ALPHA DW 0C656H,1278H4) BETA DB 2 DUP(23),5 DUP(A),10 DUP(1,2),20 DUP(?)5)STRING DB THIS IS A EXAMP

    14、E6)COUNT EQU 1003.300H00H01H00H00H00H00H01H00H00H00H01H00H00H00H01H00H00H00H01H?42H41H44H43H1DH1FH (1) (2) BYTE_VARR41H42H43H44H4CH(76)57H?01H03H01H03H3.4DATA_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,134

    15、75DATA8 DW DB ($-DATA6)-(DATA6-DATA1)DATA_SEG ENDS3.51) MOV BX, OFFSET BUF12) MOV CL BYTE PTR BUF2+23) MOV BUF3+9, A6H4) COUNT EQU BUF3-BUF13.8DATA_SEG SEGMENTAPPAY DB 10 DUP (29H)ALPHA DB -25,4,10,76,3BUFFER DB 100 DUP(?)DATA_SEG ENDS3.9DATA_SEG SEGMENTBCD1 DB ?,?BCD2 DB ?DATA_SEG ENDSCODE SEGMENT

    16、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 START3.11 1) MOV CH, 32H CH=32H 2) ADD CH, 2AH CH=5CH 3) SHL CH, 1 CH=0B8H 4) MOV BXNUM+9,CH CH=0B8H

    17、3.12DATA_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, 4CHINT 21HCODE ENDSEND START3.14DATA_SEG SEGMENTSTR1 DB THIS IS A DOGSTR2 DB THIS

    18、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 SI,000FHMOV AX,SIMOV NUM, ALCODE ENDSEND START3.16 DATA SEGMENT SRCBUF DB

    19、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 LOP1 MOV AH,4CH INT 21H CODE ENDS END START3.17 DATA SEGMENT BUF DB

    20、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 START3.18 DATA SEGMENT BUF DW n DUP(?) BUF1 DW n DUP(?) BUF2 DW n DUP(?)DA

    21、TA 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 NEXT1: MOV DI, AX ADD DI, 2 LOP2: LOOP LOP1 MOV AH, 4CH INT 21H CODE

    22、 ENDS END START3.19STACK 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 DONE CMP DL,a JB NEXT SUB DL,20H NEXT: MOV AH,02H INT 21H INC S

    23、I 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 DATZ,AL JMP DONENEXT: MOV DATZ,BLDONE: MOV AH,4CH INT 21HCODE

    24、ENDSEND START3.21DATA_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 ADC AL,DATC MOV DATD,AL JMP DONENEXT: MOV DATA,0MOV DATB,0 M

    25、OV DATC,0DONE: MOV AH,4CHINT 21HCODE ENDSEND START3.22 程序段是将十六进制数的ASSII码转化为十六进制数.本例是将大写字母A的ASCII变为十六进制数,将结果存入字符变量HEXNUM中。HEXNUM变量中原来的内容未知,程序段执行后的内容是字符A的十六进制数0A3.24DATA_SEG SEGMENT N=10DATA1 DB N DUP(?) DATA2 DB N DUP(?) ADR1 DW ? ADR2 DW ? DATA_SEG ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATA_SEGSTART:

    26、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 START3.26DATA_SEG SEGMENTCOUNT=100BUF DB COUNT NUP(?) MAX DB ?DATA_SEG ENDSCODE SEGM

    27、ENT 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,ALMOV AH, 4CHINT 21HCODE ENDSEND START3.27DATA_SEG SEG

    28、MENT 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 21HMOV DX,OFFSET STR2MOV AH,09HINT 21HMOV SI, OFFSET BUFMOV CX,10LOP1:MOV AH,1INT 21HMOV SI, ALINC SI


    注意事项

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

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开