首页计算机书籍程序设计宏汇编语言程序设计 IBM PC INTEL 80868088_张怀莲编_7505301403
face

文档

1081

关注

0

好评

0
PDF

宏汇编语言程序设计 IBM PC INTEL 80868088_张怀莲编_7505301403

阅读 905 下载 0 大小 9.22M 总页数 291 页 2023-03-19 分享
价格:¥ 10.00
下载文档
/ 291
全屏查看
宏汇编语言程序设计 IBM PC INTEL 80868088_张怀莲编_7505301403
还有 291 页未读 ,您可以 继续阅读 或 下载文档
1、本文档共计 291 页,下载后文档不带www.pdfdz.com水印,支持完整阅读内容。
2、古籍基本都为PDF扫描版,所以文档不支持编辑功能,即不支持文档内文字的复制粘贴。
3、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
4、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
5、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。
出栈指令POP将现行SP所指的栈顶的一个字传送至段寄存器或通用寄存器。例如:POP AX它的操作步骤是先将栈顶内容送人AX寄存器的低位字节,再SP+1+SP,然后再将栈顶内容送入AX寄存器的高位字节,再SP+1+SP。二,存贮器结构8086/8088有20条地址线,它的直接寻址能力为1B(2的20次方)。所以在SP-2一个系统中,可以有多达1B的存贮器,S P-AH地址从00000H到FFFFFH。任意给定的一SP个20位地址,就可以从这1B中取出所需要的指令和操作数。如前所述,8086/8088CPU内部的ALU只能进行16位运算。与地址有关的寄存器如SP、IP,以及BP、SI、DI等也都是16位的。因而对地址的运算也只能是16位。这就是说,对于8086/8088来说,各种寻址方式,寻找操作数的范围最多可能是64KB。那么,它的20位地址又是如何形成的呢?它是将整个1MB存贮器以64KB为范围分为若干段。在寻址一个具体物理单元时,必须由一个基本地址再加上由SP或IP或BP或SI或DI等可由CPU处理的16位偏移量来形成实际的20位物理地址。这个基本地址就是由8086/8088中的段寄存器,即代码段寄存器CS、堆栈段寄存器SS、数据段寄存器DS以及附加段寄存器ES中的一个来形成的,在形成20位物理地址时,段寄存器中的16位数会自动左移4位,然后与16位偏移量相加。如图1-6所示。每次需要产生一个20位地址的时候,一个段寄存器会自动被选择。且能自动左移4位再与一个16位地址偏移量相加,产生所需要的20位物理地址。当取指令的时候,则自动选择代码段寄存器CS,再加上由IP所决定的16位偏移量,计算得到要取的指令的物理地址。当涉及到一个堆栈操作时,则自动选择9堆栈段寄存器SS,再加上由SP所决定的16位偏移量,计算得到堆栈操作所需要的20位物理地址。当涉及到一个操作数时,则自动选择数据段寄存器DS或附加段寄存器ES,再加上16位偏移量,计算得到操作数的20位物理地址。16位偏移量,可以是包含在指令中的直接地址,也可以是某一个16位地址寄存器的值,也可以是指令中的偏移量加上16位地址寄存器中的值等等,取决于指令的寻址方式。5在8086/8088系统中,存贮器的访问,如图1-7所示。代c sES所以,在不改变段寄存器值的情况下,寻址的最大范围是64KB,若有一个任务,它的程序长度、堆栈长度,以及数据区长度都不超过6K8的话,则可在程序开始时,分别给DS、SS、CS置值,然后在程序中就可以不再考虑这些段寄存器,程序就可以在各自的区域中正常地进行工作。若某一个任务所需的总的存贮器长度(包括程序长度、堆栈长度和数据长度等)不超过6K8,则可在程序开始时使CX、$S、DS相等,程序也能正常工作。这种存贮器分段的方法,对于一个程序中要用的数据区超过6巛KB或要求从两个(或多个)不同的区域中存取操作数时,只要在取操作数以前,用指令给数据段寄存器重新赋值就可以了。·上述的存贮器分段方法,对于要求在程序区、堆栈区和数据区之间隔离时是非常方便的。这种分段方法也适用于程序的再定位要求。在不少情况下,要求同一个程序能在内存的不同区域中运行,而不改变程序本身,这在8086/8088中是可行的。只要使程序中的转移指令都为相对转移指令,而在运行这个程序前设法改变各个段寄存器的值就可以了。第五节数字、字符编码一.ASCII码在计算机中,数字是用二进制表示的。而计算机处理的问题中不仅仅是数字,还包括各种字符,如大小写英文字母、标点符号、运算符号等等。为了计算机能识别和处理它们,这些字符应如何表示呢?由于计算机中的基本物理器件是具有两个状态的器件,所以各种字符只能按特定的规则用若干位二进制码的组合来表示。编码可以有各种方式(即规dard Code for Infortion Interchange类国标准信息交换码),IB酬PC ASCII码字符6
返回顶部