汇编达人视频学习3(通用寄存器、内存地址的五种形式和内存窗口的使用、汇编指令、大小端序)


title: 汇编达人视频学习3
date: 2021年8月2日 09点30分
tags: 汇编达人
categories: 汇编达人

9、学习汇编不是为了写代码

在这里插入图片描述

10、通用寄存器_上

在这里插入图片描述

11、通用寄存器_下

在这里插入图片描述

12、内存

在这里插入图片描述

这个4GB(32位,2的32次方)是假的,当我们去读或者写的时候,操作系统会把它映射到物理内存上面。

物理内存,跟内存条之间,还有一个映射。

使用内存

在这里插入图片描述

把数写到内存

mov byte ptr ds:【地址】,1 //根据第二个是1个字节还是4个字节来判断写入的宽度

mov dword ptr ds:【地址】,0x12345678

把寄存器的值写入到内存

mov dword ptr ds:【地址】,eax

前提是宽度必须一样

把内存的值写入到寄存器

mov eax,dword ptr ds:【地址】

13、内存地址的五种形式

要点回顾:

在这里插入图片描述

形式一:立即数

在这里插入图片描述

形式二:【reg】reg代表寄存器 可以是8个通用寄存器中的任意一个

在这里插入图片描述

形式三:【reg + 立即数】

在这里插入图片描述

形式四:【reg + reg *{1,2,4,8}】

在这里插入图片描述

在高级语言中,对数组进行赋值的时候,反汇编的代码就是这样的。

形式五:【reg + reg *{1,2,4,8} + 立即数】

在这里插入图片描述

14、小端大端存储模式

(3)的大端存储如下图

在这里插入图片描述

15、DTDEBUG内存窗口的使用

以字节查看,db

以字查看, dw

以双字查看, dd

在x86计算机中,大多是用小端存储。

在这里插入图片描述

从上图的反汇编窗口,可以看到,我们通过命令:

mov dword ptr ds:【133fd74】,0x11223344

向地址为0133fd74的内存里写入了11223344,

然后在内存窗口处,我们通过命令,db 133fd74,以字节的形式查看内存窗口

可以看到,11是高字节,存放到了高地址,44是低字节存放到了低地址。

16、常用的汇编指令

1、MOV指令

在这里插入图片描述

mov word ptr ds:【18ff94】,ax //把ax寄存器的值,存入到内存中

2、ADD指令

在这里插入图片描述

add eax,ecx // 把eax和ecx相加,结果存放到eax里

3、SUB指令

在这里插入图片描述

当涉及到内存的时候,就有一个固定的写法。

宽度byte,word,dword / ptr / ds:【地址】

比如:

sub al,byte pte ds:【18ff94】

4、AND指令,与运算

在这里插入图片描述

比如

and ax,word ptr ds:【18ff58】

5、OR指令,或运算

在这里插入图片描述

比如

or dword ptr ds:【133fd58】,eax //将eax的内容和地址为133fd58的值进行或运算,结果放到内存中

6、XOR指令,异或运算

在这里插入图片描述

7、NOT指令,非运算

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值