首页 > 编程语言 >汇编指令长度计算

汇编指令长度计算

时间:2023-11-29 22:14:19浏览次数:31  
标签:汇编 操作数 字节 mov 指令 寄存器 长度

  • 汇编指令长度计算
    • 1、无操作数指令
      • 没有操作数的指令,指令长度为1字节。如
      • es:
      • ds:
      • cbw
      • xlat
    • 2、操作数只涉及寄存器
      • 操作数只涉及寄存器的指令,指令长度为2字节。如
      • mov al,[si]
      • mov ax,[bx+si]
      • mov ds,ax
    • 3、操作数涉及内存地址的指令
      • 操作数涉及内存地址的指令,指令长度为3字节。如
      • mov al,[bx+1]
      • mov ax,[bx+si+3]
      • lea di,[1234]
      • mov [2345],ax
    • 4、操作数涉及立即数的指令
      • 操作数涉及立即数的指令,指令长度为:寄存器类型+1。8位寄存器,寄存器类型=1;16位寄存器,寄存器类型=2。如
      • mov al,8 ;指令长度为2
      • mov ax,8 ;指令长度为3
    • 5、跳转指令
      • 跳转指令,分3种情况,指令长度分别为2、3、5字节。
        • 段内跳转,指令长度=(目标地址-指令当前地址)+1
        • jmp指令本身占用1个字节。
        • (目标地址-指令当前地址)若能用1个字节表示,则占用1个字节,整体指令长度为2字节;如0113 jmp 0185 ;0185h-0113h=72h,72h可用1个字节表示
        • 若需2个字节表示,则占用2个字节,整体指令为3个字节。如
        • 0113 jmp 0845 ;0845h-0113h=732h,732h需用2个字节表示
        • 2、段间跳转,指令长度为5字节。
          • 如jmp 1234:5678
  •  

标签:汇编,操作数,字节,mov,指令,寄存器,长度
From: https://www.cnblogs.com/messing1758954258/p/17866017.html

相关文章

  • Linux关于vim的一些操作指令
    1.模式:2.Vim具有多种工作模式,最基本的有两种:命令模式和插入模式。3.在命令模式下,键盘输入被解释为命令,例如移动光标、删除文本等。4.在插入模式下,键盘输入直接插入到文本中。5.基本操作:6.进入插入模式:按下i键。7.保存文件:在命令模式下输入:w。8.退出Vim:在命令模式下输入:q。9......
  • 手机直播源码,js实现懒加载、vue实现图片懒加载指令
    手机直播源码,js实现懒加载、vue实现图片懒加载指令图片懒加载监听滚动条滚动事件,当视口的高度+滚动高度,大于图片所在位置举例顶部的偏移量时(也就是距离),加载图片资源 index.html<!DOCTYPEhtml><html> <head>  <metacharset="UTF-8">  <metaname="viewport"conte......
  • 汇编--简单的子程序调用
    目录前言程序要求思路十进制转二进制二进制转十六进制代码实现数据段定义十进制转二进制子程序运行结果二进制转十六进制子程序运行结果main程序前言本文将以十进制转二进制以及二进制转十进制为例,展示汇编子程序的基本语法。程序要求使用两个子程序,定义一个变量a=156,一个8......
  • ​​MySQL 指令​​
    MySQL指令基本概念SQL指令SQL指令是用于访问和处理数据库的标准的计算机语言。对于MySQL等常用数据库都可以通过使用SQL访问和处理数据系统中的数据。注意事项SQL对大小写不敏感。标识符应避免与关键字重名!可用反引号(`)为标识符包裹。注释单行注释:#注释内容多行注释:/*......
  • 学习Vue3 第四章 vue指令
    指令v-开头都是vue的指令v-text用来显示文本v-html用来展示富文本v-if用来控制元素的显示隐藏(切换真假DOM)v-else-if表示v-if的“elseif块”。可以链式调用v-elsev-if条件收尾语句v-show用来控制元......
  • Linux解压文件指令
    一、ZIP解压1、把文件解压到当前目录下unzip文件名.zip2、如果要把文件解压到指定的目录下,需要用到-d参数。unzip-d目录文件名.zip3、解压的时候,有时候不想覆盖已经存在的文件,那么可以加上-n参数unzip-n文件名.zipunzip-n-d目录文件名.zip压缩的话同理:zip文件夹......
  • 汇编-标号
      1.标号的定义 当在程序中使用一条跳转指令的时候,可以用标号来表示跳转的目的地,编译器在编译的时候会把它替换成地址,标号既可以定义在目的指令同一行的头部,也可以在目的指令前行单独用一行定义,标号定义的格式是:标号名:目的指令  ;方法1或标号名::目的指令   ;方......
  • 汇编-MessageBoxA消息框
     .386.modelflat,stdcall.stack4096ExitProcessPROTO,dwExitCode:DWORDMessageBoxAPROTO:DWORD,:DWORD,:DWORD,:DWORD.datalptextBYTE"消息",0lpcaptionBYTE"标题",0.codemainPROCinvokeMessageBoxA,0,OFFSETlptext,OFFSET......
  • uboot常用指令
    uboot命令helpboinfo查看板子信息printenv打印环境变量version版本环境变量setenvsaveenv修改:setenvbootdelay5saveenv清除:setenvsaveenv内存操作 直接对DRAM进行读写操作 查看:md.(bwl)8000000014修改:nm.(bwl)80000000 后输入修改自增:指......
  • linux常用指令(top,ps-ef,htop)
    1、查看已经运行的任务:top:实时显示系统的运行状态,包括运行的进程、CPU使用率、内存使用情况 ps-ef:列出当前系统中所有的进程,包括进程的PID、父进程ID、CPU使用率、内存使用 htop:列出当前系统中所有的进程,包括进程的PID、父进程ID、CPU使用率、内存使用......