Discussione:
Substring in fun file batch
(troppo vecchio per rispondere)
shrike
2007-02-14 11:08:48 UTC
Permalink
Salve a tutti,

ho la necessità di eseguire un ciclo for per tutta la lunghezza di una
stringa e prelevare i singoli caratteri che la compongono.

ES.: set p=pala

In output voglio:
p
a
l
a


Suggerimenti?

Grazie a tutti.
Gioacchino
2007-02-14 14:24:44 UTC
Permalink
Post by shrike
Salve a tutti,
ho la necessità di eseguire un ciclo for per tutta la lunghezza di una
stringa e prelevare i singoli caratteri che la compongono.
ES.: set p=pala
p
a
l
a
Suggerimenti?
Grazie a tutti.
usa il debug in un file dov'è l'output della stringa e scrivi del
codice assembler con istruzioni tipo "lodsb" e "loop" che fanno il tuo
caso.
La lunghezza della stringa è nel registro cx.
Gioacchino
2007-02-26 17:19:31 UTC
Permalink
Post by shrike
Salve a tutti,
ho la necessità di eseguire un ciclo for per tutta la lunghezza di una
stringa e prelevare i singoli caratteri che la compongono.
ES.: set p=pala
p
a
l
a
Suggerimenti?
Grazie a tutti.
Legge la variabile d'ambiente p e invia in output un carattere per riga.

####################
@echo off
echo %p% >str
echo.a80 >deb
echo.std >>deb
echo.sub cx,2 >>deb
echo.mov dx, cx >>deb
echo.add dx, FF >>deb
echo.mov si, dx >>deb
echo.mov ax,3 >>deb
echo.mul cx >>deb
echo.mov cx, ax >>deb
echo.push cx >>deb
echo.add cx, FF >>deb
echo.mov di, cx >>deb
echo.mov al, 0a >>deb
echo.stosb >>deb
echo.mov al, 0d >>deb
echo.stosb >>deb
echo.lodsb >>deb
echo.stosb >>deb
echo.sub cx, 3 >>deb
echo.cmp cx, 100 >>deb
echo.jg 09A >>deb
echo.pop cx >>deb
echo.cld >>deb
echo.int 20 >>deb
echo.>>deb
echo.p =80 100 >>deb
echo.w>>deb
echo.q>>deb
type deb|debug str>nul
del deb
type str
del str

Loading...