Forum » Programiranje » [asm] Vnaprej nastavljeni kazalci v polju
[asm] Vnaprej nastavljeni kazalci v polju
goranv ::
Je mozno da bi v polje 'lia_run' prevajalnik v naprej pripravil kazalce, namesto da se nastavljajo na zacetku pri vsakem klicu funkcije? Z tem nacinom bi rad preskocil preverjati 'id' z if stavki in s tem takoj skoci na zeljeno mesto v funkciji.
run proc id :DWORD
LOCAL lia_run[128] :DWORD
LOCAL lsz[32] :BYTE
mov dword ptr [lia_run], _ENA
mov dword ptr [lia_run+4], _DVA
mov dword ptr [lia_run+8], _TRI
mov eax, id
lea edi, lia_run
jmp dword ptr [edi+(eax*4)]
_ENA:
mov ecx, 1
jmp _konec
_DVA:
mov ecx, 2
jmp _konec
_TRI:
mov ecx, 3
jmp _konec
_konec:
inv wsprintf, addr lsz, SADD("%d",13,10), ecx
inv StdOut, addr lsz
Ret
run endp
run proc id :DWORD
LOCAL lia_run[128] :DWORD
LOCAL lsz[32] :BYTE
mov dword ptr [lia_run], _ENA
mov dword ptr [lia_run+4], _DVA
mov dword ptr [lia_run+8], _TRI
mov eax, id
lea edi, lia_run
jmp dword ptr [edi+(eax*4)]
_ENA:
mov ecx, 1
jmp _konec
_DVA:
mov ecx, 2
jmp _konec
_TRI:
mov ecx, 3
jmp _konec
_konec:
inv wsprintf, addr lsz, SADD("%d",13,10), ecx
inv StdOut, addr lsz
Ret
run endp
goranv ::
Nasel sem, prej sem spregledal v macros.asm. Macro: "jmp_table lia_run, _ENA, _DVA, _TRI".
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [ASM] Pomoč, ne najdem napakeOddelek: Programiranje | 1093 (969) | c0dehunter |
» | asm - vnos stevilk s tipkovniceOddelek: Programiranje | 1274 (1130) | scarymovie |
» | Odkrita ranljivost v Flashu omogoča pridobitev sistemskih privilegijevOddelek: Novice / Varnost | 5752 (3652) | fiction |
» | Kako razbrati minidump fajl ?Oddelek: Pomoč in nasveti | 1924 (1731) | Jst |
» | problem v zbirnikuOddelek: Programiranje | 983 (881) | BigWhale |