汇编语言中 LOAD与STORE有啥区别?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编语言中 LOAD与STORE有啥区别?相关的知识,希望对你有一定的参考价值。
书上说,LOAD R1, M1和STORE R1, M1都是把M1送入R1中……
LOAD是取后面地址单元的内容,放到前面地址单元里面去。SORE是把前面地址的内容存储到后面地址单元里面去。一前一后。 参考技术A 不是,load 是读取到前面的R1里
store是存储到后面的M1里本回答被提问者采纳 参考技术B load是把内存的值放到寄存器里
store是把寄存器的值放到内存 参考技术C LODS (Load string)串装入指令:将数据从内存指定位置装入CPU中的累加器
指令格式有3种:
LODS OPRD ;OPRD为源串
LODSB
LODSW
LODS指令把由DS:SI指向的源串中的字节或字取到累加器AL或AX中,并在这之后根据DF的值自动修改指针SI,以指向下一个要装入的字节或字。
STOS (Store string)串存储指令:将CPU中的累加器中的数据装到内存中指定位置
指令格式有3种:
STOS OPRD ;OPRD为目标串
STOSB
STOSW
STOS指令把累加器AL中的字节或AX中的字存到由ES:DI指向的存储器单元中,并在这之后根据DF的值自动修改指针DI的值(增量或减量),以指向下一个存储单元。利用重复前缀REP,可对连续的存储单元存入相同的值
“商店和网络”与“仅限网络”有啥区别?
【中文标题】“商店和网络”与“仅限网络”有啥区别?【英文标题】:What is the difference between 'store-and-network' vs 'network-only'?“商店和网络”与“仅限网络”有什么区别? 【发布时间】:2021-03-03 02:46:13 【问题描述】:我已阅读文档,但我仍然对 fetch 策略“store-and-network”和“network-only”之间的区别感到困惑。
“store-and-network”:将重用本地缓存的数据,并且将始终 发送网络请求,无论是否丢失任何数据 是否来自本地缓存。
“network-only”:不会在本地重用 缓存的数据,并且总是会发送一个网络请求来获取 查询,忽略可能在 Relay 中本地缓存的任何数据。
我只是不明白“商店和网络”的意义何在。它声称它“将重用本地缓存的数据”......但它总是从网络中获取,那么它究竟可以重用什么?
在我的应用中,我对两者都进行了试验,发现行为差异为零。有人可以对此进行扩展,并可能演示“存储和网络”和“仅网络”实际上会从查询中返回不同结果的场景吗?
【问题讨论】:
【参考方案1】:存在中继获取策略,以便您可以控制在数据过时或丢失时发生的情况。
文档在这里扩展了这个概念:https://relay.dev/docs/en/a-guided-tour-of-relay#presence-of-data
但是,总结一下:
缺少数据:当检测到某个特定数据不再在任何地方呈现时,中继垃圾会收集存储中的数据。这可以通过多种方式处理,但通常与组件的安装/卸载相关,这些组件维护(ed)对特定片段或查询的引用。一旦 Relay 检测到存储中的某些数据没有活动引用,它就会安排该数据进行垃圾收集。
过时数据:数据可能仍然过时,但未安排进行垃圾回收。在这种情况下,数据没有“丢失”(就像在 #1 中一样),而只是需要刷新——很可能是在突变之后。仍然存在通过挂载组件对 store 中数据的引用。
有了这种区别,“仅网络”获取策略将忽略缓存。它不会检查组件需要渲染的数据是否可用;相反,它将始终发起网络请求,并且与商店中数据的存在(或缺乏)或陈旧(或缺乏)无关,就好像商店不存在一样。
另一方面,“存储和网络”获取策略对存储中数据的存在(或缺乏)或陈旧(或缺乏)敏感。
它将调查商店中是否存在渲染特定组件所需的数据:
(a) 如果是,它将渲染并尝试开始渲染组件的子树,这将经历类似的检查数据是否丢失的过程;
(b) 如果在渲染树 Relay 的任何时候遇到存储中不存在的具有数据需求的组件,则该组件无法渲染,因此网络请求将始终执行。
因此,“存储和网络”允许您严格控制具有不同数据要求的组件树将如何呈现。将始终发出网络请求 - 获取策略仅指示 Relay 在给定商店的当前状态时应如何处理渲染/暂停渲染组件子树的部分。
在 (b) 的情况下,一个很好的例子是,您声明了一个片段,该片段定义了以前卸载的组件的数据需求,但该组件已由应用程序中其他地方的组件共享。数据丢失 = 执行网络请求 + Relay 世界暂停渲染。
换句话说,获取策略实际上是关于您的应用如何呈现,而不是您的应用如何获取。
【讨论】:
【参考方案2】:通过大量的实验,我找到了答案:
'network-only' 获取数据,并且不更新中继存储中的任何值。它不会导致其他片段被更新。
'store-and-network' 获取数据,然后使用这些值更新存储。这将导致任何依赖的片段被更新,这将导致它们的组件被渲染。
【讨论】:
以上是关于汇编语言中 LOAD与STORE有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章