...
Гений
(84865)
8 лет назад
@@B переход на метку "назад"
Н-р
@@: ; Как происходит переход к данным типам меток ?
add ecx, 2
mov ax, [esi+ecx]
mov [edi+ecx], ax
test ax, ax
jnz @B ; куда ведет эта метка ?
jnz @B перейдет (если что) на предыдущий @@ (соотв. add ecx, 2)
Если обратите внимание - у метки нет имени.
Честно я-бы не стал такое использовать. да. Написавшим ucRev в MASM виднее, но... Microsoft иногда _такой_ Microsoft....Имхо лучше давать имена и задавать локальные метки.
P.S: Соотв
jnz @B перейдет на @@: mov ax, [esi] если что
push esi
push edi
xor eax, eax
mov esi, [esp+12] ;
mov edi, [esp+16] ;
mov ecx, -2
@@: ; Как происходит переход к данным типам меток ?
add ecx, 2
mov ax, [esi+ecx]
mov [edi+ecx], ax
test ax, ax
jnz @B ; куда ведет эта метка ?
cmp ecx, 4
jb dont_bother
mov esi, edi
add edi, ecx
sub edi, 2
shr ecx, 2
@@:
mov ax, [esi]
mov dx, [edi]
mov [edi], ax
mov [esi], dx
add esi, 2
sub edi, 2
sub ecx, 1
jnz @B
dont_bother:
pop edi
pop esi
ret 8
ucRev endp
Прокомментируйте пожалуйста данный макрос