-
如何理解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
热度