Pjetal Opublikowano 15 Czerwca 2005 Zgłoś Opublikowano 15 Czerwca 2005 Mam takie coś : liczbastr db 9,?,10 dup('$') ; zmienna napisowa .code start: mov ax,seg napis mov ds,ax lea dx,liczbastr ; ustaw liczbe na dx mov ah,0Ah ; int 21h ; wczytaj liczbe (napis) z klawiatury .....i czy wiecie może jak z tego dostać wartość ukrytą pod "?" ??? bo chcę zrobić coś takiego że zależnie od tego ile znaków wpisze z klawiatury tyle razy sie wykona jakaś pętla czyli pod CX chcę wrzucić tą liczbę znaków ile ma napisana przeze mnie wartość. Kombinowałem na wszystkie spsosoby m.in. tak : mov dx,offset liczbastr inc dx mov cx,dx ale po tym mi wykonuje pętle ZAWSZE niezależie od tego ile znaków wpisze 63 razy ?? Pomóżcie mi PLEASE Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
K3310pH Opublikowano 15 Czerwca 2005 Zgłoś Opublikowano 15 Czerwca 2005 najbardziej zakrecony opis prostej czynnosci jaki widzialem, moglbys wykladac u mnie na wydziale :P jezeli dobrze zrozumialem chcesz policzyc dlugosc stringai zwrocic ja do CX jedno rozwiazanie: lea dx, liczbastrxor cx, cx ; cx = 0petla:cmp byte ptr [dx], '$'je okinc dxinc cxjmp petla a jesli z gory znasz dlugosc to mozna tez tak kombinowac liczbastr db '23847239', '$'liczba_len equ $ - liczbastr - 1mov cx, liczba_len nie pamietam jak to tbylo w 16 bitowych, moze bedziesz musial zamiast [dx] uzyc jakiegos ds:[si] albo przynajmniej ds:[dx] do adresowania.. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...