求真值为-0.75d负数的原码怎么求

真值原码反码补码详解和习题_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
真值原码反码补码详解和习题
&&二进制机器数:真值、原码、反码、补码:详解和习题
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩5页未读,
定制HR最喜欢的简历
你可能喜欢这个小数的真值是如何来的~ - 汇编语言当前位置:& &&&这个小数的真值是如何来的~这个小数的真值是如何来的~www.MyException.Cn&&网友分享于:&&浏览:12次这个小数的真值是怎么来的~!~例 求机器数 分别是原码定点小数,补码定点小数时的真值x。解 若[x]原码=B &
当是原码定点小数时
x真值=-0.01B=-0.25D &
当是补码定点小数时
[x]真值=-0.11B=-0.75D教程无分析实在看不懂,请教下-0.25D和-0.75D值的运算过程------解决方案--------------------
根据规则,定点小数后第一位乘以1/2+第二位乘以1/4+第三位乘以1/8+...+第N位乘以2的N次方那么-0.01的十进制就是:-0x2^0+0x(1/2)+0x(1/4)=-0.25D;-0.11............:-0x2^0+1x(1/2)+1x(1/4)=-0.75D;
------解决方案--------------------“^”是次方。比如2^3就是2*2*2
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
微机原理课后作业参考解答.doc 5页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
微机原理课后作业参考解答
你可能关注的文档:
··········
··········
1.3 完成下列数制的转换
(1)
B = (166) D = (A6) H
(2) 0.11 B = (0.75) D
(3) 253.25 = () B = (FD.4) H
(4)
B = (5B.A) H = (0 ) BCD
1.5 写出下列真值对应的原码和补码的形式
(1) X = -1110011 B
(2) X = -71 D
(3) X = +1001001 B
解:(1) [X]原 =
B , 负数,[X]补 = [X]反 + 1 =
B
(2) [X]原 =
B , 负数,[X]补 = [X]反 + 1 =
B
(3) [X]原 =
B , 正数,[X]补 = [X]原 =
1.7 已知X和Y的真值,求[X+Y]的补码
(1) X = -1110111 B
Y = +1011010 B
(2) X = 56 D
Y = -21 D
解:
(1) [X]原 =
B , 负数,[X]补 = [X]反 + 1 =
B
Y为正数,[Y]原 = [Y]补 =
B
所以,[X+Y]补 = [X]补 + [Y]补 =
B
(2) [X]原 =
B = [X]补
[Y]原 =
B , [Y]补 =
B
[X+Y]补 = [X]补 + [Y]补 =
1.8 已知X = -1101001 B, Y = -1010110 B, 用补码表示X-Y = ?
解: [X]原 =
B, [X]补 =
B
[-Y]原 =
B, [-Y]补 =
B
所以,[X-Y]补 = [X]补 + [-Y]补 =
B
所以,[X-Y]原 =
B= -0010011 B = -19 D
1.12 如果74LS138译码器的C,B,A三个输入端的状态为011,此时该译码器的8个输出端中哪一个会输出“0”
解:011 B = 3 D, #Y3低电平有效
2.12 若8088工作在单CPU方式下,在下表中填入不同操作时的各控制信号的状态。
操作IO/#MDT/#R#DEN#RD#WR读存储器00001写存储器01010读I/O接口10001写I/O接口11010
2.18 设当前数据段位于存储器的A8000H到87FFF H,DS段寄存器的内容应是什么?
解:DS段寄存器存放段基址,由当前数据段在存储器中的存储空间的起始地址可知DS的内容为A800 H。
2.19 若CS=8000H,则当前代码段可寻址的存储空间的范围是多少?
解:由物理地址 = 段基址*16 + 段内偏移(16位)可得:
CS段寄存器存放段基址(16位)
存储空间的范围是80000H ~ 8FFFF H
2.21 总线传输需要解决哪几个主要问题?
(1)总线传输同步。为使信息正确传送,防止丢失,需对总线通信进行定时,根据定时方式不同,大体可分为同步和异步两种数据传送方式。
(2)总线总裁控制。在总线上某一时刻只能有一个总线主部件控制总线,为避免多个部件同时发送信息到总线的矛盾,需要有总线仲裁机构。
(3)出错处理。数据传送过程中可能产生错误,有些接收部件有自动纠错能力,可以自动纠正错误。有些部件虽无自动纠错能力,但能发现错误,这时可发出“数据出错”信号,通知CPU来进行处理。
(4)总线驱动。在计算机系统中通常采用三态输出电路或集电极开路输出电路来驱动总线。后者速度较低,常用在I/O总线上。
3.2 设(DS)=6000H, (ES) = 2000H, (SS)=1500H, (SI) = 00A0H, (BX) = 0800H, (BP) = 1200H, 数据变量VAR为0050H。请分别指出下列各条指令源操作数的寻址方式?它的物理地址是多少?
(1) MOV AX, BX
(2) MOV DL,80H
(3) MOV AX, VAR
(4) MOV AX,VAR[BX][SI]
(5) MOV AL, ’B’
(6) MOV DI, ES:[BX]
(7) MOV DX, [BP]
(8) MOV BX,20H[BX]
解:(1)寄存器寻址,物理地址: (DS)&&4+(BX
正在加载中,请稍后...计算机的运算基础与微型机_华中科技大学电子与信息工程系:微机原理与应用(左冬红博士)_ppt_大学课件预览_高等教育资讯网
华中科技大学电子与信息工程系:微机原理与应用(左冬红博士):第一章
计算机的运算基础与微型机
分类: 格式: 日期:日
微型计算机原理及应用( 64学时)主讲教师,左冬红TEL,前言一、目的学习微型计算机的 基本组成原理、结构、特点、接口、指令、汇编语言程序设计?软件硬件结合,以达到 把手伸到计算机内部 的目的。本课程以 Intel 80X86微机,即 PC系列微机为硬件范例,来讨论微机的构成原理,以及存储器、输入输出接口芯片与 CPU的接口方法。二、特点技术性,实践性较强?实验课单独设课:计划学时 48,课表学时 48* 2= 96计算机硬件系列课程:微机原理,微机原理实验,微机应用系统课程设计,单片机(任选)。三、教材及参考书微机原理与接口技术 (北方交大)朱定华微机应用系统设计 (华工)朱定华等谢瑞和等编著 /微型计算机原理与接口技术基础教程 / 科学出版社 / 2005.8四,成绩与考试平时成绩 20%?作业,上机调试 。期末考试 80%?闭卷 。五 教学内容安排运算基础与微型机的基本结构 ( 1章)汇编语言和汇编程序设计 ( 2,3章 )的总线与时序 ( 4章)微机接口技术存储器和 I/O接口 ( 5,6章)中断 (Interrupt)控制 ( 7章)常用可编程接口芯片 (8章 )第一章 计算机的运算基础与微型机的基本结构§ 1.1 计算机的数和编码系统一,计算机中的 数制 ------任何数都可以用一组统一的符号和规则表示,1.常用数制 -----二,十,十六进制,* 计算机的数是以器件的物理状态来表示的,计算机由数字器件组成,所以全部用二进制表示,* 因为目前微机都是 8,16,32位,都是四的整数倍,24=16,为 书写方便,而广泛使用十六进制数,* 为符合人们日常习惯,而使用十进制数,2.为防止二义性,约定,* 数后带 D或不带任何符号,则为十进制数 ;* 带 B为二进制数 ;* 带 H为十六进制数,如,100,即一百 ;100B,即四 ;100H,即 256.3,十,二,十六进制 数间的关系 如下表 (P1.表 1-1).4.任一个 J进制数 N都可表示为 按权展开多项式NJ=∑Ki*Ji其中,Ki可取 0,1,… (J-1)的任一数码符号,Ji------权 (即数的基值 ).J------基数,常用 J=2,10,16.例,525.15=5*102+2*101+5*100+1*10-1+5*10-2*23+1*22+0*21+1*20+1*2-1+1*1-24CD.2H=4*162+12*161+13*160+2*16-15.数制间的 转换二十六,从小数点开始,每四位一组,与表对应即可,如,01 B 3 A 5 C H2 B D H 01 1100 B十二,十六,二,十六?十,利用 按权展开多项式,相乘,相加,即可,如,11.11B=1*21+1*20+1*2-1+1*2-2=3.7511H=1*161+1*160=17十?二,十六,整数 ----除,基,取余法,小数 ----乘,基,取整法,如,39=27H=100111B16 39 2 3916 2 … 7 2 19 … 10 … 2 2 9 … 12 4 … 12 2… 02 1… 00… 1即用基 16或 2不断地去除待转换的十进制数,直到商为 0,将其余数 倒序排列 即可,如,0.75=0.11B=0.1100B=0.CH0.75 0.75* 2 * 161.50 450* 2 + 751.0 12.00即用基 2或 16不断地去乘待转换的十进制小数,将每次所得的整数 依次排列,直到乘积为 0或满足精度要求为止,二,带符号数的表示1,机器数与真值 ----连同符号位在一起编码的数?机器数 ;其数值部分为机器数的 真值,机器中的数也应有正负之分,约定一个数的最高位为符号位,0?正数,1?负数,如,X1=+91=B=5BH ; +101 1011B,即+91为其真值。如,X2=-91=B=DBH ; -101 1011B若把机器数的符号位也当作数值的数?无符号数 ;如无符号数,DBH=219为了运算方便,带符号数有三种表示法?原码,反码,补码,2.原码?按上述表示,正数的符号?0,负数的符号?1,数值部分用其绝对值表示,如,[+ 91]原 =B=5BH[- 91]原 =B=DBH注,以 A----F开头的数,约定前面加 0;即写成,0DBH原码表示的数,8位数中,D7位为符号位,其余 7位为数值位 (为 真值的绝对值 ).原码表示简单易懂,且与真值转换方便,但内部运算复杂,为简化计算机结构,而引进反码和补码,3.反码?正数的反码与原码相同,负数的反码为它的 正数的反码按位取反,如,[X1=+91]反 =B=5BH[X2=-91]反 =B=0A4H如,[+4]反 =B=04H[-4]反 =B=0FBH[+127]反 =B=7FH[-127]反 =B=80H[+0]反 =B=00H[-0]反 =B=0FFH注,一个负数的反码的数值部分并不是其真值的绝对值,要按位取反才能求得真值的绝对值,4.补码?正数的补码与原码相同,负数的补码为它的正数的补码按位求反,且在最低位加 1(求反加 1),如,[+91]补 =B=5BH[-91]补 =B=0A5H如,[+4]补 =B=04H[-4]补 =B=0FCH[+127]补 =B=7FH[-127]补 =B=81H[+0]补 =B=00H[-0]补 =B=00H注,一个补码表示的数,最高位为 0?正数,其余位为其真值 ;最高位为 1?负数,其余位并不表示真值的绝对值,必需再求补,才得其真值的绝对值,如,已知 [X]补 =94H=B?数值位求补?-110 1100B=-6CH=-108说明,微机中,凡是带符号数约定用补码表示(除非特殊申明 ).数可用 8位或 16位或 32位 (即 2位或 4位或 8位 16进制数 )表示一个数?称为 字节,字,双字类型,如,[+4]补 =04H? 字节表示[+4]补 =0004H?字表示[-4]补 =B=0FCH?字节表示[-4]补 =11 1100B=0FFFCH?字表示例说明 16位补码实际上是 8位补码的 符号扩展,即一个二进制数的补码的符号位向左扩展若干位后,仍是该数的补码,值得注意的是,只有最高位才是符号位,字节为 D7位,字为 D15位,* 进行数的转换时,应考虑 数的表示范围,* 8位无符号数所能表示的范围,00H~ 0FFH,即 0~255,即 0~ 28-1.* 16位无符号数所能表示的范围,0000H~ 0FFFFH,即0~ 65535,即 0~ 216.* 8位补码数所能表示的范围,80H~ 7FH,即 -128~+127,即 -27~ +27-1.* 16位补码数所能表示的范围,8000H~ 7FFFH,即 -32768~ +32767,即 -215~ +215-1,.引进补码的好处是为了内部简化运算,从而简化计算机硬件结构 (因为 2的补码,只要求反加 1,硬件易于实现 ).例,127-12=115?127+(-12)=11511 1111-
因为超出表示范围,进位自然丢掉,(注意 只是内部运算将减法变为补码加 ).作业,第一章,1,64,100,2552,2CH,0CADH,100H3,+18,-18,+347,-347,+64,71H,0F8H,9350H三,二进制数的运算数字系统中可进行两种基本运算,加减运算,利用加减运算可进行乘除及其它运算,1.二进制加法规则,0+0=00+1=1+0=11+1=0?进位 11+1+1=1?进位 1 ;实际两数相加,每位都有三个数操作,2.二进制减法规则,0-0=01-0=11-1=00-1=1?借位 1 ;实际两数相减,每位都有三个数操作3.无符号数的运算 (即 8位或 16位均表示数值 ).(1).两个无符号数相加 ----两数相加,其和超过其所表示的范围时,就向更高位 产生进位 ----用 CF标志 表示,如,3BH+0A4H=0DFH&FFH; 7EH+0C3H=141H&0FFH11 1110+
无进位,CF=0 有进位,CF=1(2).两个无符号数相减 ----被减数大于等于减数,无借位 ;被减数小于减数有借位,结果为负,如,7EH-35H=49H ; 45H-56H=[-11H]补 =0EFH00 0101-
?结果为补码无借位,CF=0 ; 有借位,CF=1结论,(1)两无符号数相加,无进位,则未超出范围 ;有进位超出范围,但进位表示了更高位,只要对进位适当处理,结果正确,(2).无符号数相减,无借位,结果为正 ;有借位,结果为负,用补码表示,所以,对无符号数运算,仅关心是否有进位或借位,便知结果情况,4.带符号数运算 ----两数进行运算,结果超出表示范围就会产生 溢出 ;用 OFH标志 表示,例 1.67H+5BH=0C2H&127 ;超出范围,结果错,+
;结果为负,结果错,CF= 0,OF=1例 2.-64H+(-40H)=-0A4H&-128;超出范围,结果错,+ 1 ;结果为正,结果错,CF= 1,OF=1例 3.64H+(-40)H=24H&127;未超出表示范围,结果正确+ 1
;结果为正,正确,CF= 1,OF=0结论,(1).结果有溢出,则结果错 ;无溢出,则正确,(2).两个带符号数运算,结果为正或负,用符号位(最高位 )判断,即 D7=1,为负数 ;D7=0,为正数,所以,对带符号数运算,首先 关心是否溢出 ;然后再 关心符号位 ;以判断结果情况,说明,(1).对多位二进制数进行运算时,通常应拆成二部分或多部分运算,但 数的低位部分均为无符号数,只有高位部分才为符号数,如,00 0000B;低字节为无符号数,(2).注意 区分进位与溢出,如何判断有无溢出,设符号位向更高位进位为 CY(=D7CY),数值部分向符号部分进位为 CS(=D6CY),则溢出,OF=CY CS由上述三例可验证之,例 1.67H+5BH=0C2H&127;OF=0
1=1;溢出例 2.-64H-40H=-0A4H&-128;OF=1
0=1;溢出例 3.64H-40H=24H&127;OF=1
1=0;无溢出四,二进制编码计算机所处理的各种信息 (包括数值,文字,图像,声音 )都是以若干二进制码的不同组合来表示的,1.ASCII码 ----字符在机内的表示,各种字符包括 (字母,数字,标点符号 )都用二进制编码表示,微机中普遍采用 7位 ASCII码,它用 7位二进制编码表示,27=128个字符,PC机中用一个字节表示一个字符,机器中将 D7位认其为 0.常用的 ASCII码字符如下表 (P10.表 1-4).例如 从键盘上输入 ’ ABC123?字符时,实际上机器内部存放 41H,42H,43H,31H,32H,33H.又如,数 45,用 ASCII码表示为,34H,35H.当要 显示输出 98这个数时,必需先转换为 39H,38H.2,BCD码(1).BCD码的表示因为二进制数不直观,人们习惯在输入输出时使用十进制数,不过十进制数也要用二进制编码来表示,一位十进制数用 4位二进制编码表示方法很多,最常用的是 8421BCD,关系如下表 (P9.表 1-3).十进数 0 1 2 3 4 5 6 7 8 9BCD码 10 01 00 1001根据 BCD码的存放方式可分两种,压缩型 BCD----一字节中存放两个十进制数,非压缩型 BCD----一字节中存放一个十进制数,例,97?压缩型 BCD?B=97H97?非 压缩型 BCD?00 H非压缩型 BCD,形式上象 ASCII码,且也是一字节表示一个数,所以又称 ASCII BCD.(2).BCD数的运算加法 ----BCD数低位与高位之间是,逢十进一,,而 4位二进制数是,逢十六进一,,而计算机总是按二进制规律运算,所以运算时必需进行 加 6调整,以强迫进位,调整规则 是,两个 BCD数相加,其和在 0~ 9之间,则保持不变 ;其和大于 9,则加 6调整,例,37+36=73+ + 0110?BCD数通常在微机中设有二 ―十进制调整电路,通过调用调整指令来实现调整,减法 ----同样 BCD减法,借一为十,,而 4位二进制数,借一为十六,,所以减 6调整 (多借了 6).调整规则 是,其差在 0~ 9之间,则不变 ;其差大于 9,则减 6.例,37-19=18- - 0110?BCD数作业,第一章,5,(2),(4) 10,38,483,100011.413543H§ 1.2 微型计算机的结构和工作原理一,微型计算机的典型结构微机的基本 组成,微处理器 CPU,总线,存储器,I/O接口,I/O设备,1.CPU----中央处理器,采用超大规模集成技术,将运算器和控制器集成在一块,具有 运算和控制功能,是微机的控制核心部件,如 Intel286,,Pentium.2.总线 ----传送信息的公共通道 BUS,即把计算机各部分有机地连接在一起的一组并行导线,总线的 表示 ---- 或总线的 宽度 ----总线上能同时传送二进制数的位数,总线的传送方向 ----单向和双向,微机有 三种总线,地址总线 AB----传送 CPU发出的地址,以便寻址存储单元或 I/O端口,所以是输出方向,如,的地址总线宽度为 20位,用 A19~ A0表示,可寻址 220=1M的存储空间,数据总线 DB----在 CPU与存储器和 I/O端口之间 传送数据,既可输入,又可输出,所以为 双向总线,如,8088的数据总线为 8位 ;用 D7~ D0表示,控制总线 CB----传送各种控制信息 ;有的是 CPU到存储器或 I/O接口的控制信息,如,RD(读 ),WR(写 );有的是I/O端口到 CPU的信号,如 INTR(中断请求 ),READY(准备就绪 );所以总体上是双向的,带有上横线的表示低电平有效,无上横线的表示高电平有效,目前典型微机外部都采用 三总线结构,即 CPU,存储器,I/O端口都通过三总线组合在一起 ;常称存储器,I/O端口挂在总线上,所以 微机的结构 又常画成下面的形式,ABDBCB传送方式 ----总线实现了将属于不同来源的信息在一组统一的传输线上传送,但在某一特定时刻,总线上只允许传送一种信息,以免 总线冲突,所以只能采用 分时传送,CPU存储器 I/O接口 I/O设备总线结构意味着微处理器的一个引脚可能接多个设备或功能部件,为实现 分时传送,总线的接收端和发送端对各信息必需进行控制,所以与总线相接的常用器件是可控的三态门,微机中,存储器,I/O接口都是通过三态门连到总线上,不使用时,处在高阻抗状态,即相当于开路 ;于是该部分电路便与总线脱离了关系 ;总线总是只和当前进行交换的电路联通,3.存储器 ----存放程序和数据的部件,能够被 CPU直接读写的存储器为 内部存储器,间接读写的存储器为 外存储器 ;在此指内存储器,即半导体存储器,包括 RAM和 ROM.存储器被分成许多小单元,称为 存储单元,每个单元对应一个编号?单元地址,4.输入输出接口 ----I/O接口 (interface)输入输出设备不能直接挂在总线上,而是通过 I/O接口再与总线相连,这是 因为,(1).外设的工作速度远低于 CPU的速度,(2).外设表示信息的格式与计算机不同,(3).接口还应向计算机报告设备的运行状态,传达计算机命令等 ----联络信号,5.I/O设备 ----信息变换,输入输出设备是人机联系的桥梁,待处理的数据和程序通过输入设备送入计算机,而结果通过输出设备告诉用户,二,微机的工作原理微处理器本身还不是一个微机,必需配备适当的存储器和 I/O接口及必要的外设才能构成一个真正的微机 ;但上面介绍的还只是 硬件,还必需配备 软件,当人们要解决问题时,首先将问题程序化,形成指令序列,然后将它存入存储器中,再由 CPU的控制器从存储器中逐条取出指令解释,并取出该指令要处理的操作数送往运算器中执行,最后输出程序结果,即,程序存储和程序控制,?工作原理,这就是 冯,诺依曼原理,§ 1.3 Intel 微处理器一,8088和 80861977年 Intel率先推出了 16位微处理器 8086,能并行处理 16位数据,它需要 16位的存储器,16位 DB,16位外设,而当时 8位微机已经形成系列,配套外设都是 8位的,为了利用现有的外设,Intel于 1979年研制 了8088.它与 8086的内部结构完全一样,区别在于 外部DB不一样,8086是 16位 DB,而 8088是 8位 DB.所以称8088为准 16位机,但它既能处理 8位数据,又能处理16位数据,又如,386SX的内部 DB为 32位,而外部 DB为 16位,是准 32位机,而 386DX的内部和外部 DB都是 32位,是 全 32位机,但 386SX的推出比 386DX要晚些(价格便宜),而 486SX的内外 DB都是 32位,但内部无协处理器,而 486DX也是 内外都是 32位 的 DB,但内部有协处理器,实际上 486就是在 386的基础上增加了协处理器和高速缓冲存储器,二,8088的功能结构,按功能可分成两部分,执行部件 EU和 总线部件 BIU.左边是 EU,仅负责指令的执行 ;右边是 BIU,负责从存储器或 I/O中取取指令或数据,1.执行部件 EU----负责指令的执行,有,16位的算术逻辑单元 ALU----执行基本运算和处理,一组通用 寄存器组 ----暂存操作数和及中间结果,一 标志寄存器 ----寄存 CPU的状态和控制标志,EU控制 系统 ----队列控制和时序控制,2.总线接口单元 BIU----执行所有总线操作,按 EU的要求与存储器或 I/O交换数据,即负责取指令送队列中排队,取操作数送 EU参与运算,有,一组 段寄存器 ----寄存段地址,一个 指令指针 IP----寄存指令的偏移地扯,地址加法器 ----将段地扯和偏移地址相加,形成20位的物理地址,指令队列缓冲器 ----寄存指令 (8088?4个,8086?6个 ).3.执行方式 ----取指与执行 同步,独立,并行工作,从而大大提高了 CPU的处理速度,CPU 取指 执行 取指 执行 …这是 顺序处理 操作方式,8088:BIU 取指 取指 取指 …EU 执行 执行 执行 …这是 流水线作业方式,而后续微机的发展,延续了这种流水线作业方式,将 各部分功能逐步细化,从而不断提高运行速度,.80286的内部由 4个功能部件 组成,总线部件,指令部件,地址部件 (BIU),执行部件,即在 8088的基础上增加了指令部件和地址部件 ;四个部件分别进行同步,独立,并行地进行总线操作,实现 流水线作业,避免顺序处理,最大限度地发挥了处理器的性能,80386的内部由 6个功能部件 组成,总线接口部件,指令译码部件,指令预取部件,执行部件,段管理部件,页管理部件,即在 80286的基础上增加了指令译码和页管理两个部件,6部分分别进行同步,独立,并行操作,实现了高效的流水线化作业,80486的内部由 8个功能部件 组成,增加浮点处理单元( FPU)和高速缓存( Cache memory)Pentium的内部由 10个功能部件 组成,cache分为 指令 Cache和数据 Cache,二级 cache。三,8088的寄存器结构 (Register)在微处理器中,都要设置寄存器 暂存操作数或中间结果,CPU内部寄存器越多,使用就越灵活,速度就越快,8088共有 14个 寄存器,都是 16位,可用其名称寻址,寄存器图如下,1.通用寄存器 ----8个 ----在 EU部件中 ----寻址名称是,AX,BX,CX,DX,SP,BP,SI,DI.一般情况,它们都可以作通用寄存器,存放操作数,可视为 CPU内部的 RAM单元,但每个寄存器又有其 专门的用途,如下表示 (P22.表 1-5).AX,BX,CX,DX----既可以 字寻址 (16位 ),又可以 字节寻址 (8位 ),即可分成高 8位和低 8位,其名称为,AH,AL,BH,BL,CH,CL,DH,DL.2.指令指针 ----IP----存放将被执行的指令的偏移地址 (其它微本中称为程序计数器 PC).计算机之所以能脱离人的干预,自动地进行计算或控制,就是因为内部有 一个能自动跟踪指令地址的硬件电路?IP.在开始执行程序时,赋给 IP第一条指令的地址,然后每取一条指令,IP的值就 自动 指向下一条指令的地址,3.状态标志寄存器 ----F----16位,但只有 9位有效,表示 9个标志,----反映 CPU的状态和运算结果情况,F的格式,D15 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0X X X X OF DF IF TF SF ZF X AF X PF X CF(2).条件标志 ----6个 ----反映一条指令执行后运算结果特征,CF----进位标志 -----CF=D7CY或 D15CY执行算术运算指令后,结果的最高位 (字节时为D7CY或字为 D15CY)向更高位产生进位,则 CF=1,否则CF=0.该标志主要用于多字节加减运算,例,3FH+0B4H 0BFH+0B4H11 1111+
+ ;CF=0 1 ;CF=1注,对 CF操作有三条专用指令,STC?CF=1;CLC?CF=0; CMC?CF=CFPF----(奇 )偶校验标志 ----PF=D7?…?D0运算结果的低 8位中,1”的个数为偶数,则 PF=1,否则 PF=0.该标志主要用于检测数据通信中是否发生错误,如上例,结果 F3H中有 6个,1”,则 PF=1;结果 73H中有5个,1”,则 PF=0.AF----辅助进位标志 ----AF=D3CY字节运算中,低 4位向高 4位有进位或借位时,则AF=1,否则 AF=0.该标志主要用于 BCD码运算的调整指令中,如,38H+49H+
;AF=1;若视为 BCD运算,则应调整,ZF----零标志 ----ZF=D7+… +D0或 D15+… +D0运算结果为 0,则 ZF=1,否则 ZF=0.如上例中,结果非 0,则 ZF=0.SF----符号标志 ----SF=D7或 D15运算结果为正数,则 SF=0,为负数,则 SF=1.如,3FH+0B4H=0F3H的 SF=1而,0BFH+B4H=173H的 SF=0.OF----溢出标志 ----OF=D7CY?D6CY或 D15CY? D14CY当运算结果超出了机器所能表示的范围时,则OF=1,否则 OF=0.如,3FH+0B4H=0F3H中 OF=0而,0BFH+0B4H=173H中 OF=1注意,实际上机器把所有数都当无符号数运算,把结果都当符号数来设置标志,以上 6个标志为指令执行后的结果标志,可作为控制转移的条件,(3).控制标志 ----控制 CPU的状态,DF----方向标志 ----主要用于字符串操作中控制地址的步进方向,DF=1,地址增址 ;DF=0,地址减址,有两条专门用于 DF的指令,CLD?DF=0 ;STD?DF=1IF----中断允许标志 ----控制 CPU是否开中断,IF=1,说明 CPU开中断,即允许 CPU响应外部可屏蔽中断,IF=0,说明 CPU关中断,即禁止 CPU响应外部可屏蔽中断,注,有两条关于 IF的专用指令,CLI?IF=0 ;STI?IF=1.TF----跟踪标志TF=1,CPU处于单步工作方式,即 CPU每执行一条指令就自动地发生一个内部中断,CPU转去执行一个中断程序,常用于程序调试,又称为陷井标志,TF=0,CPU正常执行程序,4.段寄存器 ----CS,SS,DS,ES----用于存放内存地址的起始地址的高 16位,因为 8088有 20位地址,220=1MB存储空间,单元地址必须用 20位地址表示,但内部寄存器均为 16位,只能进行 16位运算,所以存储器分段管理,段的起始地址的高 16位称该段的段地址,而偏离段首址的字节数为偏移地址,亦用 16位表示,即单元的 逻辑地址 表示为,段地址,偏移地址CS----代码段寄存器 ----存放代码段的段地址,SS----堆栈段 寄存器 ----存放堆栈段的段地址,DS----数据段寄存器 ----存放数据段的段地址,ES----附加数据段寄存器 ----存放附加数据段的段地址,由 4个段寄存器将内存分成了四个可访问的,当前段,,§ 1.4 (主 )存储器与堆栈一,存储器结构1.位 ----Bit----存储器的最小最基本单位,存放一个二进制数 0或 1.整个存储器由许许多多存储位构成,2.字节 ----Byte----8个 Bit组成一个字节,存放相邻的8位二制数,字节的长度是固定的,3.字 ----Word----计算机内部进行数据处理的基本单位,通常与计算机内部的寄存器,ALU宽度一致,计算机的每一个字所包含的二进制位称为 字长,如,Z80微机为 8位机 ;微机为 16位机 ;386,486,Pentium微机为 32位机,.注,目前为了 表示数据的方便,常把 2个字节称为一个字,双字即为 32位,4.存储容量 ----表示 存放二进制代码的个数,用包含多少个存储单元,而每个单元又包含多少位来表示,微机中常以,字 (节 )数 *字 (节 )的位数 来表示,如,k*8?1KB5.PC系列微机存储器结构 ----以字节编址,即 8位为一个单元,每个单元有一个唯一的地址代号,如 PC微机的物理地址,00000H~ 0FFFFFH.6.数据存放规律字节数据 ----一个数存放一单元,如,11H?00010H单元字数据 ----用二个连续单元存放,规定由 2个单元中地址 较小 的一个确定,如,H“低对低,高对高,的存放规律如,-4?00013H机器指令 (机器码 )----按字节顺序存放,如,MOV BX,AX89C3H?00015H字符串 ----从低地址开始,以ASCII码顺序存放,如,?ABC00017H00010H 1100011H 3300012H 2200013H FC14H FF15H 8916H C317H 4118H 4219H 43二,存储器的组织与管理1.因为内部寄存器都是 16位,不能直接输出 20位地址,所以 分段管理,即把 1M分成64K个段,每一段最多可寻址216=64K个单元,规定每个段地址的低 4位为 0,即能被16整除,段地址和偏移地址都是 16位无符号数,所以分段并不是唯一的,可以相互重迭,而因为 CPU内部仅有四个段寄存器,所以在某个特定时刻仅能访问四个段,.注,后续徽机的发展 仍是分段法,只是基地址不是直接指定,而是间接指定,2.每个存储单元都可用地址的两种形式来表示,物理地址 ----用唯一的 20位二进制数表示,CPU访问时用物理地址,逻辑地址 ----段地址,偏移地址,程序中使用逻辑地址,3.物理地址的形成由 CPU中的地址加法器,将段地址左移 4位,低位补0,再与 16位偏移地址相加形成,4.段地址与偏移地址的指定,每次需要生成物理地址时,都有相应的段地址及偏移地址被指定,(1)取指操作 ----段地址?CS,偏移地址?IP,即取指的物理地址为,PA=CS左移 4位 +IP例,已知某指令的逻辑地址?,则PA=00030H例,某可执行程序为 2KB,已知 CS=1063H,IP=0000H,求该程序的末地址,程序存放,:1063:07FF所以末地址为,10630H+07FFH=10E2FH末地址=长度 -1= 2K-1=211-1=FFH(2).栈操作 ----堆栈段地址? SS,偏移地址?SP ; PA=SS左移 4位 +SP(3).一般数据访问 ----段地址?DS,偏移地址?变量的有效地址 ;PA=DS左移 4位 +变量的有地址三,堆栈和堆栈操作指令1.堆栈 -----按,先进后出或后进先出,的原则 组织的特殊存储区,用来暂存数据,在中断和子程序调用中用来保护现场,2.堆栈指针 ----这个特殊的存储区有一端是固定地,另一端是活动地,固定端称为 栈底 ;活动端称为 栈顶,数据只允许从活动端进出,为此,活动端需要一个指示器?SP;所以 SP总是指向栈顶,3.堆栈的形成 有两种 ----一种 向下生长 (从大地址向小地址生长 );另一种是 向上生长 (从小地址向大地址生长 ).如,8088是向下生长 ;而 MCS-51是向上生长,4.进栈指令格式 ----PUSH SRC操作 ----(SRC)? [SP],SP-2?SP功能 ----将寄存器或存储单元中的一个字压入堆栈,例,已知 AX=1122H,BX=3344H,SP=0040H执行,PUSH AX ; SP=003EH ;PUSH BX ; SP=003CH ;注,栈操作均以字为单位,PUSH AH先进高位,后进低位 ;高对高,低对低存放5.出栈指令格式 ----POP DST操作 ----[SP]?DST,SP+2?SP功能 ----将栈顶的一个字传送到寄存器或存储单元中,例,上述程序中再执行,POP CX ; CX=3344H ; SP=003EHPOP DX ; DX=1122H ; SP=0040H出栈和进栈恰好相反,先进后出,先出低位,后出高位,一般,PUSH与 POP成对出现,还原 SP指针,6.标志寄存器进栈指令格式 ----PUSHF操作 ----F? [SP],SP-2?SP7.标志寄存器出栈指令格式 ----POPF操作 ---- [SP]?F,SP+2?SP作业,P32 16,17,18,19,20,第一章结束
课件名称:课件分类:计算机课件类型:电子教案文件大小:5.53MB下载次数:11评论次数:4用户评分:7
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.}

我要回帖

更多关于 补码求原码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信