广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >dword ptr指令详细解析
  • 774
分享到

dword ptr指令详细解析

dword_ptr 2022-11-15 22:11:14 774人浏览 安东尼
摘要

对于这个问题,汇编语言中用一下方法处理。 (1)通过寄存器名指明要处理的数据的尺寸。例如:下面的指令中,寄存器指明了指令进行的是字操作:mov ax,1mov bx,ds:[0]mo

对于这个问题,汇编语言中用一下方法处理。

(1)通过寄存器名指明要处理的数据的尺寸。
例如:
下面的指令中,寄存器指明了指令进行的是字操作:
mov ax,1
mov bx,ds:[0]
mov ds,ax
mov ds:[0],ax
inc ax
add ax,1000

下面的指令中,寄存器指明了指令进行的是字节操作:
mov al,1
mov al,bl
mov al,ds:[0]
mov ds:[0],al
inc al
add al,100

(2)在没有寄存器名存在的情况下,用操作符 X  ptr 指明内存单元的长度,X在汇编指令中可以为Word或byte。
例如:
下面的指令中,用word ptr 指明了指令访问的内存单元是一个字单元:
mov word ptr ds:[0],1
inc word ptr [bx]
inc word ptr ds:[0]
add word ptr [bx],2

下面的指令中,用byte ptr 指明了指令访问的内存单元是一个字单元:
mov byte ptr ds:[0],1
inc byte ptr [bx]
inc byte ptr ds:[0]
add byte ptr [bx],2

在没有寄存器参与的内存单元访问指令中,用word prt 或byte ptr 显性地指明所要访问的内存单元的长度是很必要的。否则,CPU无法得知所要访问的单元,还是字节单元。

假如我们用Debug查看内存的结果如下:
2000:1000 FF FF FF FF FF FF ......

那么指令:
mov ax,2000H
mov ds,ax
mov byte ptr [1000H],1
将使内存中的内容变为:
2000: 1000 01 FF FF FF FF FF ......

而指令:
mov ax,2000H
mov ds,ax
mov word ptr [1000H],1
将使内存中的内容变为:
2000:1000 01 00 FF FF FF FF ......

这是因为 mov byte ptr [1000H],1访问的是地址为 ds:1000H 的字节单元,修改的是ds:1000H 单元的内容;而mov word ptr [1000H],1 访问的是地址为 ds:1000H 的字单元,修改的是 ds:1000H 和 ds:1001H 两个单元的内容。

PTR用来指出操作数的类型或尺寸,通常用在跳转/调子程序或寻址。寻址时用来指明是BYTE、WORD还是DWORD,跳转时则是FAR或NEAR。

(3) 其他方法
有些指令默认了访问的是字单元还是字节单元,比如:push [1000H] 就不用指明访问的是字单元还是字节单元,因为push指令只进行字操作。

--结束END--

本文标题: dword ptr指令详细解析

本文链接: https://www.lsjlt.com/news/172615.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • dword ptr指令详细解析
    对于这个问题,汇编语言中用一下方法处理。 (1)通过寄存器名指明要处理的数据的尺寸。例如:下面的指令中,寄存器指明了指令进行的是字操作:mov ax,1mov bx,ds:[0]mo...
    99+
    2022-11-15
    dword_ptr
  • 详细解析let和const命令
    目录let命令基本用法特性暂时性死区不允许重复声明const特性补充——块级作用域let命令 基本用法 我们都知道let命令是用来声明变量的,类似于var,但...
    99+
    2022-11-13
  • Vue自定义指令详细
    目录1、背景2、局部自定义指令3、全局自定义指令4.1 自定义指令钩子函数4.2 钩子函数参数4.3 动态指令传参 5、拓展1、背景 最近在面试找工作,然后面试官就问了有关自定义指令...
    99+
    2022-11-12
  • 详细解析命令行的getopt_long()函数
    头文件 #include<getopt.h> 函数原型int getopt_long(int argc,char * const argv[],const char *o...
    99+
    2022-11-15
    getopt_long
  • C语言的指针类型详细解析
    指针存储了内存的地址,同时指针是有类型的,如int*,float*,那么,一个自然的猜想就是指针变量应该存储这两方面的信息:地址和指针类型,比如,就像下面的结构体:复制代码 代码如下...
    99+
    2022-11-15
    C语言 指针类型
  • vue中自定义指令directive的详细指南
    目录一、 什么是自定义指令二、 如何自定义指令钩子函数三、应用场景输入框防抖图片懒加载一键 Copy的功能拖拽总结一、 什么是自定义指令 我们看到的v-开头的行内属性,都是指令,不...
    99+
    2022-11-12
  • window.history详细解析
    window.history是JavaScript中的一个对象,表示浏览器的历史记录。它提供了一些方法和属性,允许开发人员在浏览器历...
    99+
    2023-09-13
    解析
  • 详解nginx location指令
    location 介绍 location是Nginx中的块级指令(block directive),,location指令的功能是用来匹配不同的url请求,进而对请求做不同的处理和响...
    99+
    2022-11-12
  • Java详细讲解分析双指针法的使用
    目录前言1.判断链表是否有环2.查找链表中间的元素3.奇偶排序前奇后偶4.删除排序链表的重复元素5.三数之和6.分割链表7.合并两个有序的数组8.两数之和—输入有序数组9...
    99+
    2022-11-13
  • Docker中的COPY指令和ADD指令详解
    目录1、COPY指令(1)COPY指令说明(2)COPY指令格式(3)COPY指令使用(4)其他2、ADD指令(1)ADD指令说明(2)ADD指令格式(3)ADD指令使用(4)不推荐...
    99+
    2022-11-13
  • Vue.js源码分析之自定义指令详解
    前言 除了核心功能默认内置的指令 (v-model 和 v-show),Vue 也允许注册自定义指令。 官网介绍的比较抽象,显得很高大上,我个人对自定义指令的理解是:当自定义指令作用...
    99+
    2022-11-12
  • top命令详细解读
    top命令详细解读 1.top命令介绍2.top命令输出结果分析2.2 进程信息 3.top命令行选项4.top交互命令5. VIRT、RES、SHR含义 1.top命令介绍 top命令是Linux系统中常用的性能分析工具,...
    99+
    2023-08-20
    linux 服务器 运维
  • 【Linux基础】Linux的基本指令使用(超详细解析,小白必看系列)
    👉系列专栏:【Linux基础】 🙈个人主页:sunnyll 目录 💦 ls 指令 💦 pwd指令   💦cd指令  💦touch指令  &#...
    99+
    2023-10-23
    linux 运维 服务器
  • SQL Optimizer 详细解析
    目录一、 大数据体系和SQL1、SQL的处理流程1.1 Parser1.2 Analyzer和Logical Plan1.3 Physical Plan 和 Executor1.4 ...
    99+
    2022-11-13
  • SQL Optimizer 详细解析
    目录一、 大数据体系和SQL1、SQL的处理流程1.1 Parser1.2 Analyzer和Logical Plan1.3 Physical Plan 和 Executor1.4 小结二、 常见的查询优化器1、查询优化...
    99+
    2022-07-26
    SQL Optimizer Optimizer
  • Swift超详细讲解指针
    目录Swift指针Unsafe Pointer对照Objective-C例子Swift指针Unsafe Pointer 如果不是只读,可以修改 ( 写入 ),就加一个 Mutable...
    99+
    2022-11-13
    Swift 指针 Swift 指针操作
  • Nginx的try_files指令详解
    Nginx的try_files指令详解 顺序检查文件是否存在,返回第一个找到的文件或文件夹(结尾加斜线表示文件夹),如果所有的文件或文件夹都找不到,会进行一个内部重定向到最后一个参数。 注:只有最后一...
    99+
    2023-09-01
    nginx 运维
  • 详解ngx_cache_purge_proxy_cache指令使用
    目录1. proxy_cache 指令2. proxy_cache_bypass指令3. proxy_cache_key指令4. proxy_cache_lock指令5. proxy...
    99+
    2022-11-13
  • linux下修改文件权限chmod命令详细解析
    使用 linux 的chmod命令控制谁可以访问读写或运行目标文件。 在 Linux 中,谁可以对文件或目录做什么是通过一系列权限来控制的。 权限可以控制对文件或目录执行的操作(读写或执行)。 我们可以使用-l(长格式)...
    99+
    2022-06-04
    Linux文件权限chmod命令 chmod修改文件权限命令
  • 汇编语言LDR指令和LDR伪指令详解
    目录LDR指令和LDR伪指令详解ARM32位指令的构成ldr指令和ldr伪指令的使用区别:补充1:补充2:汇编语言ldr伪指令LDR指令和LDR伪指令详解 ARM32位指令的构成 A...
    99+
    2023-01-28
    ldr指令和ldr伪指令 汇编语言ldr伪指令 汇编语言ldr指令
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作