当前位置: 代码迷 >> eax的解决方案
 
  • 如何理解in eax,83

    怎么理解ineax,83我查到这么一句解释:OUT和IN在汇编中是端口读写操作指令。端口是主机与外设进行数据交换使用的,分为数据端口,状态端口和控制端口三种例如:INAL,21H表示从21H端口读一个字节数据到AL;然后我在一个新建的VC工程中写上inta; _asm{ ineax,83 mova,eax }提示First-chanceexceptioninc1.exe:0xC0000096:...

    2834
    热度
  • bochs 中执行 mov eax, eax 就错误了

    bochs中执行moveax,eax就异常了一个神奇的问题:我一个简单的裸机程序,有mbr和kernel,在bochs中执行kernel的时候,进入保护模式,并开启了页机制.一切看起来很正常,但是当我通过TSS进行任务切换的时候,发生了问题,描述如下:1.执行callfar进行任务切换.如图:2.我们单步进入,如图:3.目前,我们将要执行一个moveax,eax的指令,我认为这条指令应该顺利通过,...

    327
    热度
  • 求问mov eax,[eax+NMHDR.code]的用法,该如何处理

    求问moveax,[eax+NMHDR.code]的用法书上看到个例子moveax,lParammoveax,[eax+NMHDR.code]lParam里是NMHDR结构的指针,根据上下文推测第二条代码意思是把NMHDR结构的code成员值赋给eax我想问的是,这种用法是普遍的么?想知道下专业点的说法color='#FF8000'>------解决方案--------------------涉及...

    405
    热度
  • mov byte ptr szAscii [eax] , 零

    movbyteptrszAscii[eax],0程序中数据段定义有下面一句:szAscii db 4dup(?)程序代码中:movbyteptrszAscii[eax],0请问这句怎么理解?color='#FF8000'>------解决方案--------------------就是向szAscii字符串里的第eax个位置的字节填入00,首个字符为第0个位置。

    442
    热度
  • AX扩展到EAX的不解

    AX扩展到EAX的疑惑本帖最后由StoneAMG于2014-09-2112:31:33编辑小弟最新在学习intel汇编,在对寄存器数据传递有点疑问,比如movax,1234h此时ax寄存器数据是1234h,那eax高16位的值是什么呢?还有movbx,1234hmovcx,1234h在观察寄存器值的时候发现高16位的值没有规律,似乎是任意值。请问对ax,bx,cx这些寄存器赋值后eax,ebx,e...

    180
    热度
  • 求解 byte ptr szAscii [eax]解决方案

    求解byteptrszAscii[eax].data?hWnd dd ?hHook dd ?dwMessage dd ?szAscii db 4dup(?)HookProc proc _dwCode,_wParam,_lParam local @szKeyState[256]:byte invoke CallNextHookEx,hHook,_dwCode,_wParam,_lParam...

    10493
    热度
  • "mov eax, a"和"mov dword ptr[a], eax"的有关问题。

    "moveax,a"和"movdwordptr[a],eax"的问题。.inba=10;intb=0;Assemblycode__asm{moveax,a;eax=10movdwordptr[b],eax;b=10}既然第1句的a是作为一个值被使用的,那问为什么第2句不是"movdwordptr[10],eax"??color='#e78...

    6785
    热度
  • mov byte ptr szAscii [eax] , 0,该怎么解决

    movbyteptrszAscii[eax],0程序中数据段定义有下面一句:szAscii db 4dup(?)程序代码中:movbyteptrszAscii[eax],0请问这句怎么理解?color='#FF8000'>------解决方案--------------------就是向szAscii字符串里的第eax个位置的字节填入00,首个字符为第0个位置。

    324
    热度
  • mov eax, printAddr 不可以,要如何修改

    moveax,printAddr不可以,要怎么修改?intprintAddr=0x00403CB6;//我想要call这个函数 __asm{ movedx,printAddr//这样提示错误 calledx }小弟没学过汇编,请大家帮帮忙这个应该怎么修改?color='#e78608'>------解决方案--------------------------------------------...

    7266
    热度
  • eax , array2[ebx][edi] 疑问解决思路

    eax,array2[ebx][edi]疑问假定array2为8行8列双字二维数组变量,以行不减顺序存贮在存贮器ds段中。要把数组第二行第四个元素送eax.其中,数组行列及元素的序号都从0开始计数。64存入ebx,16存入edi解:moveax,array2[ebx][edi]疑问:8行8列不就是8*8=64个单元么?moveax,array2[ebx][edi];为啥第二行第四个不是(首行8个+...

    827
    热度
  • cdq指令是eax/edx,作用是什么?解决方案

    cdq指令是eax/edx,作用是什么?如题color='#e78608'>------解决方案--------------------------------------------------------把eax作为一个符号数,如果其为正数,edx置0;如果前为负数,edx置-1;这样,指令后的edx:eax形成的一个qword数,就和原来的eax这么个dword的值相等;这个指令通常用在应付...

    8291
    热度
  • 题目: 在32位系统中 ds:eax 的算法

    标题:在32位系统中ds:eax的算法描述:看过王爽汇编书的人都知道ds:ax这种地址的算法,但产生这种算法的原因是地址线不够而产生了段的设计。但是现在32为系统中地址线已经够了,为何在VC调试程序或反汇编32位程序时候依然会产生上面格式的汇编代码,在这里应该怎么算?分享到:eax的算法】描述:?看过王爽汇编书的人都知道?ds:ax?这种地址的算法,但产生这种算法的原因是地址线不够而产生了段的设计...

    487
    热度
  • mov eax,BITMAPFILEHEADER.bfOffBits [esi]是什么意思解决办法

    moveax,BITMAPFILEHEADER.bfOffBits[esi]是什么意思BITMAPFILEHEADER是一个结构体,bfOffBits是结构体里面的一个变量,esi是一个指针,指向这个结构体的起始位置,这种写法和下面这种写法一样吗(假设有定义BITMAPFILEHEADERstBitmapFileHeader)moveax,stBitmapFileHeader.bfOffBitsc...

    5768
    热度
  • 获取寄存器EAX中的字符串长度解决思路

    获取寄存器EAX中的字符串长度在callreadmsg之后输入了一个字符串存到eax里,接下来如何将输入到eax中的字符个数得出?求大家指点。color='#e78608'>------解决方案--------------------------------------------------------Assemblycodemov变量,eaxxoredi,edixchgedi,eaxorecx...

    3232
    热度
  • 请问,教程上说弹出对话框后,返回值保存在EAX里面,那如何再弹出一个对话框,内容为EAX的值呢

    请教,教程上说弹出对话框后,返回值保存在EAX里面,那怎么再弹出一个对话框,内容为EAX的值呢?这个问题的确很菜,只是百度了半天都没个答案,只好在这里请教各位了,谢谢大家,color='#e78608'>------解决方案--------------------------------------------------------invokecrt_snprintf,buf,buf_size,...

    5172
    热度
  • 请帮小弟我解释一上这个汇编:shl eax,0

    请帮我解释一下这个汇编:shleax,0我写了一个测试内联函数的C++程序,然后反汇编看是否存在函数调用,但是红色这些地方我不是很懂,希望大家帮我看看:以下是我写的源代码:#include<iostream>#include<cmath>usingnamespacestd;voidboxVolume(intlength=1,intwidth=1,intheight=1);i...

    5236
    热度
  • mov eax, dword ptr [728C6C]是什么意思?该如何解决

    moveax,dwordptr[728C6C]是什么意思?moveax,dwordptr[728C6C]是什么意思?为什么执行完了这条指令以后,eax寄存器的值不是728C6C,而是00424750?而且在寄存器窗口上还显示了这么一句:eax00424750ASCII"218"这个ASCII码218又指的是什么?那个地址是固定的,但数字还不是固定的经常的变化。这是怎么回事?co...

    6261
    热度
  • 菜鸟,关于寄存器eax、ebx、ecx和ebx、esi之类的的疑问。

    初学者,关于寄存器eax、ebx、ecx和ebx、esi之类的的疑问。。。Windows系统下ebx、esi、edi是被内定了,用的时候需要push,用完需要pop。然后eax是当作变通用的返回值寄存器,eip、ebp、esp就不用说了。。。那edx和ecx呢?这2个需要不需要用之前push,用完pop?还是能用完就扔?昨天被ebx这3个折腾死了,现在搞得只敢用eax了,有时候用堆栈当临时变量有点...

    3975
    热度
  • ALT_DOWN equ <[eax].flags & (一 shl 5)>

    ALT_DOWNequ<[eax].flags&(1shl5)>这个怎么理解color='#e78608'>------解决方案--------------------------------------------------------前面的只是个内容的等值定义,实际引用到ALT_DOWN时,才会替换为后面的等价的内容,并进行相应的编译检查,所以flags的引用确实是在as...

    9298
    热度
  • ecx+eax*4+000000CC找基址的有关问题

    ecx+eax*4+000000CC找基址的问题本帖最后由oZaiYue于2014-01-2922:59:26编辑今天用CE找个基址,找到了临时地址,然后顺藤摸瓜的时候遇到了这么一个基址,我把ECX的值记录下来用CE进行搜索,结果根本没有这个地址,我想请问一下遇到这种情况,它的基址到底怎么找。color='#FF8000'>------解决方案--------------------你把这个基址记...

    240
    热度
上一页12...3637下一页