操作数

Java虚拟机介绍

Java虚拟机概述 Java虚拟机(JavaVirtualMachine)简称JVMJava虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。下面我们就来看一下这几部分比较重要的java虚拟机的结构 一、JVM寄存器 所有的CPU均包含用于保存系统状...

C Primer Plus(十五)

第十五章 位操作 15.1 二进制数、位和字节 以2为基数表示的数字称为二进制数,可以使用二进制数将任何整数表示为1和0的一个组合,这种系统非常适合于数字计算机使用。 15.1.1 二进制整数 描述存储器芯片和数据传输率时使用的字节指8位字节。最小的二进制数是00000000,或一个简单的0.一个字节可以存储的数的范围是0到255.通过改变对位模式的解释方式...

Linux中的汇编简介

GNU as汇编语法 GNU汇编语法使用的是AT&T汇编它和Intel汇编的语法主要有以下一些不同: AT&T汇编中的立即操作数前面要加上'$',寄存器操作数名前要加上百分号'%',绝对跳转操作数前要加上'*',Intel的语法均不包含这些符号; AT&T语法与Intel语法中使用的源操作数和目的操作数顺序正好相反,AT&...

函数的调用过程与出入栈

函数调用的过程 线程执行的基本行为是函数调用,每次函数调用的数据都是通过Java栈传递的。Java栈与数据结构上的栈有类似的含义,它是一块先进后出的数据结构,只支持入栈和出栈两种操作。Java栈的主要内容是栈帧。每次函数调用都会有一个对应的栈帧被压入Java栈,每次函数调用结束(无论是正常返回或者抛出异常),都会有一个栈帧被弹出Java栈。 如图所示,函数...

字节码指令简介(转)

字节码指令简介(转) 原文阅读 操作码:一个字节长度、代表某种特定操作含义的数字。 操作数:跟在操作码后面0个或多个代表此操作所需的参数。 Java虚拟机的指令 = 操作码 + 操作数。由于Java虚拟机采用面向操作数栈,所以大多指令都不包含操作数,只有一个操作码。 Java虚拟机的解释器(不考虑异常): do { 自动计算PC寄存器...

笔记之Cyclone IV第一卷第四章Cyclone IV器件中的嵌入式乘法器

嵌入式乘法器可以配置成一个 18 × 18 乘法器,或者配置成两个 9 × 9 乘法器。对于那些大于18 × 18 的乘法运算 ,QuartusII 软件会将多个嵌入式乘法器模块级联在一起。虽然没有乘法器数据位宽的限制,但数据位宽越大,乘法运算就会越慢。 除了 Cyclone IV 器件中的嵌入式乘法器,通过将 M9K 存储器模块用作查找表 (LUT) 可...

ASM

在学习汇编之前,我们要介绍一下常用的函数调用约定,以便我们对于一些指令的理解。 函数调用约定 常见的函数调用约定:stdcall , cdecl, fastcall, thiscall, naked call 1, __cdecl(C调用约定.)C/C++ 缺省调用方式 1)压栈顺序: 函数参数从右到左 2)参数栈维护: 由调用函数把参数弹出栈,传送参数的...

【转载】Perl异常处理方法总结

    程序脚本在运行过程中,总会碰到这样那样的问题,我们会预知一些问题并为其准备好处理代码,而有一些不能预知。好的程序要能尽可能多的处理可能出现的异常问题,本文就总结了一些方法来解决这些异常,当然perl在这个处理了不及其它同类语言,但也不会差到那里。在开始前,我们先盘点一些关于perl的优缺点。0. 历史太悠久了。你可以在1997年的计算机上找到per...

逆向so文件调试工具ida基础知识点

1.界面介绍 https://www.freebuf.com/column/157939.html 2.IDA常用快捷键 切换文本视图与图表视图 空格键 返回上一个操作地址 ESC 搜索地址和符号 G 对符号进行重命名 N 常规注释 '冒号键 可重复注释 分号键 添加标签 Alt+M 查看标签 Ctrl+M 查看段的信息 Ctrl+S 查看交叉应用...

ARM寻址方式

立即数寻址: 操作数本身就在指令中 例子:ADD R0,R0,#0X3F(注意:立即数需要在数据前面加上一个#号) 寄存器寻址: 利用寄存器中的数值作为操作数,数据存在寄存器中 例子:ADD R0,R1,R2 寄存器间接寻址: 数据存放在内存中,寄存其中存放的不是操作数本身,而是其在内存中的地址。通常需要加上一个[] 例子:LDR R0,[R2] 基地址变...