汇编语言基础教程-寻址方式

简介: 1立即寻址 在指令中使用的操作数为常数 如: mov eax,190;与mov eax,00BEH相同,低字节在前s mov eax,0FFFFFFFFH;与 mov eax,-1相同 eax可以存放一个双字   2寄存器寻址 操作数已经在CPU的寄存器中 如: mov EAX,...

1立即寻址

在指令中使用的操作数为常数

如:

mov eax,190;与mov eax,00BEH相同,低字节在前s

mov eax,0FFFFFFFFH;与 mov eax,-1相同

eax可以存放一个双字

 

2寄存器寻址

操作数已经在CPU的寄存器中

如:

mov EAX,EBX

 

3直接寻址

操作数为一个已经定义好的变量

如:

mov eax,dvar;dvar为一个双字变量

mov dvar,eax

在翻译成及其指令后,以上指令就变成了类似以下形式

mov eax,[00404011];地址外面加一个方括号,表示取这个地址的内容

 

4寄存器间接寻址

操作数的地址放在寄存器中

如:

mov ESI,00404011H

mov EAX,[ESI]

32位CPU中EAX,EBX,ECX,EDX,ESI,EDI,EBP,ESP能用作间接寻址

 

5寄存器相对寻址

如:

mov ESI,00404011H

mov EAX,[ESI+4]

 

6基址变址寻址

如:

mov ESI,00404011H

mov EBX,4

mov EAX,[ESI+EBX]

 

7基址变址相对寻址

如:

mov ESI,00404011H

mov EBX,4

mov EAX,[ESI+EBX+4]

 

8基址变址比例相对寻址

如:

mov ESI,00404011H

mov EBX,4

mov EAX,[ESI+EBX*2+4]

 

9*段超越

内存操作数的地址由两个部分指定:段和有效地址。

寻址方式中确定操作数的有效地址后,还要依靠段寄存器一起来确定操作数的内存地址

默认情况下内存操作指令在DS段中

如果使用了ESP和EBP来寻址,那么使用的是SS段寄存器

如:

mov eax,[ebp+8];内存操作数在SS段中

使用段超越前缀可以改变寻址方式中默认使用的段寄存器

如:

mov eax,cs:[ESP-4]

windows 32编程环境下CS,DS,ES,SS在内存中指向同一个段,其大小为4G

所以一般用不到段超越的操作

目录
相关文章
|
3月前
汇编指令学习(寻址方式)
汇编指令学习(寻址方式)
20 0
|
8月前
|
存储 安全 程序员
5.1 汇编语言:汇编语言概述
汇编语言是一种面向机器的低级语言,用于编写计算机程序。汇编语言与计算机机器语言非常接近,汇编语言程序可以使用符号、助记符等来代替机器语言的二进制码,但最终会被汇编器编译成计算机可执行的机器码。相较于高级语言(如C、Python等),汇编语言学习和使用难度相对较大,需要对计算机内部结构、指令集等有深入的了解,以及具有良好的编程习惯和调试能力。但对于需要对计算机底层进行操作的任务,汇编语言是极其高效的,因为其可以实现对计算机底层资源的精细控制,极大地提高了计算机运行效率。
63 0
|
10月前
|
缓存 前端开发 Java
汇编语言简介
汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。
|
存储 自然语言处理 Java
汇编语言学习 下
汇编语言学习笔记 下
112 1
汇编语言学习 下
汇编语言之寻址方式
汇编语言之寻址方式
119 0
|
存储 编译器
汇编语言之转移指令和原理
汇编语言之转移指令和原理
338 0
汇编语言之转移指令和原理
|
存储 编译器 程序员
汇编语言之基础知识
汇编语言之基础知识
273 0
汇编语言之基础知识
|
数据安全/隐私保护
汇编语言实验3-寻址方式
本文为《汇编语言程序设计》配套实践。点击链接…进课程主页。 1. 实验目的 理解程序在访问内存单元时采用的各种寻址方式 学会基于字符的ASCII编码,进行大小写转换、简单加密等方法 学会用loop指令,结合寻址方式,编制单层和双层循环程序解决问题 2. 实验内容 任务0-完成本周课堂程序的调试   (1)有8位IT菜鸟工程师,第一行数据是他们的基本工资,第
1456 0
|
芯片 索引
汇编语言指令以及伪指令速查手册
汇编语言指令以及伪指令速查手册(备查) 它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据.    1. 通用数据传送指令.      MOV   传送字或字节.
1822 0