汇编学习笔记4

汇编 Day4 (数据之间的宽度)


8位(b)= 1字节(Byte)
WORD = 2Byte
DWORD = 4Byte

MOV指令

  • 立即数到内存
	MOV BYTE PTR DS:[0019FEB0],1

在这里插入图片描述
在这里插入图片描述
注意:宽度为一个字节


  • 寄存器到内存
	MOV DWORD PTR DS:[0019FEB4],EAX

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意:宽度为四个字节


  • 内存到寄存器
	MOV CX,WORD PTR DS:[0019FEBC]

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意:宽度为两个字节


内存能不能到内存呢?

在这里插入图片描述

在汇编中绝大部分的汇编指令是不允许从内存到内存的


汇编地址的五种形式

形式一:[立即数]

	读取内存的值: 	
	
	mov eax,dword ptr ds:[0xffffffff]
	向内存中写入数据: 
	
	mov dword ptr ds:[0xffffffff],eax

形式二:[reg] reg代表任意一个通用寄存器

	读取内存的值: 	
	
	mov ecx,0xffffffff
	mov eax,dword ptr ds:[ecx]
	向内存中写入数据: 
	
	mov ecx,0xffffffff
	mov dword ptr ds:[ecx],0x1

形式三:[ret + 立即数]

	读取内存的值: 	
	
	mov ecx,0xfffffffb
	mov eax,dword ptr ds:[ecx + 4]
	向内存中写入数据: 
	
	mov ecx,0xffffffff
	mov dword ptr ds:[ecx - 4],0x2

形式四:[reg + reg * {1,2,4,8}]

	读取内存的值: 	
	
	mov ecx,0xfffffffb
	mov eax,2
	mov eax,dword ptr ds:[ecx + eax * 1]
	向内存中写入数据: 
	
	mov ecx,0xffffffff
	mov eax,2
	mov dword ptr ds:[ecx - eax * 1],0x3

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

	读取内存的值: 	
	
	mov ecx,0xfffffffb
	mov eax,2
	mov eax,dword ptr ds:[ecx + eax * 1 + 1]
	向内存中写入数据: 
	
	mov ecx,0xffffffff
	mov eax,2
	mov dword ptr ds:[ecx - eax * 1 + 1],0x4
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值