Thursday, August 5, 2010

Assembly language of high-level language features


Now write assembly language, structured like to write high-level languages, very convenient. Do not believe? You look at the following small program written know the matter, there is no jump, the complete structural design. Finally, a small sum with Glow Glove article for all to learn information.
;------------------------------------------------- ------
; Example: a factorial data
; If the result is smaller, can be placed in EAX register
; If the result is smaller, can be placed in EDX: EAX register
; File Name: 7.asm

.386
. Model flat, stdcall
option casemap: none

include windows.inc

include masm32.inc
include kernel32.inc
include user32.inc

includelib masm32.lib
includelib kernel32.lib
includelib user32.lib


. Data?
CharOut db 100 dup (?)

. Code

OutEdxEax PROTO: DWORD; to EDX: EAX in the output string data into decimal form!

OutEdxEax proc lpString; example: EDX = 0, EAX = 01234567H, then the converted string is:
->''19088743'', 0
mov edi, lpString; point to store the address of the results
mov esi, lpString

mov ecx, 10; converted into decimal
. While eax! = 0 | | edx! = 0
push eax
mov eax, edx
xor edx, edx
div ecx
mov ebx, eax
pop eax
div ecx
add dl,''0''
mov [edi], dl; store results
inc edi
mov edx, ebx
. Endw

mov BYTE ptr [edi], 0; string to 0 to end
dec edi

. While edi> esi; results before the change, the change after the former!
mov al, [esi]
xchg al, [edi]
mov [esi], al
inc esi
dec edi
. Endw
ret
OutEdxEax endp

start:; program starts
xor eax, eax; store the results of the registers EDX: EAX = 1
xor edx, edx
inc eax
mov ecx, 20; calculate the factorial of 20. Can not be greater than 20, otherwise it will overflow, the result will no longer be correct!
. While ecx> 0
. If edx == 0; results in the EAX
mul ecx
. Else; result in EDX: EAX in
push edx
mul ecx
pop ebx
push eax
push edx
mov eax, ecx
mul ebx
pop edx
add edx, eax
pop eax
. Endif
dec ecx
. Endw

. If edx == 0; results in the EAX
invoke dw2a, eax, addr CharOut
. Else; result in EDX: EAX in
invoke OutEdxEax, addr CharOut; with our own program transformation!
. Endif

invoke StdOut, addr CharOut; console output
invoke ExitProcess, NULL; end of the procedure
end start
-------------------------------------------------- --------------
The detailed operation generated 7.exe

D: MASM7> ml / coff / I include 7.asm / link / subsystem: console / libpath: lib
Microsoft (R) Macro Assembler Version 6.14.8444
Copyright (C) Microsoft Corp 1981-1997. All rights reserved.

Assembling: 7.asm
Microsoft (R) Incremental Linker Version 5.12.8078
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

/ Subsystem: console / libpath: lib
"7.obj"
"/ OUT: 7.exe"

D: MASM7> 7
2432902008176640000
D: MASM7> _
-------------------------------------------------- -------------------
Compiled using the results of anti-W32dasm, we can see "Assembly Language" is how to translate into "machine language".

Program Entry Point = 00401042 (7.exe File Offset: 00001642)

: 00401000 55 push ebp
: 00401001 8BEC mov ebp, esp
: 00401003 8B7D08 mov edi, dword ptr [ebp +08]
: 00401006 8B7508 mov esi, dword ptr [ebp +08]
: 00401009 B90A000000 mov ecx, 0000000A
: 0040100E EB14 jmp 00401024

backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint news: 10 news: 11 news: 12 news: 13 news: 14 news: 15 news: 16 news: 17 news: 18 news: 2 news: 3 news: 4 news: 5 news: 6 news: 7 news: 8 news: 9 outboundLinksMgr.sql seeds sitemap.html svn tasks tmp xml2dict-2008.6-tar. gz xml2dict-read-only Referenced by a (U) nconditional or (C) onditional Jump at Addresses:
|: 00401026 (C),: 0040102A (C)
|
: 00401010 50 push eax
: 00401011 8BC2 mov eax, edx
: 00401013 33D2 xor edx, edx
: 00401015 F7F1 div ecx
: 00401017 8BD8 mov ebx, eax
: 00401019 58 pop eax
: 0040101A F7F1 div ecx
: 0040101C 80C230 add dl, 30
: 0040101F 8817 mov byte ptr [edi], dl
: 00401021 47 inc edi
: 00401022 8BD3 mov edx, eb
backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint news: 10 news: 11 news: 12 news: 13 news: 14 news: 15 news: 16 news: 17 news: 18 news: 2 news: 3 news: 4 news: 5 news: 6 news: 7 news: 8 news: 9 outboundLinksMgr.sql seeds sitemap.html svn tasks tmp xml2dict-2008.6-tar. gz xml2dict-read-only Referenced by a (U) nconditional or (C) onditional Jump at Address:
|: 0040100E (U)
|
: 00401024 0BC0 or eax, eax
: 00401026 75E8 jne 00401010
: 00401028 0BD2 or edx, edx
: 0040102A 75E4 jne 00401010
: 0040102C C60700 mov byte ptr [edi], 00
: 0040102F 4F dec edi
: 00401030 EB08 jmp 0040103A

backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint news: 10 news: 11 news: 12 news: 13 news: 14 news: 15 news: 16 news: 17 news: 18 news: 2 news: 3 news: 4 news: 5 news: 6 news: 7 news: 8 news: 9 outboundLinksMgr.sql seeds sitemap.html svn tasks tmp xml2dict-2008.6-tar. gz xml2dict-read-only Referenced by a (U) nconditional or (C) onditional Jump at Address:
|: 0040103C (C)
|
: 00401032 8A06 mov al, byte ptr [esi]
: 00401034 8607 xchg byte ptr [edi], al
: 00401036 8806 mov byte ptr [esi], al
: 00401038 46 inc esi
: 00401039 4F dec edi

backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint news: 10 news: 11 news: 12 news: 13 news: 14 news: 15 news: 16 news: 17 news: 18 news: 2 news: 3 news: 4 news: 5 news: 6 news: 7 news: 8 news: 9 outboundLinksMgr.sql seeds sitemap.html svn tasks tmp xml2dict-2008.6-tar. gz xml2dict-read-only Referenced by a (U) nconditional or (C) onditional Jump at Address:
|: 00401030 (U)
|
: 0040103A 3BFE cmp edi, esi
: 0040103C 77F4 ja 00401032
: 0040103E C9 leave
: 0040103F C20400 ret 0004


/ / Bin / / boot / / dev / / etc / / home / / lib / / lost + found / / media / / misc / / mnt / / net / / opt / / proc / / root / / sbin / / selinux / / srv / / sys / / tmp / / u01 / / usr / / var / / vmware Program Entry Point backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint news: 10 news: 11 news: 12 news: 13 news: 14 news: 15 news: 16 news: 17 news: 18 news: 2 news: 3 news: 4 news: 5 news: 6 news : 7 news: 8 news: 9 outboundLinksMgr.sql seeds sitemap.html svn tasks tmp xml2dict-2008.6-tar.gz xml2dict-read-only
: 00401042 33C0 xor eax, eax
: 00401044 33D2 xor edx, edx
: 00401046 40 inc eax
: 00401047 B914000000 mov ecx, 00000014
: 0040104C EB17 jmp 00401065

backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint news: 10 news: 11 news: 12 news: 13 news: 14 news: 15 news: 16 news: 17 news: 18 news: 2 news: 3 news: 4 news: 5 news: 6 news: 7 news: 8 news: 9 outboundLinksMgr.sql seeds sitemap.html svn tasks tmp xml2dict-2008.6-tar. gz xml2dict-read-only Referenced by a (U) nconditional or (C) onditional Jump at Address:
|: 00401068 (C)
|
: 0040104E 0BD2 or edx, edx
: 00401050 7504 jne 00401056
: 00401052 F7E1 mul ecx
: 00401054 EB0E jmp 00401064

backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint news: 10 news: 11 news: 12 news: 13 news: 14 news: 15 news: 16 news: 17 news: 18 news: 2 news: 3 news: 4 news: 5 news: 6 news: 7 news: 8 news: 9 outboundLinksMgr.sql seeds sitemap.html svn tasks tmp xml2dict-2008.6-tar. gz xml2dict-read-only Referenced by a (U) nconditional or (C) onditional Jump at Address:
|: 00401050 (C)
|
: 00401056 52 push edx
: 00401057 F7E1 mul ecx
: 00401059 5B pop ebx
: 0040105A 50 push eax
: 0040105B 52 push edx
: 0040105C 8BC1 mov eax, ecx
: 0040105E F7E3 mul ebx
: 00401060 5A pop edx
: 00401061 03D0 add edx, eax
: 00401063 58 pop eax

backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint news: 10 news: 11 news: 12 news: 13 news: 14 news: 15 news: 16 news: 17 news: 18 news: 2 news: 3 news: 4 news: 5 news: 6 news: 7 news: 8 news: 9 outboundLinksMgr.sql seeds sitemap.html svn tasks tmp xml2dict-2008.6-tar. gz xml2dict-read-only Referenced by a (U) nconditional or (C) onditional Jump at Address:
|: 00401054 (U)
|
: 00401064 49 dec ecx

backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint news: 10 news: 11 news: 12 news: 13 news: 14 news: 15 news: 16 news: 17 news: 18 news: 2 news: 3 news: 4 news: 5 news: 6 news: 7 news: 8 news: 9 outboundLinksMgr.sql seeds sitemap.html svn tasks tmp xml2dict-2008.6-tar. gz xml2dict-read-only Referenced by a (U) nconditional or (C) onditional Jump at Address:
|: 0040104C (U)
|
: 00401065 83F900 cmp ecx, 00000000
: 00401068 77E4 ja 0040104E
: 0040106A 0BD2 or edx, edx
: 0040106C 750D jne 0040107B
: 0040106E 6804304000 push 00403004
: 00401073 50 push eax
: 00401074 E81F000000 call 00401098
: 00401079 EB0A jmp 00401085

backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint news: 10 news: 11 news: 12 news: 13 news: 14 news: 15 news: 16 news: 17 news: 18 news: 2 news: 3 news: 4 news: 5 news: 6 news: 7 news: 8 news: 9 outboundLinksMgr.sql seeds sitemap.html svn tasks tmp xml2dict-2008.6-tar. gz xml2dict-read-only Referenced by a (U) nconditional or (C) onditional Jump at Address:
|: 0040106C (C)
|
: 0040107B 6804304000 push 00403004
: 00401080 E87BFFFFFF call 00401000

backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint news: 10 news: 11 news: 12 news: 13 news: 14 news: 15 news: 16 news: 17 news: 18 news: 2 news: 3 news: 4 news: 5 news: 6 news: 7 news: 8 news: 9 outboundLinksMgr.sql seeds sitemap.html svn tasks tmp xml2dict-2008.6-tar. gz xml2dict-read-only Referenced by a (U) nconditional or (C) onditional Jump at Address:
|: 00401079 (U)
|
: 00401085 6804304000 push 00403004
: 0040108A E825000000 call 004010B4
: 0040108F 6A00 push 00000000

backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint news: 10 news: 11 news: 12 news: 13 news: 14 news: 15 news: 16 news: 17 news: 18 news: 2 news: 3 news: 4 news: 5 news: 6 news: 7 news: 8 news: 9 outboundLinksMgr.sql seeds sitemap.html svn tasks tmp xml2dict-2008.6-tar. gz xml2dict-read-only Reference To: KERNEL32.ExitProcess, Ord: 0075h
|
: 00401091 E88E000000 Call 00401124
: 00401096 CC int 03
: 00401097 CC int 03

backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint news: 10 news: 11 news: 12 news: 13 news: 14 news: 15 news: 16 news: 17 news: 18 news: 2 news: 3 news: 4 news: 5 news: 6 news: 7 news: 8 news: 9 outboundLinksMgr.sql seeds sitemap.html svn tasks tmp xml2dict-2008.6-tar. gz xml2dict-read-only Referenced by a CALL at Address:
|: 00401074
|
: 00401098 55 push ebp
: 00401099 8BEC mov ebp, esp
: 0040109B FF7508 push [ebp +08]

backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint news: 10 news: 11 news: 12 news: 13 news: 14 news: 15 news: 16 news: 17 news: 18 news: 2 news: 3 news: 4 news: 5 news: 6 news: 7 news: 8 news: 9 outboundLinksMgr.sql seeds sitemap.html svn tasks tmp xml2dict-2008.6-tar. gz xml2dict-read-only Possible StringData Ref from Data Obj -> "% lu"
|
: 0040109E 6800304000 push 00403000
: 004010A3 FF750C push [ebp +0 C
backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint news: 10 news: 11 news: 12 news: 13 news: 14 news: 15 news: 16 news: 17 news: 18 news: 2 news: 3 news: 4 news: 5 news: 6 news: 7 news: 8 news: 9 outboundLinksMgr.sql seeds sitemap.html svn tasks tmp xml2dict-2008.6-tar. gz xml2dict-read-only Reference To: USER32.wsprintfA, Ord: 02A5h
|
: 004010A6 E88B000000 Call 00401136
: 004010AB 83C40C add esp, 0000000C
: 004010AE C9 leave
: 004010AF C20800 ret 0008


: 004010B2 CC int 03
: 004010B3 CC int 03

backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint news: 10 news: 11 news: 12 news: 13 news: 14 news: 15 news: 16 news: 17 news: 18 news: 2 news: 3 news: 4 news: 5 news: 6 news: 7 news: 8 news: 9 outboundLinksMgr.sql seeds sitemap.html svn tasks tmp xml2dict-2008.6-tar. gz xml2dict-read-only Referenced by a CALL at Address:
|: 0040108A
|
: 004010B4 55 push ebp
: 004010B5 8BEC mov ebp, esp
: 004010B7 83C4F4 add esp, FFFFFFF4
: 004010BA 6AF5 push FFFFFFF5

backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint news: 10 news: 11 news: 12 news: 13 news: 14 news: 15 news: 16 news: 17 news: 18 news: 2 news: 3 news: 4 news: 5 news: 6 news: 7 news: 8 news: 9 outboundLinksMgr.sql seeds sitemap.html svn tasks tmp xml2dict-2008.6-tar. gz xml2dict-read-only Reference To: KERNEL32.GetStdHandle, Ord: 013Dh
|
: 004010BC E869000000 Call 0040112A
: 004010C1 8945FC mov dword ptr [ebp-04], eax
: 004010C4 FF7508 push [ebp +08]
: 004010C7 E820000000 call 004010EC
: 004010CC 8945F4 mov dword ptr [ebp-0C], eax
: 004010CF 6A00 push 00000000
: 004010D1 8D45F8 lea eax, dword ptr [ebp-08]
: 004010D4 50 push eax
: 004010D5 FF75F4 push [ebp-0C]
: 004010D8 FF7508 push [ebp +08]
: 004010DB FF75FC push [ebp-04]

backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint news: 10 news: 11 news: 12 news: 13 news: 14 news: 15 news: 16 news: 17 news: 18 news: 2 news: 3 news: 4 news: 5 news: 6 news: 7 news: 8 news: 9 outboundLinksMgr.sql seeds sitemap.html svn tasks tmp xml2dict-2008.6-tar. gz xml2dict-read-only Reference To: KERNEL32.WriteFile, Ord: 02B9h
|
: 004010DE E84D000000 Call 00401130
: 004010E3 8B45F8 mov eax, dword ptr [ebp-08]
: 004010E6 C9 leave
: 004010E7 C20400 ret 0004


: 004010EA CC int 03
: 004010EB CC int 03

backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint news: 10 news: 11 news: 12 news: 13 news: 14 news: 15 news: 16 news: 17 news: 18 news: 2 news: 3 news: 4 news: 5 news: 6 news: 7 news: 8 news: 9 outboundLinksMgr.sql seeds sitemap.html svn tasks tmp xml2dict-2008.6-tar. gz xml2dict-read-only Referenced by a CALL at Address:
|: 004010C7
|
: 004010EC 55 push ebp
: 004010ED 8BEC mov ebp, esp
: 004010EF 53 push ebx
: 004010F0 8B4508 mov eax, dword ptr [ebp +08]
: 004010F3 8D5003 lea edx, dword ptr [eax +03]

backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint news: 10 news: 11 news: 12 news: 13 news: 14 news: 15 news: 16 news: 17 news: 18 news: 2 news: 3 news: 4 news: 5 news: 6 news: 7 news: 8 news: 9 outboundLinksMgr.sql seeds sitemap.html svn tasks tmp xml2dict-2008.6-tar. gz xml2dict-read-only Referenced by a (U) nconditional or (C) onditional Jump at Address:
|: 0040110B (C)
|
: 004010F6 8B18 mov ebx, dword ptr [eax]
: 004010F8 83C004 add eax, 00000004
: 004010FB 8D8BFFFEFEFE lea ecx, dword ptr [ebx + FEFEFEFF]
: 00401101 F7D3 not ebx
: 00401103 23CB and ecx, ebx
: 00401105 81E180808080 and ecx, 80808080
: 0040110B 74E9 je 004010F6
: 0040110D F7C180800000 test ecx, 00008080
: 00401113 7506 jne 0040111B
: 00401115 C1E910 shr ecx, 10
: 00401118 83C002 add eax, 00000002

backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint news:10 news:11 news:12 news:13 news:14 news:15 news:16 news:17 news:18 news:2 news:3 news:4 news:5 news:6 news:7 news:8 news:9 outboundLinksMgr.sql seeds sitemap.html svn tasks tmp xml2dict-2008.6-tar.gz xml2dict-read-only Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00401113(C)
|
:0040111B D0E1聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 shl cl, 1
:0040111D 1BC2聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 sbb eax, edx
:0040111F 5B聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 pop ebx
:00401120 C9聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 leave
:00401121 C20400聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 ret 0004

backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint news:10 news:11 news:12 news:13 news:14 news:15 news:16 news:17 news:18 news:2 news:3 news:4 news:5 news:6 news:7 news:8 news:9 outboundLinksMgr.sql seeds sitemap.html svn tasks tmp xml2dict-2008.6-tar.gz xml2dict-read-only Referenced by a CALL at Address:
|:00401091聽聽
|

backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint news:10 news:11 news:12 news:13 news:14 news:15 news:16 news:17 news:18 news:2 news:3 news:4 news:5 news:6 news:7 news:8 news:9 outboundLinksMgr.sql seeds sitemap.html svn tasks tmp xml2dict-2008.6-tar.gz xml2dict-read-only Reference To: KERNEL32.ExitProcess, Ord:0075h
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 |
:00401124 FF2508204000聽聽聽聽聽聽聽聽聽聽聽 Jmp dword ptr [00402008]

backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint news:10 news:11 news:12 news:13 news:14 news:15 news:16 news:17 news:18 news:2 news:3 news:4 news:5 news:6 news:7 news:8 news:9 outboundLinksMgr.sql seeds sitemap.html svn tasks tmp xml2dict-2008.6-tar.gz xml2dict-read-only Referenced by a CALL at Address:
|:004010BC聽聽
|

backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint news:10 news:11 news:12 news:13 news:14 news:15 news:16 news:17 news:18 news:2 news:3 news:4 news:5 news:6 news:7 news:8 news:9 outboundLinksMgr.sql seeds sitemap.html svn tasks tmp xml2dict-2008.6-tar.gz xml2dict-read-only Reference To: KERNEL32.GetStdHandle, Ord:013Dh
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 |
:0040112A FF2500204000聽聽聽聽聽聽聽聽聽聽聽 Jmp dword ptr [00402000]

backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint news:10 news:11 news:12 news:13 news:14 news:15 news:16 news:17 news:18 news:2 news:3 news:4 news:5 news:6 news:7 news:8 news:9 outboundLinksMgr.sql seeds sitemap.html svn tasks tmp xml2dict-2008.6-tar.gz xml2dict-read-only Referenced by a CALL at Address:
|:004010DE聽聽
|

backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint news:10 news:11 news:12 news:13 news:14 news:15 news:16 news:17 news:18 news:2 news:3 news:4 news:5 news:6 news:7 news:8 news:9 outboundLinksMgr.sql seeds sitemap.html svn tasks tmp xml2dict-2008.6-tar.gz xml2dict-read-only Reference To: KERNEL32.WriteFile, Ord:02B9h
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 |
:00401130 FF2504204000聽聽聽聽聽聽聽聽聽聽聽 Jmp dword ptr [00402004]

backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint news:10 news:11 news:12 news:13 news:14 news:15 news:16 news:17 news:18 news:2 news:3 news:4 news:5 news:6 news:7 news:8 news:9 outboundLinksMgr.sql seeds sitemap.html svn tasks tmp xml2dict-2008.6-tar.gz xml2dict-read-only Reference To: USER32.wsprintfA, Ord:02A5h
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 |
:00401136 FF2510204000聽聽聽聽聽聽聽聽聽聽聽 Jmp dword ptr [00402010]
:0040113C 00000000000000000000聽聽聽 BYTE 10 DUP(0)
MASM 6.x 鏂板鎸囦护鍒楄〃:聽 Glow Glove 鍒?(璇蜂綋璋呭皬寮熻緵鑻︼紝鍕挎秷鍘?

MASM 6.x 鎺ㄥ嚭浠ヤ箙锛屼絾甯傞潰涓婃湁鍏充箣涔︾睄鍙婅祫鏂欏嵈灏戝緱鍙?锛屽皬寮熷綋鍒濇帴瑙?br />MASM 6.x 鏃讹紝杈涜緵鑻﹁嫤鎵嶆壘鍑鸿祫鏂欑殑锛屼负浜嗛偅浜涘緦杩涗笉鐢ㄨ笍钁楀厛鐑堢殑琛?抗鍓?br />鎵戝緦缁э紝鐗瑰皢灏忓紵銆岀炕銆嶅嚭鏉ョ殑涓滀笢鍏竷鍑烘潵銆?br />
杩欎簺鎸囦护閮芥槸灏忓紵浠庝功涓?鍘氶鏃犺?锛屽湪鑰佹澘鐨勭櫧鐪间笅杈涜嫤鎶勪笅鏉ョ殑)
鍙奙ASM 6.0 涔嬭寖渚嬬▼寮忎腑缈诲嚭鏉ョ殑锛岃嫢鏈夐仐钀界枏澶憋紝璇峰寘娑点?
璇蜂綋璋呭皬寮熶箣杈涜嫤锛屽嬁灏嗗皬寮熺殑ID娑堝幓銆?br />
MASM 6.x涓嶮ASM 5.x鏈?ぇ涓嶅悓锛屽湪鏂?.x 姣?.x 鏇撮珮闃跺寲浜?鎴栬鏇碢ASCAL鍖?锛?br />鍏跺唴鎻愪緵浜嗗垽鏂?鍥炲湀銆佹ā缁勫寲鍓▼寮忕瓑锛屽悇绉嶄护缁勫悎璇█浣跨敤鑰呮湜绌跨姘翠箣鎸?br />浠わ紝鐪嬪畬鍐呭锛岃涓嶈鎰熷姩鐨勭棝鍝祦娑曪紝鎴栨仺浠栦负浠?航涓嶆棭鐐瑰嚭鏉ャ?

杩愮畻绗﹀彿:
聽聽聽 == : 绛夋柤聽聽聽聽聽聽聽 &聽 : 浣嶅厓娴嬭瘯
聽聽聽 != : 涓嶇瓑鏂悸犅犅犅犅?!聽 : 鍚?NOT
聽聽聽 >聽 : 澶ф柤聽聽聽聽聽聽聽 && : 涓?AND
聽聽聽 <聽 : 灏忔柤聽聽聽聽聽聽聽 || : 鎴?OR

杈呭姪杩愮畻绗﹀彿:
聽聽聽 ZERO?聽聽聽聽 : ZERO ZF=1,ZR聽聽聽聽聽聽聽 !ZERO?聽聽聽聽 : NOT ZERO ZF=0,NZ
聽聽聽 CARRY?聽聽聽 : CARRY CF=1,CY聽聽聽聽聽聽 !CARRY?聽聽聽 : NOT CARRY CF=0,NC
聽聽聽 OVERFLOW? : OVERFLOW,OV聽聽聽聽聽聽聽聽 !OVERFLOW? : NOT OVERFLOW,NV
聽聽聽 SIGN?聽聽聽聽 : NEGATIVE,NG聽聽聽聽聽聽聽聽 !SIGN?聽聽聽聽 : PLUS,PL
聽聽聽 PAR99vY?聽聽 : PAR99vY EVEN,PE聽聽聽聽聽 !PAR99vY?聽聽 : PAR99vY ODD,PO

Examples:
聽聽聽 .IF AX == 1聽聽聽聽聽聽聽聽聽聽聽聽聽聽 .REPEAT
聽聽聽 .IF ZERO?聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 .UNTIL ZERO?
聽聽聽 .IF !(AX & 0Fh)
聽聽聽 .IF AL=ESC || AL=CR
聽聽聽 鐪嬪埌杩欎簺鎸囦护浜嗗悧? 鏄笉鏄技鏇剧浉璇嗭紝鏈熷緟浠ヤ箙浜嗐?

鍒ゆ柇寮?
聽聽聽 .IF
聽聽聽聽聽聽聽聽 .
聽聽聽 .ELSEIF
聽聽聽聽聽聽聽聽 .
聽聽聽 .ELSE
聽聽聽聽聽聽聽聽 .
聽聽聽 .ENDIF

聽聽聽 .ELSEIF 鍙?ELSE 涓洪潪蹇呰涔嬪姩浣滐紝鍐欒繃楂橀樁璇█鐨勫簲璇ヤ笉闅句簡瑙f墠瀵?

鍥炲湀鎸囦护:
聽聽聽 (1) 鍓嶆祴寮?
聽聽聽聽聽聽聽 .WHILE
聽聽聽聽聽聽聽聽聽聽聽聽聽 .
聽聽聽聽聽聽聽聽聽聽聽聽聽 .
聽聽聽聽聽聽聽 .ENDW
聽聽聽聽聽聽聽 褰撴潯浠舵垚绔嬶紝鍗虫墽琛屽洖鍦堝唴锛屽惁鍒欐墽琛屽洖鍦堝緦涔嬪姩浣?br />
聽聽聽 (2) 寰屾祴寮?
聽聽聽聽聽 1.聽 .REPEAT
聽聽聽聽聽聽聽聽聽聽聽聽聽 .
聽聽聽聽聽聽聽聽聽聽聽聽聽 .
聽聽聽聽聽聽聽聽聽 .UNTIL
聽聽聽聽聽聽聽 or
聽聽聽聽聽 2.聽 .REPEAT
聽聽聽聽聽聽聽聽聽聽聽聽聽 .
聽聽聽聽聽聽聽聽聽聽聽聽聽 .
聽聽聽聽聽聽聽聽聽 .UNTILCXZ

聽聽聽聽聽 1. 鍥炲湀涓?洿鍒版潯浠舵垚绔嬪嵆鍋滄鍥炲湀
聽聽聽聽聽 2. 鍚? 锛屼絾鍔犱笂鍒ゆ柇CX鏄惁涓? (OR鐨勫叧绯伙紝鍗虫潯浠朵负鐪熸垨CX==0)

杈呭姪鎸囦护:
聽聽聽 .BREAK
聽聽聽 .COUNTINE

聽聽聽 閰嶅悎涓婅堪鍥炲湀鎸囦护杩愮敤
聽聽聽 .BREAK聽聽聽 鍙腑姝㈠洖鍦?br />聽聽聽 .COUNTINE 鍙烦鑷冲洖鍦堝紑澶?br />聽聽聽 鍙湪鍏跺緦鍔犱笂鍙欒堪锛屽彊杩版垚绔嬫墠鍔ㄤ綔

鍡? 鎰堢湅鎰堝儚PASCAL浜?br />
Examples:

聽聽聽 .WHILE AX==1 || !ZERO?聽聽聽聽 .REPEAT
聽聽聽聽聽聽聽聽聽聽聽 .聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 .
聽聽聽 .ENDW聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 .UNTIL (AX & 1)

聽聽聽 .REPEAT
聽聽聽聽聽聽聽聽聽聽聽 .
聽聽聽聽聽聽聽 .BREAK .IF ZERO?
聽聽聽聽聽聽聽聽聽聽聽 .
聽聽聽聽聽聽聽 .COUNTINE
聽聽聽聽聽聽聽聽聽聽聽 .
聽聽聽 .UNTILCXZ (DX == 0)

寮曠敵:
聽聽聽 涓婅堪涔嬪垽鏂紡鍙婂洖鍦堬紝鍏跺疄灏辨槸CMP XX,YY
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 Jxx xxxx,LOOPxx xxxx
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 涔嬬粍鍚堛?

聽聽聽 鍏跺唴鍔ㄤ綔澶嶆潅锛屽皬寮熷啓涓嶅嚭鏉?:~~( 璇峰啓杩嘙ASM 5.x鐨勪汉鑷
聽聽聽 浣撲細閭g澶嶆潅鐨勫彜鑰佹柟寮忋?

浠ヤ笂鍐呭涓猴細MASM 6.x 鏂板鎸囦护鍒楄〃:聽 Glow Glove 鍒?(璇蜂綋璋呭皬寮熻緵鑻︼紝鍕挎秷鍘?






相关链接:



Recommend PIMS And Calendars



VIDEO format



Good Cartoons - Screen Savers



An Muke INTERNATIONAL container (Dongguan) Co., Ltd.



Easy Audio Presentation Tools



Q QQ coins to pay part of wages law, experts say



Add Card Games



"Mom" to Baidu was "angry"



Convert aac to mp3



mov Video



Convert avi to wmv



ACDSee Make The World Cup With A Slide



New WORM VBS / VBSWG.an @ MM small files



Details Determine Success Or Failure: Lean Production (4)