🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.asm
10 messages
10 total messages Started by Johnny Thu, 16 Nov 2006 07:45
Label
#826
Author: Johnny
Date: Thu, 16 Nov 2006 07:45
28 lines
1384 bytes
Chciałem sprawdzić prostą konstrukcję z podręcznika dot. "label".

.model tiny
.stack 100h
.code
org 100h
main proc
	mov	ax,lb

	mov	ax,0c0h
	int	21h
main endp
.data
lb label word
dane dd 12345678h
end main

Jednak widzę w debugerze, że program od razu startuje od linii mov
ax,0c0h. Mam wrażenie - być może mylne - że poprzednia instrukcja
"skleiła się" z inną i jest nieprawidłowo interpretowana. Czy to ma
jakiś związek z wyrównaniem? Jak temu zapobiec?

-- 
Pozdrawiam
Johnny

"Zauważyłem że ci wszyscy, którzy opowiadają się za aborcją, zdążyli się
urodzić". R. Reagan
Re: Label
#833
Author: Pawel Kraszewski
Date: Thu, 16 Nov 2006 09:34
31 lines
1532 bytes
Johnny wrote:

> Chciałem sprawdzić prostą konstrukcję z podręcznika dot. "label".
> 
> .model tiny
> .stack 100h
> .code
> org 100h
> main proc
> mov   ax,lb
> 
> mov   ax,0c0h
> int   21h
> main endp
> .data
> lb label word
> dane dd 12345678h
> end main
> 
> Jednak widzę w debugerze, że program od razu startuje od linii mov
> ax,0c0h. Mam wrażenie - być może mylne - że poprzednia instrukcja
> "skleiła się" z inną i jest nieprawidłowo interpretowana. Czy to ma
> jakiś związek z wyrównaniem? Jak temu zapobiec?
> 

Strzelam: Może asembler jest sprytny i wyoptymalizował 1.go mova jako
zbędnego? Daj w pierwszej linii jakiś inny rejestr niż ax.

-- 
 Pawel Kraszewski
 www.kraszewscy.net
Re: Label
#835
Author: Johnny
Date: Thu, 16 Nov 2006 13:29
15 lines
1352 bytes
Pawel Kraszewski napisał(a):
> Strzelam: Może asembler jest sprytny i wyoptymalizował 1.go mova jako
> zbędnego? Daj w pierwszej linii jakiś inny rejestr niż ax.
> 

Miałeś rację do tej optymalizacji. Pomogła nie zmiana rejestru a
operacji mov -> add.


-- 
Pozdrawiam
Johnny

"Zauważyłem że ci wszyscy, którzy opowiadają się za aborcją, zdążyli się
urodzić". R. Reagan
Re: Label
#827
Author: Matuzalem
Date: Thu, 16 Nov 2006 14:45
36 lines
2027 bytes
Johnny napisał(a):
> Chciałem sprawdzić prostą konstrukcję z podręcznika dot. "label".
>
> .model tiny
> .stack 100h
> .code
> org 100h
> main proc
> 	mov	ax,lb
>
> 	mov	ax,0c0h
> 	int	21h
> main endp
> .data
> lb label word
> dane dd 12345678h
> end main
>
> Jednak widzę w debugerze, że program od razu startuje od linii mov
> ax,0c0h. Mam wrażenie - być może mylne - że poprzednia instrukcja
> "skleiła się" z inną i jest nieprawidłowo interpretowana. Czy to ma
> jakiś związek z wyrównaniem? Jak temu zapobiec?

Czekaj czekaj.... :] yyy co tam robi stack 100h skoro to .com ? (jak Ci
się to w ogóle udało skompilować, bo np. tasm się pluje... :) )

Po drugie w ogóle nie inicjujesz .data. w (.com; CS=DS=ES=SS) np.

mov ax, @data
mov ds, ax

I po tych dwóch jakże magicznych wierszach :P wszystko będzie
ładnie śmigać...

Pozdrawiam
Re: Label
#834
Author: Matuzalem
Date: Thu, 16 Nov 2006 14:47
34 lines
2043 bytes
Pawel Kraszewski napisał(a):
> Johnny wrote:
>
> > Chciałem sprawdzić prostą konstrukcję z podręcznika dot. "label".
> >
> > .model tiny
> > .stack 100h
> > .code
> > org 100h
> > main proc
> > mov   ax,lb
> >
> > mov   ax,0c0h
> > int   21h
> > main endp
> > .data
> > lb label word
> > dane dd 12345678h
> > end main
> >
> > Jednak widzę w debugerze, że program od razu startuje od linii mov
> > ax,0c0h. Mam wrażenie - być może mylne - że poprzednia instrukcja
> > "skleiła się" z inną i jest nieprawidłowo interpretowana. Czy to ma
> > jakiś związek z wyrównaniem? Jak temu zapobiec?
> >
>
> Strzelam: Może asembler jest sprytny i wyoptymalizował 1.go mova jako
> zbędnego? Daj w pierwszej linii jakiś inny rejestr niż ax.

Chybiłeś :] w przeciwieństwie do kompilatorów HLL, pisząc w asm to
my go optymalizujemy - kod.

Pozdrawiam
Re: Label
#828
Author: Wiktor S.
Date: Mon, 20 Nov 2006 01:14
23 lines
1367 bytes
>> .model tiny
>> .stack 100h
>> .code
>> org 100h
>> main proc
>> mov ax,lb
>>
>> mov ax,0c0h
>> int 21h
>> main endp
>> .data
>> lb label word
>> dane dd 12345678h
>> end main

> Czekaj czekaj.... :] yyy co tam robi stack 100h skoro to .com ? (jak
> Ci się to w ogóle udało skompilować, bo np. tasm się pluje... :) )

Nie jest nigdzie powiedziane, że to MUSI być .com, a kol. Johnny nie 
napisał, czy kompiluje do .com czy .exe

-- 
Azarien
Re: Label
#829
Author: Maciej Oszutowski
Date: Mon, 20 Nov 2006 06:58
15 lines
1274 bytes
Dnia Mon, 20 Nov 2006 02:14:09 +0100, Wiktor S. napisał(a):

>>> .model tiny

>> Czekaj czekaj.... :] yyy co tam robi stack 100h skoro to .com ? (jak
>> Ci się to w ogóle udało skompilować, bo np. tasm się pluje... :) )
> 
> Nie jest nigdzie powiedziane, że to MUSI być .com, a kol. Johnny nie 
> napisał, czy kompiluje do .com czy .exe

Udało ci się kiedyś zrobić exe w modelu tiny?

-- 
|   Maciej Oszutowski   | Mowa jest srebrem  |
| imagiATpsytranceDOTpl | a milczenie owiec. |
Re: Label
#830
Author: Matuzalem
Date: Mon, 20 Nov 2006 11:36
17 lines
1765 bytes
Maciej Oszutowski napisał(a):
> Dnia Mon, 20 Nov 2006 02:14:09 +0100, Wiktor S. napisał(a):
>
> >>> .model tiny
>
> >> Czekaj czekaj.... :] yyy co tam robi stack 100h skoro to .com ? (jak
> >> Ci się to w ogóle udało skompilować, bo np. tasm się pluje... :) )
> >
> > Nie jest nigdzie powiedziane, że to MUSI być .com, a kol. Johnny nie
> > napisał, czy kompiluje do .com czy .exe
>
> Udało ci się kiedyś zrobić exe w modelu tiny?

Podpinam się do pytanie...

Pozdrawiam
Re: Label
#831
Author: Matuzalem
Date: Mon, 20 Nov 2006 11:38
17 lines
1993 bytes
Maciej Oszutowski napisał(a):
> Dnia Mon, 20 Nov 2006 02:14:09 +0100, Wiktor S. napisał(a):
>
> >>> .model tiny
>
> >> Czekaj czekaj.... :] yyy co tam robi stack 100h skoro to .com ? (jak
> >> Ci się to w ogóle udało skompilować, bo np. tasm się pluje... :) )
> >
> > Nie jest nigdzie powiedziane, że to MUSI być .com, a kol. Johnny nie
> > napisał, czy kompiluje do .com czy .exe
>
> Udało ci się kiedyś zrobić exe w modelu tiny?

Podpinam się pod pytanie...

Pozdrawiam
Re: Label
#832
Author: Johnny
Date: Mon, 20 Nov 2006 12:58
12 lines
1279 bytes
> Nie jest nigdzie powiedziane, że to MUSI być .com, a kol. Johnny nie
> napisał, czy kompiluje do .com czy .exe
> 
No, niestety com - kolega Matuzalem miał słuszność.


-- 
Pozdrawiam
Johnny

"Zauważyłem że ci wszyscy, którzy opowiadają się za aborcją, zdążyli się
urodzić". R. Reagan
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