我为MASM编写了x86汇编代码:
loop_start:
mov dword ptr [esp], 0
clflush dword ptr [esp]
mov dword ptr [esp], 0FFFFFFFFh
clflush dword ptr [esp]
jmp loop_start
它将无限循环零和一写入内存中的同一地址。
在此示例中,仅位于堆栈的顶部。
然后,clflush指令强制将cpu-cache中的写回至内存。
问题是,如果运行一天左右,会及时损害内存。
因为我知道RAM会随时间变成错误,例如ssd驱动器是可写的。
答案 0 :(得分:1)
与Flash(用于SSD中)不同,DRAM具有无限的写入耐久性。它的读/写不会比只坐在那里上电快得多。
BTW,import 'package:flutter/material.dart';
import 'package:flutter_statusbarcolor/flutter_statusbarcolor.dart';
import 'package:flutter/services.dart';
void main() async{
try {
await FlutterStatusbarcolor.setStatusBarColor(Colors.black);
} catch (e) {
print(e);
}
runApp(MaterialApp(
title: 'Using Keys',
debugShowCheckedModeBanner: false,
theme: ThemeData(
primaryColor: Colors.white
),
home: InputBox(),
));
}
class InputBox extends StatefulWidget {
@override
_InputBoxState createState() => _InputBoxState();
}
class _InputBoxState extends State<InputBox> {
bool loggedIn = false;
String _email, _username, _password;
final scaffoldKey = GlobalKey<ScaffoldState>(); //a key for the state of the scaffold
final formKey = GlobalKey<FormState>(); //a key for the state of the form
@override
Widget build(BuildContext context) {
return Scaffold(
key: scaffoldKey,
appBar: AppBar(
//backgroundColor: Colors.white,
centerTitle: false,
brightness: Brightness.dark,
title: Text("Using Keys",
style: TextStyle(
fontSize: 24.0,
)),
elevation: 4.0,
),
);
}
}
或movnti
将是进行缓存绕过存储的更简单方法。交替编写一对高速缓存行。