-
求删除自身的汇编代码,能在全系统下通过,解决了再加100分,该如何处理
求删除自身的汇编代码,能在全系统下通过,解决了再加100分求删除自身的汇编代码,能在全系统下通过的,解决了再加100分color='#e78608'>------解决方案-------------------------------------------------------- charfilenameDLL[MAX_PATH]; GetModuleFileName(g_hmodDLL,...
2322
热度 -
双精度右移指令SHRD的疑问
求助:双精度右移指令SHRD的疑问shrd:双精度右移指令,只能在80386以上处理器使用,将目的操作数向右移动相应位数,空出来的位由源操作数的低位填充。格式:shrd目的操作数,源操作数,移位位数指令不改变源操作数,源操作数必须为寄存器。例:movax,1234hmovbx,5678hshrdax,bx,16;ax=5678hmoveax,12345678hmovebx,87654321hshr...
3844
热度 -
请教为什么给通用寄存器赋值都有错
请问为什么给通用寄存器赋值都有错?我用的是MASM611,代码很简单,可是就是不对,请问各位为什么啊,谢谢了 .386 .model flat .stack .data .codestart: mov eax,12345678h ;;为什么该赋值语句执行完毕后eax中内容为0000566A? end startcolor='#e78608'>------解决方案-----------...
10020
热度 -
小弟新学汇编 有道题不会做了 请指点,该怎么解决
小弟新学汇编有道题不会做了请指点编写完整程序在给定格式的数中那个寻找最大值,放至指定的存储单元。假设数据如下;DATASEGMENTBUFFERBD2,4,3,6,1,5COUNTDW6MAXDB?DATAENDS这个题怎么做呀?color='#e78608'>------解决方案--------------------------------------------------------取数组...
3681
热度 -
求问怎样用汇编编写简易计算器程序,该怎么处理
求问怎样用汇编编写简易计算器程序要求:输入一个表达式,输出十进制结果,例如:输入1234+5678-1111*9876/4321输出13258注意:表达式中只允许出现+-*/,没有其它运算符,表达式总长度不超过80字符;运算过程不考虑优先级,一律从左到右;计算除法时只要商,不要余数;计算过程中算得的中间值以及最终结果都假定不会超过32位;程序中可以使用32位寄存器及386指令。初学汇编,实在是编不...
7465
热度 -
上面汇编函数里的两条语句会不会内存越界
下面汇编函数里的两条语句会不会内存越界对下面的invokeRtlZeroMemory,addr@bufTemp1,10invokeRtlZeroMemory,addr@bufTemp2,20两行代码有疑问,里面的10和20是怎么来的,回不内存越界?Assemblycode_openFileproclocal@stOF:OPENFILENAMElocal@hFile,@hMapFilelocal@b...
1707
热度 -
[求助]求助 b=++a + ++a + ++a 得算法过程
[求助]求助b=++a+++a+++a得算法过程 求助b=++a+++a+++a得算法过程a=3那位高手教教我我用的是Vc6.0 搜索更多相关的解决方案: color="red">算法 color='#FF8000'>----------------解决方案------------------------...
92
热度 -
怎么提高这个程序的执行速度
如何提高这个程序的执行速度?程序的功能是读取硬盘上的3个文件,在申请的内存中让这3个文件异或,最后把目标文件写入磁盘。文件基本都是上百G的所以循环执行上面的操作。现在的问题是速度太慢,请帮忙看看怎么提高速度。部分源代码如下:先申请内存;**********************************************************************;读指定文件到申请的虚拟...
1585
热度 -
有哪位高手知道PCI的地址端口和数据端口
有谁知道PCI的地址端口和数据端口我看很多资料上都说:PCI的地址端口是CF8h,数据端口是CFCh,可是我在取配置空间的数据时,老是取出的VendorID都是FFFFh,就是说取不到数据(我的总线地址应该没有问题),请问:PCI的地址端口和数据端口有问题吗?哪位有去PCI配置空间数据的代码?color='#e78608'>------解决方案---------------------------...
10167
热度 -
刚学,函数返回异常
刚学,函数返回错误Assemblycode_ReplaceCharprocusesecxeaxesiediebxlpSrcStr,SrcSize,FromChar,ToCharLOCAL@ResultStr[sizeoflpSrcStr]:byteLOCAL@szBuffer[1024]:bytepushadinvokeRtlZeroMemory,addr@ResultStr,sizeof@Res...
2752
热度 -
进入保护模式的有关问题
进入保护模式的问题moveax,cr0oreax,1movcr0,eaxmoveax,10000hmovbl,160divbljmpdwordcodeselector:0这段代码在BOCHS上运行了居然没出错为什么?color='#e78608'>------解决方案--------------------------------------------------------为什么你认为要出错c...
9868
热度 -
汇编影藏异常-att汇编格式描述
汇编影藏错误----att汇编格式描述intcread(int*xp){return(xp?*xp:0);}================================>movl$0,%eaxtestl%edx,%edxcmovne(edx),%eax看看,有什么问题没有?希望高手们提出自己的见解,不胜感激color='#e78608'>------解决方案---------------...
948
热度 -
读老罗WIN32有关问题
读老罗WIN32问题我想要建一个窗口,然后按下BUTTON弹出一个消息窗口,显示mov ebp,1,lea,eax,[ebp+12345678h]EAX的值但按下BUTTON总是显示应用程序停止工作,环境是WIN7.还有我看到一个大牛写的一个帖子里面,说这里说eax等于123456789h,我想不是等于12345679h吗?下面是代码Assemblycode;>>>>>...
405
热度 -
非API函数检测操作系统类型!MASM解决方案
非API函数检测操作系统类型!~~~~~MASM得到一段汇编代码MASM,功能如题,本人不懂汇编,想测试代码运行效果,手头工具VS2003、VC6.0求高人帮忙指导.const;--returnvaluesfromOS_GetOSOS_UNKNOWNequ-1OS_WIN95equ1OS_WIN98equ2OS_WINMEequ3OS_WINNTequ4OS_WIN2Kequ5OS_WINXPeq...
5046
热度 -
请问32位保护模式下的地址有关问题
请教32位保护模式下的地址问题我们都知道在开启了分段与分页的保护机制后,每个地址是由段选择符与32位偏移量组成那么如下形式的一条指令究竟是怎么赋值的,比如有个地址$addrmovl$addr,%eax这里赋给eax的是??相对于当前ds选择符所指段基地址的偏移量吗?还是说其他?color='#e78608'>------解决方案-----------------------------------...
9497
热度 -
mov指令的有关问题
mov指令的问题有如下代码:invokeGetModuleFileName,hInstance,addrszDIR,MAX_PATHinvokeMessageBox,NULL,addrszDIR,"MSG",MB_OKmoveax,addrszDIR<--------这里报错!!!addeax,sizeofszDIRinvokeStrRChr,addrszDIR,eax,...
6865
热度 -
居然显示不出负数来,悲剧,该怎么解决
居然显示不出负数来,悲剧Assemblycode.386.modelflat,stdcallincludekernel32.incincludelibkernel32.libincludemsvcrt.incincludelibmsvcrt.lib.dataprintStr2byte"dl:al=%d",0dh,0ah,0var1word?.codemainprocmoveax...
10530
热度 -
小白提问:加法演算为什么要转换成dword
小白提问:加法运算为什么要转换成dwordx1=(x2+1)*2;001713B9moveax,dwordptr[x2]001713BCleaecx,[eax+eax+2]001713C0movbyteptr[ebp-0E9h],1001713C7movdwordptr[x1],ecx---------------------------------------------------------...
138
热度 -
VC中如何执行一段机器码
VC中怎么执行一段机器码?我调试的时候查找到moveax,1对应的机器码是B801000000写了如下的代码来运行:constchar*code="\xB8\x01\x00\x00\x00";//moveax,1voidmain(){ __asm { leaeax,code; calleax; }}调试运行时出错:0x01188000处有未经处理的异常(在code.exe中):0xC00000...
186
热度 -
求问如何以十进制输出一个dword十六进制数
求问怎么以十进制输出一个dword十六进制数有个sum变量类型dword本来想用除10压栈法但是必须用到eax最基本的MOVEAX,0都编译报错:Undefinedsymbol:EAX尝试标注.386,生成失败学校作业不能随意换软件求大神指导!或者程序,万分感谢!color='#FF8000'>------解决思路----------------------只能用什么版本的汇编软件?Masm5对3...
289
热度