Estoy empezando con ensamblador y haciendo pequeños projectos...
Lo que quiero es recibir el path del propio ejecutable:
Supongo que habra otras formas de hacerlo, mas rapidas o quizas mas eficaces, pero quiero ir teniendo soltura con asm
invoke GetModuleFileName, 0, addr temp, 256
mov esi, esp
push esi
;Solo el path
.if i == 1
xor eax,eax
loop_len:
mov dl,[esi]
.if dl == 5Ch; \
mov eax, esi
.elseif dl == 0
jmp done
.endif
inc esi
jmp loop_len
done:
; Aqui teniendo la posicion del ultimo \ quiero sobreescribirla con un caracter nulo para cuando coja "esi" solo me devuelva el path
mov eax, 0
.endif
EDIT:
He logrado hacerlo poniendo esto
mov ebx, 0
mov [eax], ebx
No abro otro hilo ya que esta duda esta relacionada con lo anterior...
Esto es lo que tengo:
ESI: apunta a toda la cadena
EAX: Apunta a una posicion dentro de esa cadena
Como hago para que esi "apunte" a la direccion que esta en EAX
Ejemplo:
String original: "Mi casa tiene dos ventanas"
ESI apunta a "M" y sigue hasta encontrar un caracter nulo, por lo tanto obtendria la string original
Si reemplzazo el caracter "d" de la palabra "dos", obtendre a partir de ESI => "Mi casa tiene ", ahora lo que quiero obtener es "os ventanas"