汇编——数据存储模式

基础概述

1.存储模式:规定多字节数值在连续内存字节单元里的排布顺序(大端 / 小端)

2.内存最小单元:1 地址 = 1 字节 (8bit),地址是字节的编号

3.32 位进程虚拟地址空间总大小 4GB,地址范围十六进制:0x00000000 ~ 0xFFFFFFFF

地址 0 说明

1.地址 0 本身硬件层面可以写入、存放数据

2.日常编程崩溃报错访问0地址,不是地址0不能存数据,而是操作系统对

虚拟地址0段做了保护,用户进程默认没有读写0地址的权限,一访问直接

触发异常,并非硬件禁止存储

字 (Word) 存储规则

1 个 Word=2 字节,必须占用两块连续的字节内存地址;DWORD 双字 = 4 个连续字节(汇编访问多字节内存必须标注宽度WORD PTR / DWORD PTR)

大端、小端字节序核心定义

设一个 4 字节数值:0x1A2C3E4F

拆分字节:高位字节0x1A 次高位0x2C 次低位0x3E 最低位字节0x4F

1.大端 (Big-Endian) 高位字节放在低地址,低位字节放在高地址 地址升序存放:0x1A → 0x2C → 0x3E → 0x4F

2.小端 (Little-Endian) 低位字节放在低地址,高位字节放在高地址 地址升序存放:0x4F → 0x3E → 0x2C → 0x1A

主流 CPU 默认字节序

1.x86 全系列(8086/8088 / 奔腾 / 酷睿):固定默认小端

2.ARM 架构:默认常为大端;现代 ARM 支持可切换大小端

3.字节序可通过编译器、CPU 配置寄存器手动切换,不是永久固定死。

Debug 调试内存查看(DT Debug/OD/x64dbg 通用)

1.内存窗口:输入地址,查看对应内存原始字节内容

2.查看命令:

● db:按单字节逐格展示内存(最适合看字节序)

● dw:按 2 字节 Word 展示

● dd:按 4 字节 DWORD 展示

3.验证大小端实操步骤:

汇编把 4 字节常量存入一块内存

用db查看逐个字节

对比排布顺序,判断当前 CPU 是大端还是小端

相关推荐
落魄大学生之流水线上谋生计4 分钟前
Java并发核心机制详解:线程池、CAS、AQS、锁升级
java·开发语言·数据库
hahaha60166 分钟前
HLS高层次综合设计技巧--数组
开发语言·嵌入式硬件·算法·fpga开发
佳児素花痴╮26 分钟前
Qt速通2
开发语言·qt
“AI国潮设计-小江”1 小时前
【Python/SDXL实战】潮汕国潮IP视觉落地:普宁英歌舞猫IP & 创意甜品设计(附ComfyUI工作流与商业授权说明)
开发语言·人工智能·python·prompt·aigc
529宝宝起名网1 小时前
用 Python 分析汉字字源与起名用字的关联规律:从六书结构到文化寓意的起名偏好洞察
开发语言·python
linx2951 小时前
单元九 · 零基础路线图-第 7–9 周·类与 RAII
c语言·开发语言·数据结构·c++·嵌入式硬件·算法
白色的北极熊2 小时前
c语言 输出菱形字符串
c语言·开发语言
学习智者2 小时前
《玄》IDE v3.6.3重磅发布:全功能修复与性能飞跃
开发语言·c++·ide·算法·中文语言 玄
奔跑吧树袋熊3 小时前
多租户隔离该做到哪一层:从连接池到 ORM 的取舍
开发语言·数据库·oracle·系统架构
大江东去浪淘尽千古风流人物3 小时前
【LoMa】局部特征匹配重访:从LoMa-B到旋转不变LoMa-R的架构与工程实践
开发语言·深度学习·计算机视觉·r语言·视觉定位·sfm·局部特征匹配