(b) ligador;
(c) carregador;
(d) segmento;
(e) código objeto;
(f) código executável.
(a) o resultado gerado por um montador absoluto e um montador de ligação direta
(b) ajuste de relocação e ajuste de ligação
(c) ligação dinâmica em tempo de carga e em tempo de execução
(a) A Tabela de Símbolos gerada por um montador é uma estrutura de dados usada internamente pelo montador, não sendo nunca incorporada ao módulo objeto gerado.
(b) Uma das vantagens do esquema de ligação dinâmica é a redução de tamanho de módulos objetos, uma vez que nestes a incorporação de códigos de outras rotinas é substituída por referências a estas rotinas.CSC
Módulo 1 | Módulo 2 |
0.'MAIN'.S.0000.001A | 0.'CALC'.'S'.0000.0006 |
0.'RESULT'.L.0018.0002 | 1.0000.02.2200 |
1.0000.06.203900000014 | 1.0002.02.9081 |
1.0006.06.4EB900000000 | 1.0004.02.4E75 |
1.000C.06.33C000000018 | 3.00 |
1.0012.02.4E75 | |
1.0014.04.00004E75 | |
2.0002.04.'MAIN' | |
2.0008.04.'CALC' | |
2.000E.04.'MAIN' | |
3.02.0000 |
Passados como argumentos nessa ordem (módulo 1 seguido de módulo 2) para um carregador de ligação direta, obteve-se o endereço inicial de carga (IPLA) $0200. Com base nos fluxogramas apresentados em sala de aula e que documentam o funcionamento deste tipo de carregador, pergunta-se:
(a) qual o conteúdo da Tabela de Símbolos Externos Globais (GEST) gerada pelo carregador?
(b) O diagrama abaixo é um mapa de conteúdo da memória após o carregamento sem os ajustes de ligação e relocação. Indique neste mapa quais posições são ajustadas pelo carregador e qual o novo conteúdo destas posições.
0 | 2 | 4 | 6 | 8 | A | C | E | |
020- | 2039 | 0000 | 0014 | 4EB9 | 0000 | 0000 | 33C0 | 0000 |
021- | 0018 | 4E75 | 0000 | 4E75 | 0000 | 2200 | 9081 | 4E75 |