汇编语言+IDA安装问题解决汇总

利用汇编语言计算机和人类链接更为便捷如下图所示:
在这里插入图片描述

寄存器:
简单讲就是CPU可以存储数据的器件,一个CPU可以有多个寄存器。AX、BX是两个不同的寄存器。

16位处理器有14个寄存器:AX、BX、CX、DX、SI、DI、SP、BP、IP、CS、SS、DS、ES、PSW。

32位处理器有16个寄存器:EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESP、EIP、ES、CS、SS、DS、FS、GS、EFLAGS。

64位处理器有15个寄存器:RAX、RBX、RCX、RDX、RSI、RDI、RBP、RSP、R8、R9、R10、R11、R12、R13、R14、R15

寄存器的作用

  • 可以用来读写数据到电脑的周边设备
  • 可将寄存器内的数据执行算术及逻辑运算
  • 存于寄存器内的地址可用来指向内存的某个位置,即寻址

数学运算的汇编指令 mov、add、sub、xor

汇编指令控制CPU完成的操作用高级语言的语法描述
mov ax ,18将18送入寄存器AXAX=18
mov ah ,78将18送入寄存器AHAH=78
mov ax ,bx将寄存器BX中的数据送入寄存器AXAX=BX+18
add ax ,8将寄存器AX中的数值加上8AX=AX+8
sub ax ,18将寄存器AX中的数值减去18AX=AX-18
xor ax ,18将寄存器AX中的数值与18异或AX=AX^18
函数跳转指令
  1. 无条件转移指令 (长转移)
    JMP-- 无条件转移指令
    CALL-- 过程调用
    RET/RETF-- 过程返回.
  2. 条件转移指令-- (短转移,-128到+127的距离内)( 当且仅当(SF XOR OF)=1时,OP1<OP2 )
    JA/JNBE – 不小于或不等于时转移.
    JAE/JNB – 大于或等于转移.
    JB/JNAE – 小于转移.
    JBE/JNA – 小于或等于转移.
    以上四条,测试无符号整数运算的结果(标志C和Z).
    JG/JNLE --大于转移.
    JGE/JNL --大于或等于转移.
    JL/JNGE --小于转移.
    JLE/JNG – 小于或等于转移.
    以上四条,测试带符号整数运算的结果(标志S,O和Z).
    JE/JZ --等于转移.
    JNE/JNZ – 不等于时转移.
    JC – 有进位时转移.
    JNC – 无进位时转移.
    JNO – 不溢出时转移.
    JNP/JPO – 奇偶性为奇数时转移.
    JNS --符号位为 “0” 时转移.
    JO – 溢出转移.
    JP/JPE – 奇偶性为偶数时转移.
    JS – 符号位为 “1” 时转移.
  3. 循环控制指令(短转移)
    LOOP – CX不为零时循环.
    LOOPE/LOOPZ – CX不为零且标志Z=1时循环.
    LOOPNE/LOOPNZ – CX不为零且标志Z=0时循环.
    JCXZ – CX为零时转移.
    JECXZ – ECX为零时转移.
  4. 中断指令
    INT – 中断指令
    INTO – 溢出中断
    IRET – 中断返回
  5. 处理器控制指令
    HLT — 处理器暂停, 直到出现中断或复位信号才继续.
    WAIT --当芯片引线TEST为高电平时使CPU进入等待状态.
    ESC – 转换到外处理器.
    LOCK — 封锁总线.
    NOP – 空操作.
    STC --置进位标志位.
    CLC --清进位标志位.
    CMC – 进位标志取反.
    STD --置方向标志位.
    CLD – 清方向标志位.
    STI --置中断允许位.
    CLI --清中断允许位.

IDA安装问题解决汇总:
1、打开的时候出现:Oops! internal error 40343 occured.
Further work is not possible and IDA will close.
Would you like to create a crash dump for a bug report?

在这里插入图片描述仔细检查一下安装路径,必要要求:安装路径下不能出现汉字。重装一下即可

2、另一个是按F5查看代码的时候总是出现错误或者不能使用的: 仔细看下文件,好多文件需要32位的IDA打开才能正常使用,可以用kali 输入命令file + 文件名查看文件位数。
但有的不是这种问题,可以试一下如下解决方法:

在这里插入图片描述
在这里插入图片描述圈着的Stack pointer 前边勾选即可。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值