汇编–从数据类型看WORD与DWORD

您所在的位置:网站首页 汇编dw用法 汇编–从数据类型看WORD与DWORD

汇编–从数据类型看WORD与DWORD

2024-07-07 02:07:46| 来源: 网络整理| 查看: 265

刚接触汇编与逆向,记录一些学习笔记。

源代码:

IDA汇编代码:

首先 1字=2字节  1字节=8位(8比特)=2位16进制

var_6=dword ptr -6: ptr-6表示指针上移6个单位处,这里的单位是指计算机的寻址单位,一般按字节寻址,[EBP+var_6]就表示EBP-6个字节的地址处。 DWORD 表示双字,是对存入数据的说明。双字=4字节,也就是8位16进制,也就是32比特(二进制)。 mov [EBP+var_6] eax(eax的值为0x00000000,EAX为32位寄存器)表示的就是将0以双字(4字节)形式存入EBP-6地址处。双字形式的0也就是8位16进制的0,32位比特的0。那将占用实际地址几位呢?这里牵扯到计算机的寻址方式。一般以字节进行寻址,一个字节2位16进制。也就是说一个地址单元只能存8比特。 那mov [EBP+var_6] eax要存32比特,就存在了EBP-6,EBP-5,EBP-4,EBP-3四个地址单元上了。

var_2=word ptr -2 ptr-2表示指针上移2个单位处,这里的单位同样是字节,[EBP+var_2]就表示EBP-2字节处。这里和DWORD是一样的。 Word 表示单字=2字节=16比特,是对存入数据的要求,也就是16比特。 mov [EBP+var_2] ax 表示的是将0以单字节的形式存入EBP-2地址处,AX是取EAX的低16位。符合word(单字)的要求。 根据之前说的按字节(4位16进制=16比特)为单位寻址,ax的值存入EBP-2和EBP-1处,这两个地址单元。

short[4]=[100,]的生成 short型长度为2字节,占16位。汇编代码中的执行过程为:首先存入16位的0x64(100),即short[0],再存入32位的(0x00),实际上是两个16位的0x00,即short[1]=0,short[2]=0,最后通过ax寄存器存入16位的0x00,即short[3]=0. 因此汇编代码中表面上只有两步赋0操作。

OD中动态观察:

初始状态:

存入1字Word(双字节)的0x64

存入双字DWORD(4字节=8位16进制)的0x00,赋值short[1]和short[2]

存入单字(双字节=4位16进制)的0x00,short[3]=0

double型

double型占8字节(64位),在内存地址中占8个单位。是分两次存入的,一次赋值4个字节的内容。之后的赋0操作略有不同,是通过一个循环实现的。

ECX=6表示循环6次,XOR EAX EAX 将EAX初始化为0从[EBP+var_50]开始向下循环6次,每次存入32为的0x00(EAX为32位)即4字节,共24字节的0,即为3个double型的0,。赋值完毕。

文章同步到我的博客http://www.zjzhhb.com/archives/556

禁止转载



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭