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 | 1221 (1097) | c0dehunter |
| » | asm - vnos stevilk s tipkovniceOddelek: Programiranje | 1413 (1269) | scarymovie |
| » | Odkrita ranljivost v Flashu omogoča pridobitev sistemskih privilegijevOddelek: Novice / Varnost | 5969 (3869) | fiction |
| » | Kako razbrati minidump fajl ?Oddelek: Pomoč in nasveti | 2052 (1859) | Jst |
| » | problem v zbirnikuOddelek: Programiranje | 1095 (993) | BigWhale |