«« ( Date ) »» // «« ( Thread ) »» // ir3sp - 2008

Re: Domaci pitanja

by Milos Djokovic
ponedeljak, 19. maj 2008 - 00:59.

Ne. Sekcija symbols objektnog fajla nije isto sto i tabela simbola
kompajlera. Sekcija symbols se odnosi na globalne simbole, pa se samo
oni javljaju u njoj.


Pozdrav,
Milos

Током 18. мај 2008. 20.14, Miloš Rašić <milos.rasic@gmail.com> је написао/ла:
>
>
> 2008/5/13 Ivan Mitic <mitkebgd@gmail.com>:
>>
>> Imam par nedoumica oko domaceg zadatka, pa ako neko zna bio bih zahvalan
>> da odgovori.
>>
>> 1. Samo da potvrdim. Domaci je znaci da se iz asemblerskog koda napravimo
>> objektni kod, tj. za primer dole:
>>
>> BEG ; count the bits in a number
>> USE WRITE, TEMP ; external symbols
>> TXT ; default, even if not here
>> INI ; Read(A)
>> LOOP ; REPEAT
>> SHR ; A := A DIV 2
>> BCC EVEN ; IF A MOD 2 # 0 THEN
>> STA TEMP ; TEMP := A
>> LDA BITS
>> INC
>> STA BITS ; BITS := BITS + 1
>> LDA TEMP ; A := TEMP
>> EVEN BNZ LOOP ; UNTIL A = 0
>> LDA BITS ;
>> JSR WRITE ; Write(BITS)
>> HLT ; terminate execution
>> DAT
>> BITS DC 0 ; BITS : BYTE
>> END
>>
>> dobijamo sledeci output:
>>
>> LINK
>> 2 2 8
>> # segments (name base len desc)
>> .text 0 14 RP
>> .data 14 1 RWP
>> # symbols (name value seg type)
>> WRITE 0 0 U
>> TEMP 0 0 U
>> # relocations ( loc seg ref type)
>> 03 1 1 A1
>> 05 1 2 AS1
>> 07 1 2 A1
>> 0A 1 2 A1
>> 0C 1 2 AS1
>> 0E 1 1 A1
>> 10 1 2 A1
>> 12 1 1 AS1
>> # data (one line per segment)
>> 0A 16 3A 0D 1E 00 19 14 05 1E 14 19 00 37 01 19 14 3C 00 18 00
>>
>
> Zar ne bi u ovom primeru trebalo i labele LOOP i EVEN da se nalaze u tabeli
> simbola?
>
> -----------------------------------------------------------------
> unsubscribe:
> minimalist@rti.etf.bg.ac.yu?subject=unsubscribe%20ir3sp
> -----------------------------------------------------------------
>
>