🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.asm
6 messages
6 total messages Started by Remek Wed, 13 Jan 2010 22:17
Tekst z klawiatury
#2069
Author: Remek
Date: Wed, 13 Jan 2010 22:17
23 lines
1386 bytes
Witam

Na stronie:

http://rudy.mif.pg.gda.pl/~bogdro/dos/a_kurs17.htm

jest przykład deklaracji zmiennych:

====================================
Do pobierania tekstów od użytkownika służyć może funkcja AH=0A przerwania
DOSa. Wystarczy podać jej adres bufora takiej konstrukcji:

bufor db 20 ; maksymalna ilość znaków do pobrania
      db 0  ; tu dostaniemy, ile znaków pobrano
dane: times 22 db "$" ; miejsce na dane

=======================================

Jak to zrobić w Tasm, który nie akceptuje lini:

dane: times 22 db "$" ; miejsce na dane

Remek
Re: Tekst z klawiatury
#2070
Author: Michoo
Date: Wed, 13 Jan 2010 23:04
10 lines
909 bytes
Remek pisze:
> Jak to zrobić w Tasm, który nie akceptuje lini:
> 
> dane: times 22 db "$" ; miejsce na dane
oidp:
dane db 22 dup (?)

-- 
Pozdrawiam
Michoo
Re: Tekst z klawiatury
#2071
Author: Bogdan (bogdro)
Date: Thu, 14 Jan 2010 17:08
36 lines
2217 bytes
W dniu 13.01.2010 23:17, Remek pisze:
> Witam
> 
> Na stronie:
> 
> http://rudy.mif.pg.gda.pl/~bogdro/dos/a_kurs17.htm
> 
> jest przykład deklaracji zmiennych:
> 
> ====================================
> Do pobierania tekstów od użytkownika służyć może funkcja AH=0A przerwania
> DOSa. Wystarczy podać jej adres bufora takiej konstrukcji:
> 
> bufor db 20 ; maksymalna ilość znaków do pobrania
>      db 0  ; tu dostaniemy, ile znaków pobrano
> dane: times 22 db "$" ; miejsce na dane
> 
> =======================================
> 
> Jak to zrobić w Tasm, który nie akceptuje lini:
> 
> dane: times 22 db "$" ; miejsce na dane

 Michoo według mnie już podał prawidłową odpowiedź, ale ja dorzucę
jeszcze, że możesz spojrzeć na stronę
	http://rudy.mif.pg.gda.pl/~bogdro/dos/fntasm.htm
 Co prawda ten przykład z tablicą jest wrzucony do rezerwacji pamięci
(co oznacza, że dobrze byłoby dodać deklaracje tablic jako osobny
przypadek), więc można go przeoczyć, ale strona i tak może się
przydać, jak trzeba coś szybko znaleźć.

-- 
Pozdrawiam/Regards - Bogdan                     (GNU/Linux & FreeDOS)
Kurs asemblera x86 (DOS, GNU/Linux):http://rudy.mif.pg.gda.pl/~bogdro
Grupy dyskusyjne o asm:  pl.comp.lang.asm alt.pl.asm alt.pl.asm.win32
www.JabberPL.org www.torproject.org Soft (EN): miniurl.pl/bogdro-soft
Re: Tekst z klawiatury
#2072
Author: Remek
Date: Thu, 14 Jan 2010 18:36
39 lines
2416 bytes
Użytkownik "Bogdan (bogdro)" <bogdan@poczta.gazeta.pl> napisał w wiadomości 
news:hinj33$9nn$2@inews.gazeta.pl...
>W dniu 13.01.2010 23:17, Remek pisze:
>> Witam
>>
>> Na stronie:
>>
>> http://rudy.mif.pg.gda.pl/~bogdro/dos/a_kurs17.htm
>>
>> jest przykład deklaracji zmiennych:
>>
>> ====================================
>> Do pobierania tekstów od użytkownika służyć może funkcja AH=0A przerwania
>> DOSa. Wystarczy podać jej adres bufora takiej konstrukcji:
>>
>> bufor db 20 ; maksymalna ilość znaków do pobrania
>>      db 0  ; tu dostaniemy, ile znaków pobrano
>> dane: times 22 db "$" ; miejsce na dane
>>
>> =======================================
>>
>> Jak to zrobić w Tasm, który nie akceptuje lini:
>>
>> dane: times 22 db "$" ; miejsce na dane
>
> Michoo według mnie już podał prawidłową odpowiedź, ale ja dorzucę
> jeszcze, że możesz spojrzeć na stronę
> http://rudy.mif.pg.gda.pl/~bogdro/dos/fntasm.htm
> Co prawda ten przykład z tablicą jest wrzucony do rezerwacji pamięci
> (co oznacza, że dobrze byłoby dodać deklaracje tablic jako osobny
> przypadek), więc można go przeoczyć, ale strona i tak może się
> przydać, jak trzeba coś szybko znaleźć.
>
> -- 
> Pozdrawiam/Regards - Bogdan                     (GNU/Linux & FreeDOS)
> Kurs asemblera x86 (DOS, GNU/Linux):http://rudy.mif.pg.gda.pl/~bogdro
> Grupy dyskusyjne o asm:  pl.comp.lang.asm alt.pl.asm alt.pl.asm.win32
> www.JabberPL.org www.torproject.org Soft (EN): miniurl.pl/bogdro-soft 
Re: Tekst z klawiatury
#2073
Author: Remek
Date: Thu, 14 Jan 2010 19:29
42 lines
2423 bytes
Użytkownik "Bogdan (bogdro)" napisał:

> Michoo według mnie już podał prawidłową odpowiedź, ale ja dorzucę
> jeszcze, że możesz spojrzeć na stronę
> http://rudy.mif.pg.gda.pl/~bogdro/dos/fntasm.htm
> Co prawda ten przykład z tablicą jest wrzucony do rezerwacji pamięci
> (co oznacza, że dobrze byłoby dodać deklaracje tablic jako osobny
> przypadek), więc można go przeoczyć, ale strona i tak może się
> przydać, jak trzeba coś szybko znaleźć.

Mam tę stronę na dysku. Zresztą nie tylko. Mam wszystkie Twoje publikacje. 
Jednak raz, że jest tego dużo, coraz więcej i czasem trudno coś na szybko 
odszukać, a poza tym na wskazanej stronie nie widzę "times". Czy to strona:

"Porównanie dyrektyw i sposobów kompilacji różnych kompilatorów"?

Coś mi chodzi po głowie, że w Tasm trzeba użyć jakiegoś przełącznika, ale 
nie mogę teraz tego odnaleźć. Raczej na codzień już się tym nie zajmuję. 
Chodziło o pomoc koledze. To, że trzeba było zadeklarować np.:

bufor db 20 dup (?)

to wiedziałem. Problem polegał na braku znaku końca łańcucha '$' z wiadomym 
skutkiem.  Sposób:

bufor db "                   ", '$'

nie pomagał. Trzeba tak:

bufor db 22 dup ('$')

Genialne! Tu była podpowiedź - times 22 db "$".

Jakby to rozbić, to można tak:

bufor db 22 dup (?)
      db '$'

Takie rozwiązanie też widziałem, ale go nie stosuję, bo nie mam pewności, 
czy kompilator umieści oba wiersze jeden za drugim w pamięci.

Pozdrawiam  Remek 
Re: Tekst z klawiatury
#2074
Author: Bogdan (bogdro)
Date: Fri, 15 Jan 2010 18:06
71 lines
3641 bytes
W dniu 14.01.2010 20:29, Remek pisze:
> Użytkownik "Bogdan (bogdro)" napisał:
> 
>> Michoo według mnie już podał prawidłową odpowiedź, ale ja dorzucę
>> jeszcze, że możesz spojrzeć na stronę
>> http://rudy.mif.pg.gda.pl/~bogdro/dos/fntasm.htm
>> Co prawda ten przykład z tablicą jest wrzucony do rezerwacji pamięci
>> (co oznacza, że dobrze byłoby dodać deklaracje tablic jako osobny
>> przypadek), więc można go przeoczyć, ale strona i tak może się
>> przydać, jak trzeba coś szybko znaleźć.
> 
> Mam tę stronę na dysku. Zresztą nie tylko. Mam wszystkie Twoje
> publikacje.

 Miło mi. Mam nadzieję, że się przydają raz na jakiś czas.

> Jednak raz, że jest tego dużo, coraz więcej i czasem trudno
> coś na szybko odszukać, a poza tym na wskazanej stronie nie widzę
> "times". Czy to strona:
> 
> "Porównanie dyrektyw i sposobów kompilacji różnych kompilatorów"?

 Tak. Słowa "times" rzeczywiście tam nie używam (stąd właśnie
wzmianka, że powinienem dodać deklaracje tablic), ale odpowiedzią na
pytanie było "DUP", które na stronie jest (zakamuflowane w trzeciej
kolumnie drugiego wiersza pierwszej tabeli).

> Coś mi chodzi po głowie, że w Tasm trzeba użyć jakiegoś przełącznika,
> ale nie mogę teraz tego odnaleźć.

 Może chodzi o tryb IDEAL?

> Raczej na codzień już się tym nie
> zajmuję. Chodziło o pomoc koledze. To, że trzeba było zadeklarować np.:
> 
> bufor db 20 dup (?)
> 
> to wiedziałem. Problem polegał na braku znaku końca łańcucha '$' z
> wiadomym skutkiem.  Sposób:
> 
> bufor db "                   ", '$'
> 
> nie pomagał. Trzeba tak:
> 
> bufor db 22 dup ('$')
> 
> Genialne! Tu była podpowiedź - times 22 db "$".
> 
> Jakby to rozbić, to można tak:
> 
> bufor db 22 dup (?)
>      db '$'
> 
> Takie rozwiązanie też widziałem, ale go nie stosuję, bo nie mam
> pewności, czy kompilator umieści oba wiersze jeden za drugim w pamięci.

 Według wszelkiej mojej wiedzy umieści. Bo nie ma nic między tymi
liniami, więc nie ma powodu, dla którego miałoby się między nimi
cokolwiek znaleźć.
 Swoją drogą, rozwiązanie
	bufor db 22 dup ('$')
 jest najlepsze, bo jak zostanie wczytanych mniej niż 20 znaków, to
zaraz za nimi będzie '$', a nie jakieś śmieci dopełniające do 20
bajtów, po czym dopiero '$'. Dzięki temu uniknie się wyświetlania
owych "śmieci".

-- 
Pozdrawiam/Regards - Bogdan                     (GNU/Linux & FreeDOS)
Kurs asemblera x86 (DOS, GNU/Linux):http://rudy.mif.pg.gda.pl/~bogdro
Grupy dyskusyjne o asm:  pl.comp.lang.asm alt.pl.asm alt.pl.asm.win32
www.JabberPL.org www.torproject.org Soft (EN): miniurl.pl/bogdro-soft
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads