首页
社区
课程
招聘
[旧帖] [求助]汇编指令add的疑惑 0.00雪花
发表于: 2008-12-21 15:46 4646

[旧帖] [求助]汇编指令add的疑惑 0.00雪花

2008-12-21 15:46
4646
BX=0FFFFH
add ax,bx
究竟是加上0FFFFH还是加上0FFFFH内存单元里面的值呢?
这个问题有点简单,但是我有点疑惑

正确的答案是ax=ax+bx
书上写加0FFFFH:0地址单元的数值是错误的,希望同学王爽第二版的在这里不要被迷惑,在VC6中用内嵌汇编
#include "stdafx.h"

int main(int argc, char* argv[])
{
          char *c="Hello, world\n\r$";

          __asm
        {
                mov BX,0FFFFH
                mov cx,2        //在这里一下端点后查看CX值,查看CX=2的话那就是书上错了
                mov dx,1
                mov dx,2
        };

        printf("Hello World!\n");
        return 0;
}

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 419
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
前者吧

add eax,dword ptr [ebx]

这样才是你说的后者
2008-12-21 16:05
0
雪    币: 230
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
王爽的第二版的书上注释为:
加的是0FFFFH:0地址单元的数值。所以非常的疑惑
2008-12-21 16:12
0
雪    币: 419
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
自己开调试器验证吧

王爽的书很多错误的
2008-12-21 16:14
0
雪    币: 442
活跃值: (43)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
对啊

正确答案是ax=ax+bx

如果是内存的地址放在寄存器里面

用内存中的值来相加应该要加上个[]
2008-12-21 20:38
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
相加  搞懂了谢谢
2008-12-22 00:04
0
游客
登录 | 注册 方可回帖
返回
//