-
简单数组求和,请问
简单数组求和,请教!Assemblycode;数组求和includeio32.inc.dataarraybyte1,2,3,6msg1byte'Thefactorsofthearrayare:',0ah,0dh,0msg2byte'Thesumofthefactorsis:',0.codebegin:movecx,lengthofarraymoveax,offsetmsg1calldispmsgm...
9625
热度 -
《自己动手写操作系统》中的一个子过程,大家来帮忙解释一下!解决思路
《自己动手写操作系统》中的一个子过程,大家来帮忙解释一下!在分页的程序中我将原来的新建第二个页目录的逻辑.修改成只是修改原来的页表的对应项,程序没有正常运行.希望大家能帮忙说明一下.;原逻辑PSwitch: ;初始化页目录 mov ax,SelectorFlatRW mov es,ax mov edi,PageDirBase1 ;此段首地址为PageDirBase1 xor eax,eax mov...
6052
热度 -
LoadLibrary("msvcrt.dll")在汇编中的表示,该如何处理
LoadLibrary("msvcrt.dll")在汇编中的表示#include<WINDOWS.H>#include<WINBASE.H>voidmain(){ __asm { pushebp; movebp,esp; subesp,0x0c; moveax,0x6376736d; mov[ebp-0x0c],eax; moveax,0x6...
3781
热度 -
VC2008嵌入汇编代码,需加分号吗,伪指令好像不好使了
VC2008嵌入汇编代码,需要加分号吗,伪指令好像不好使了VC2008嵌入汇编代码,需要加分号吗,伪指令好像不好使了。MASM中的数据类型好像也不好使了color='#e78608'>------解决方案--------------------------------------------------------C/C++code#include<iostream.h>#includ...
6079
热度 -
谁解释一下下面这个函数,里面有汇编指令
哪位高手解释一下下面这个函数,里面有汇编指令代码来自国人写的Raw-OS操作系统。最好详细些,谢谢!unsignedintstore_eax;voidport_task_switch(void){ _asm{ mov[store_eax],eax lea eax,nextstart pusheax moveax,[store_eax] pushfd pushad ad...
894
热度 -
这个会不会是加密一部分?求高手说说
这个会不会是加密部分?求高手说说!0047FFC2/$50PUSHEAX0047FFC3|.64:FF3500000>PUSHDWORDPTRFS:[0]0047FFCA|.8D44240CLEAEAX,DWORDPTRSS:[ESP+C]0047FFCE|.2B64240CSUBESP,DWORDPTRSS:[ESP+C]0047FFD2|.53PUSHEBX0047FFD3|.56PUS...
625
热度 -
关于WIN32汇编文件传输的有关问题
关于WIN32汇编文件传输的问题请教高手invoke recv,_hSocket,addr@szFileLength,sizeof@szFileLength,0//接受文件长度 .break .ifeax==SOCKET_ERROR .break .if!eaxinvoke recv,_hSocket,addr@szFileName,sizeof@szFileName,0//接受文件名 .brea...
2812
热度 -
怎么将int变量的地址传给寄存器
如何将int变量的地址传给寄存器?C/C++codeinta=0;__asm{moveax,???;怎么将a的地址传给eax?}我只知道定义一个指向a的指针,然后将他传给寄存器,但有别的方法么?color='#e78608'>------解决方案--------------------------------------------------------搞错了...leaeax,a
9614
热度 -
不知道vc想干嘛,翻译这么一段汇编,该怎么处理
不知道vc想干嘛,翻译这么一段汇编不废话,看代码:voidf(int&val){ val++;}Assemblycode6:val++;//c++中的00401048moveax,dwordptr[ebp+8]0040104Bmovecx,dwordptr[eax]0040104Daddecx,100401050movedx,dwordptr[ebp+8]00401053movdwordp...
5869
热度 -
深入理解计算机系统习题3.23疑惑,求大神解答,极度疑惑中
深入理解计算机系统练习题3.23疑惑,求大神解答,极度疑惑中intfun_b(unsignedx){intval=0;inti;for(i=0;x<32;i++){val=(val<<1)|(x&0x1);x>>=1;}returnval;}movl8(%ebp),%ebxmov$0,%eaxmov$0,%ecx.L13:leal(%eax,%eax),%ed...
87
热度 -
有些纠结 .同样是 + 2
有点纠结....同样是+2同样是+2有两种方法...假设此时EAX已经为0了我这样加ADDEAX,2虽然是一条指令但是机器码有3个字节如果我这样加INCEAXINCEAX两条指令但是只有两个字节的机器码....INC寄存器周期貌似是1ADD立即数是2哪种更快些呢....color='#FF8000'>------解决方案--------------------比较指令效率xoresi,esixor...
155
热度 -
谁能解释这段386为何出错吗?马上给分
哪位高手能解释这段386为何出错吗?马上给分!org0100h jmpstart8086;-----------------------------------------------------[SECTION.gdt]%macroDescriptor3 dw %2&0FFFFh dw %1&0FFFFh db (%1>>16)&0FFh d...
2757
热度 -
win32汇编小疑点
win32汇编小问题小弟新手,建立了一个按钮,想点击那个按钮就退出程序,可是怎么也做不成,下面是代码,运行时闪了一下,自己就关闭,不知道为什么,前辈帮我看看,谢谢啦。 .386 .modelflat,stdcall optioncasemap:noneinclude d:\masm32\INCLUDE\windows.incinclude d:\masm32\INCLUDE\gdi32....
3815
热度 -
,关于一段汇编代码
求助,关于一段汇编代码1extra_data_start:2_asmpushad3_asmmoveax,fs:0x30//PEB地址4_asmmoveax,[eax+0x0c]//PEB_LDA_DATA地址5_asmmovesi,[eax+0x1c]//动态链接库地址6_asmlodsd//得到KERNEL32.DLL所在LDR_MODULE结构的7_asmmoveax,[eax+0x08]//...
8566
热度 -
关于++运算符的问题
关于++运算符的问题 intadd(inta,intb) { return(a+b); } inta=5; add(a++,a)=10 add(a,a++)=11 add(++a,a)=12 add(a,++a)=12 add(++a,++a)=14 add(++a,a++)=12 add(a++,a++)=11 add(a++,++a)=13 为什么add(++...
361
热度 -
关于imul的32位乘法有关问题
关于imul的32位乘法问题本帖最后由kcs07于2012-12-0508:52:04编辑关于汇编的imul,结果理论上来说,高32位应该存在edx,低32位存在eax,但是结果和预期的不一样..请问imul对32位乘法的原理是怎样的?如何解读这样的结果? moveax,90000 movebx,90000 imulebx WriteUDecDwordeax calldispcrlf WriteU...
8814
热度 -
施用位操作指令实现双字类型数的高低字调换
使用位操作指令实现双字类型数的高低字调换要求,EAX寄存器中的数,设法将其高字和低字实现互换。可以采用循环移位方式,亦可采用非循环移位方式,之一中间结果的保存。求大神,一定给分,一定要用80X86啊,谢谢!!color='#e78608'>------解决方案--------------------------------------------------------movdx,ax;将低16位...
590
热度 -
masm6.11的bug?该如何处理
masm6.11的bug????为何以下代码ds和ss段实际生成的是反的,我在masm6.11中做的测试:moveax,[ebp+eax];->dsmoveax,[eax+ebp];->sscolor='#e78608'>------解决方案--------------------------------------------------------以前有人问过这个问题,生成的机器码...
2698
热度 -
求两个数之和的绝对值,该怎么处理
求两个数之和的绝对值我是初手,请大家帮我作这道题。thanks!求两个数之和的绝对值color='#e78608'>------解决方案--------------------------------------------------------#definesumabs(a,b)(a+b>0?a+b:-a-b)color='#e78608'>------解决方案-------------...
3037
热度 -
关于LPBITMAPINFO解决方案
关于LPBITMAPINFOwin32汇编中,需要用到LPBITMAPINFO,但是定义变量后,编译是出现undefinedsymbol:LPBITMAPINFO的错误。查询了下MSDN,也没有LPBITMAPINFO的说明,哪位能说下LPBITMAPINFO结构的详细情况吗?如何能在汇编中使用LPBITMAPINFO。谢谢!color='#e78608'>------解决方案----------...
8418
热度