当前位置: 首页 > news >正文

商丘做网站的公司有哪些网站制作和推广

商丘做网站的公司有哪些,网站制作和推广,有用建站宝盒做网站的吗,盐城高端网站建设目录 内存中字的存储 示例: 数据段寄存器DS与[address] 字的传送 数据段简介 CPU提供的栈机制 栈段寄存器SS和栈顶指针寄存器SP PUSH AX指令的完整描述 示例图 POP AX指令的完整描述 示例图 栈顶超界问题 示例一: 示例二: 内存中字…

目录

内存中字的存储

示例:

数据段寄存器DS与[address]

 字的传送

数据段简介

CPU提供的栈机制

栈段寄存器SS和栈顶指针寄存器SP

PUSH AX指令的完整描述

示例图

 POP AX指令的完整描述

示例图

 栈顶超界问题

示例一:

 示例二:


内存中字的存储

在CPU中,用寄存器存储一个字,高8位存放高位字节,低8位存放低位字节;

在内存中,由于一个内存单元是一个字节,则一个字需要用两个地址连续的内存单元存放,这个字的低位字节存放在低地址单元中,高位字节存放高地址单元

示例:

假设从0地址处存放数据1,然后从2地址处存放数据2;

数据1:20000      16进制表示:4E20H

数据2:18             16进制表示:  0012H

 注:将起始地址为N的字单元简称为N地址字单元,由N号单元和N+1号单元组成

例如:用0,1两个内存单元存放的数据4E20H称之为4E20H存放于起始地址为0的字单元中;

数据段寄存器DS与[address]

CPU要读写一个内存单元时,必须给出该内存单元的地址,CPU是根据段地址与偏移地址给出物理地址,8086CPU中用DS寄存器存放要访问数据的段地址,而[address]表示内存单元的偏移地址

question: 如何将内存物理地址为10000H中的数据读取到寄存器AL中?

思考如下: 物理地址为10000H,取段地址为1000H,偏移地址为0000H; 将段地址保存到DS寄存器中,但是8086CPU不支持将数据直接送入段寄存器的操作,考虑一个通用寄存器作为中转;

// mov指令可以完成两种传送
// 1. 将数据直接送入寄存器  2.将一个寄存器中的内容送入另一个寄存器
mov bx,1000H
mov ds,bx
mov al,[0]

 字的传送

1. mov ML/MH, [address]   该指令可以使寄存器和内存之间进行字节型数据传送;(M=A/B/C/D)

2. mov MX,[Address]   该指令可以使寄存器与内存之间进行字型数据传送;(M=A/B/C/D)

mOV BX,1000
mov ds,bx
mov ax,[0]   //1000:0000处的字型数据送入AX
mov [0],cx   //cx中的16位数据送到1000:0000

数据段简介

将一组长度为N(N<=64KB)  地址连续 起始地址为16的倍数的内存单元当做专门存储数据的内存空间,从而定义了一个数据段;

例如: 123B0H - 123B9H 这段内存空间当做数据段使用,取段地址为123BH,长度为10个字节;

CPU提供的栈机制

栈是一种只能在一段进行插入或删除操作的数据结构

栈有两个基本操作:

入栈: 将一个新的元素放到栈顶

出栈: 从栈顶取出一个元素

栈顶元素最后入栈,最先出栈;

8086CPU提供相关指令以栈的方式访问内存空间,这意味着,在基于8086CPU编程时,可以将一段内存当做栈来使用;

8086CPU提供入栈和出栈指令,最基本的两个是PUSH(入栈)和POP(出栈)

  • push ax 表示将寄存器AX中的数据送入栈中;
  • pop  ax 表示从栈顶取出数据送入AX;

注:入栈和出栈的操作都是以字为单位进行

栈段寄存器SS和栈顶指针寄存器SP

question: push ax等入栈指令执行时,要将寄存器中的内容放入栈顶单元的上方,成为新的栈顶元素;pop  ax等出栈指令执行时,从栈顶单元要取出数据送入寄存器当中;如何知道哪个单元是栈顶单元?

可以根据栈段寄存器SS和栈顶指针寄存器定位处栈顶单元。

栈段寄存器SS存放栈顶单元的段地址;

栈顶指针寄存器SP存放栈顶单元的偏移地址;

任意时刻,SS:SP指向栈顶元素

PUSH AX指令的完整描述

  1.  SP=SP-2, SS:SP指向当前栈顶前面的单元,以当前栈顶前面的单元为新的栈顶;
  2.  将寄存器AX 中的内容送入SS:SP指向的内存单元处,SS:SP指向新栈顶;

示例图

 POP AX指令的完整描述

  1. 将SS:SP指向的内存单元处的数据送入寄存器AX中;
  2. SP=SP+2,SS:SP指向当前栈顶下面的单元,以当前栈顶下面的单元为新的栈顶;

示例图

 栈顶超界问题

question:依靠SS 与 SP 可以保证在入栈和出栈时找到栈顶,但是如何能够保证在入栈和出栈时,栈顶不会超出栈空间?

示例一:

 示例二:

 上述示例描述了执行push,pop指令时,发生栈顶超界问题,当栈满的时候使用push命令入栈,当栈空时使用pop命令出栈,都将发生栈顶超界问题;

当编程时,要根据可能用到的最大栈空间,安排栈的大小,需要程序员自己担心栈顶超界问题;

http://www.qdjiajiao.com/news/6260.html

相关文章:

  • 门户网站如何帮企业做宣传2022年最新热点素材
  • 怀化建网站广州的百度推广公司
  • 广东广东深圳网站建设seo课程心得体会
  • 商务信息网免费seo网站诊断
  • 怎样用ps做网站的效果图荨麻疹怎么治疗能除根
  • 网站关键词之间怎样制作网页设计
  • 找个网站开发的师傅百度seo公司哪家最好
  • 郑州的建设网站有哪些电商培训机构排名
  • 日照 网站建设河南seo优化
  • 抚州建设网站影视后期培训机构全国排名
  • 美橙域名查询网站短视频推广公司
  • 专业网站建设公司用织梦吗?北京做seo的公司
  • 30张女性人像摄影作品欣赏seo网站建设优化
  • 鹿泉微信网站建设广告联盟看广告赚钱
  • 应用汇应用商店优化
  • 建筑结构设计软件武汉网站优化公司
  • 保定建网站需要多少钱百度小说排行榜2019
  • 手机网站制作软件写软文怎么接单子
  • 昆山网站建设第一品牌传统营销和网络营销的区别
  • 网站建设教学视频网站查询域名解析
  • wordpress怎么上传高清图片大小四川旅游seo整站优化
  • 网站在线qq客服系统昆明网络推广
  • 湿地公园网站建设内部搜索引擎优化
  • 团购网站推广怎么做怎么快速推广app
  • 麻涌企业网站建设网络推广费用一般多少
  • 有道网站提交入口常见的网络推广方式有哪些
  • 杭州网站建设公司官网百度识图网站
  • 专业网站推荐上海百度推广平台
  • 深圳产品网站建设百度推广区域代理
  • 外贸网站建设制作百度网站提交收录入口