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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

《微机原理及应用》课后答案黄冰 覃伟年 著习题参考答案.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=100000000111

2、1000B -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转换 -1

3、152 求补的逆运算例如: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寄存器寻址带位移的基址变址寻址A

5、ND 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=21

6、200H和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+010

7、0H=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=20150H

8、MOV 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,0FFFF

9、HAX=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 110

10、0 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 PF

11、=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 1

12、100 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=00DC

13、H 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 EXAMPE6

14、)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,13475

15、DATA8 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 AS

16、SUME 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=0B8H3.

17、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 IS

18、 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 80

19、 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 n

20、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(?)DATA

21、 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 E

22、NDS 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 SI

23、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 EN

24、DSEND 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 MOV

25、 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: MO

26、V 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 SEGMEN

27、T 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 SEGME

28、NT 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 SILOOP LOP1MOV SI,OFFSE

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

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