首页
社区
课程
招聘
[求助]~求助倒叙排列代码
2009-11-26 07:04 4151

[求助]~求助倒叙排列代码

2009-11-26 07:04
4151
50        PUSH EAX
51        PUSH ECX
52        PUSH EDX
53        PUSH EBX
54        PUSH ESP
55        PUSH EBP
56        PUSH ESI
57        PUSH EDI
57        PUSH EDI
58        POP EAX
59        POP ECX
5A        POP EDX
5B        POP EBX
5C        POP ESP
5D        POP EBP
5E        POP ESI
5F        POP EDI
60        PUSHAD
61        POPAD
9C        PUSHFD
9D        POPFD
请各位高手给个处理文本对上面内容进行按最左侧从大到小排列汇编代码

阿里云助力开发者!2核2G 3M带宽不限流量!6.18限时价,开 发者可享99元/年,续费同价!

收藏
点赞0
打赏
分享
最新回复 (2)
雪    币: 9
活跃值: (939)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
网络游侠 2009-11-26 13:41
2
0
放到数据库里面不是很简单吗?
雪    币: 202
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
zerostudy 2009-11-26 16:28
3
0
看楼主的代码都是从小到大,从大到小的话直接输出~
下面的,输是能输出不过有问题
.386
.model flat,stdcall
option casemap:none
include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib
.data
szFin db '\in.txt',0
szOut db '\out.txt',0

.data?
dwNum dd ?
hFile dd ?
hFileOut dd ?
dwFread dd ?
szRead db 4096 dup (?)
szWrite db 4096 dup (?)
szBuffer db 260 dup (?)
szOutFile db 260 dup (?)
szTemp db 260 dup (?)
.const

.code

start:
invoke GetCurrentDirectory,260,addr szBuffer
invoke lstrcpy,addr szOutFile,addr szBuffer
invoke lstrcat,addr szOutFile,addr szOut
invoke lstrcat,addr szBuffer,addr szFin

invoke CreateFile,addr szBuffer,GENERIC_ALL,FILE_SHARE_WRITE or FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL
.if eax==-1
  jmp EExit
.endif
 mov hFile,eax

 invoke ReadFile,hFile,addr szRead,4000,addr dwFread,NULL
 lea esi,szRead
 add esi,dwFread ;dwFread 实际读取的数
 lea edi,szWrite 
 lea ebx,szTemp
 mov ecx,dwFread
 mov dwNum,0
cover:
   mov al,BYTE PTR [esi]
   cmp al,0ah
   jz xx
   cmp al,0dh
   jz yy
   mov BYTE PTR [ebx],al
   inc dwNum
zz: 
   inc ebx
   dec esi
 loop cover

 
invoke CreateFile,addr szOutFile,GENERIC_READ or GENERIC_WRITE,FILE_SHARE_WRITE or FILE_SHARE_READ,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL
.if eax==-1
  jmp EExit
.endif
mov hFileOut,eax
invoke WriteFile,hFileOut,addr szWrite,dwFread,addr dwFread,NULL 
 
EExit:
invoke CloseHandle,hFile
invoke CloseHandle,hFileOut
invoke ExitProcess,NULL

   xx:
      push ecx
        mov ecx,dwNum
          hh:mov al,BYTE PTR [ebx]
             mov BYTE PTR [edi],al
             dec ebx
             inc edi
          loop hh
      mov BYTE PTR [edi],0dh
      inc edi
      pushad
      invoke RtlZeroMemory,addr szTemp,260
      popad
      lea ebx,szTemp
      pop ecx      
      mov dwNum,0
   jmp zz
   yy:
   mov BYTE PTR [edi],0ah
   inc edi
   lea ebx,szTemp
   jmp zz


end start
游客
登录 | 注册 方可回帖
返回