Errata da 1ª edição

 

Um livro sem uma figura e sem uma gralha não é um livro... Sabemos onde estão as figuras, mas as eventuais gralhas que não constam desta página ainda não foram descobertas.  Agradecemos aos nossos leitores que nos comuniquem todas as incorreções que detetarem. Serão corrigidas na próxima edição do livro. Desde já os nossos agradecimentos aos leitores indicados em baixo e que com uma leitura paciente e cuidada têm descoberto diversas gralhas.

Se tiver sugestões de melhoramentos, agradecemos também que as apresente.

 
Página

Descrição da gralha

Quem descobriu

36 Onde se lê "Por exemplo, a variável V na..." deve ler-se "Por exemplo, a variável Z na...". Rui Cruz
38 Na Tabela 2.2, no axioma Comutatividade, a expressão "X+Y=X+Y" deve ser substituída por "X+Y=Y+X" Rui Cruz
47 No logigrama da Figura 2.11b, as entradas X3  e X4 devem ser substituídas por X2 e X3, respetivamente Rui Cruz
50 Na Tabela 2.6, na linha "C", bit "g" (coluna mais à direita), o bit deve ser 0 e não 1 José Delgado
57 Último parágrafo. Onde se lê "A Fig. 2.20 mostra um trinco D activado..." deve ler-se "A Fig. 2.20 mostra uma báscula D activada..." Nick Santos
71 No segundo e terceiro parágrafo, onde aparece "Fig. 2.33" e "Fig. 2.34" deve ler-se "Fig. 2.34" e "Fig. 2.35", respetivamente José Delgado
85 Penúltimo parágrafo. Onde se lê "...indica que os números de formam..." deve ler-se "...indica que os números se formam..." Nick Santos
89 Na última linha da tabela 2.18, onde se lê "1024 T" deve ler-se "1024 G" Miguel Monteiro
107 3.º parágrafo. Onde se lê "O que não quer dizer que se recorra a circuitos combinatórios..." deve ler-se "O que não quer dizer que não se recorra a circuitos combinatórios..." Nick Santos
138 Na Tabela 3.7, na linha da operação "A <- constante", o sinal ESCR_A deve estar Activo Aquilino Viveiros
141 Na Tabela 3.8, na linha da instrução A <- M[temp] e na coluna SEL_B, deve figurar "Mem" José Delgado
149 Na Tabela 3.11, na página 149, o texto da coluna "Descrição da instrução" na penúltima linha (com Opcode 14) deve ser "Não faz nada. Apenas o PC é incrementado como normalmente" Helder Gomes
150 No 2.º item do 3.º parágrafo da secção 3.4.2, onde se lê "... que indica qual o operando sobre os quais essa instrução actua ..." deve ler-se "... que identifica o operando sobre o qual essa instrução actua ..." Nick Santos
152 No 2.º parágrafo da NOTA, onde se lê "... o que significa que a suas instruções ..." deve ler-se "... o que significa que as suas instruções ..." Nick Santos
159 No 1.º item da lista, onde se lê "... a constante simbólica que aparece a seguir à directiva ..." deve ler-se "... a constante simbólica que aparece antes da directiva ..." Nick Santos
210 Na Tabela 4.10, onde se lê "Designações alternativas para os registos R13, R14 e R15, respectivamente" deve ler-se "Designações alternativas para os registos R12, R13 e R15, respectivamente" Nick Santos
213 Onde se lê "entre -32.678 e +32.767" deve ler-se "entre -32.768 e +32.767" Jorge Chu
225 No comentário da penúltima instrução do Programa 4.5, onde se lê "se R2 não for 1,..." deve ler-se "se R2 não for 0,..." Nick Santos
257 Na Fig. 4.18, no endereço 2400H, o carácter deve ser "_" (underscore) e não "-" (hífen) José Delgado
258 Na Tabela 4.29, o primeiro carácter ASCII resultante deve ser "_" (underscore) e não "-" (hífen) José Delgado
283 No 1.º parágrafo da secção 5.5.1, onde se lê "... o compilador substitui-o automaticamente pelo seu valor." deve ler-se "... o compilador substitui-a automaticamente pelo seu valor." Nick Santos
302 Na 2ª linha, onde se lê "SHL R1, 2" deve ler-se "SHL R1, 1" Miguel Monteiro
339 Na parte de baixo da Tabela 5.23, imediatamente antes da instrução "JMP acaba", falta a instrução "MOV R1, 1 ; true" José Delgado
346 Na segunda coluna da Tabela 5.24, a instrução MUL R0, 2 deve ser substituída pelas instruções MOV R2, 2 e MUL R0, R2.
Ao fundo da terceira coluna da mesma tabela, a instrução MUL R3, 2 deve ser substituída pelas instruções MOV R4, 2 e MUL R3, R4.
José Delgado
371 No Programa 5.11, rotina CalculaDia, a instrução MUL não aceita constantes e a instrução MOVB não aceita endereçamento indexado. As correções estão no programa 5.11 da simulação 5.11 José Delgado
413  A Fig. 6.2, na página 413, ficou inadvertidamente igual à figura 6.1. A figura correta está aqui. Helder Gomes
472 Na rotina Rot_int1 falta desligar o triac, após o ligar e antes da instrução POP R0, de modo a gerar um impulso no pino que liga ao controlo do triac. As instruções que faltam já estão incluídas no Programa 6.1, que faz parte da Simulação 6.5. Carlos Ribeiro
523 Na última linha, onde se lê "um do seus principais trunfos" deve ler-se "um dos seus principais trunfos" José Delgado
526 No penúltimo parágrafo da secção 6.5.2.3, onde se lê "superiores a 500 MHz" deve ler-se "superiores a 250 MHz" José Delgado
527 No item que se inicia por "Os discos magnéticos duros", onde se lê "capacidades de transferência na ordem de 3 GBytes/s" deve ler-se "capacidades de transferência na ordem de 3 Gbits/s" José Delgado
534 Na coluna da esquerda da Tabela 6.19, onde se lê "Fujistu" deve ler-se "Fujitsu" José Delgado
576 Na 3ª linha, onde se lê "O número da excepção" deve ler-se "O número da excepção (sinal NUM_EXC)"
Na Fig. 7.5, onde se lê "N.º da excepção" deve ler-se "NUM_EXC". A figura correta está aqui.
José Delgado
580 Na nota 104, onde se lê "pode verificar-se na Tabela 7.7" deve ler-se "pode verificar-se na Tabela 7.7 e na Unidade de Controlo da Fig. 7.6" José Delgado
585 Na linha da instrução MOVL Rd, k, na coluna SEL_C, onde se lê "RI_7_4" deve ler-se "RI_11_8"
Na primeira linha (m_STO1) da instrução MOV [Rd+n], Rs, os valores nas colunas SEL_OP_B, SEL_CONST e OP_ALU devem ser CONST, E4_16S e ADD_Bx2, respetivamente
Na linha seguinte (m_STO2), na coluna "Micro-operações" onde se lê "Rd" deve ler-se "Rs" e na coluna SEL_A onde se lê "RI_7_4" deve ler-se "RI_11_8"
Na última linha da tabela (m_CALL4), na coluna "SEL_C" onde se lê "SP" deve ler-se "REG_C" e falta uma coluna com o nome "REG_C" e com o valor "SP". Esta coluna é usada apenas nesta linha.
A Tabela 7.7 completa e corrigida está aqui.
Carlos Ribeiro
597 Na linha da instrução MOVL Rd, k, na coluna SEL_C, onde se lê "RI_7_4" deve ler-se "RI_11_8"
Na primeira linha (m_STO1) da instrução MOV [Rd+n], Rs, os valores nas colunas SEL_OP_B, SEL_CONST e OP_ALU devem ser CONST, E4_16S e ADD_Bx2, respectivamente
Na linha seguinte (m_STO2), na coluna "Micro-operações" onde se lê "Rd" deve ler-se "Rs" e na coluna SEL_A onde se lê "RI_7_4" deve ler-se "RI_11_8"
Na última linha da tabela (m_CALL4), na coluna "SEL_C" onde se lê "SP" deve ler-se "REG_C" e falta uma coluna com o nome "REG_C" e com o valor "SP". Esta coluna é usada apenas nesta linha.
A Tabela 7.10 completa e corrigida está aqui.
Carlos Ribeiro
600 A Fig. 7.12 tem dois erros nas ligações dos sinais I_OK e I_OK_M. Falta ainda o circuito de controlo do sinal de relógio do MPC e da cadeia de estágios de instruções, usado nos saltos condicionais em microcódigo e nas falhas dos acessos à cache de dados. A figura correta está aqui. Carlos Ribeiro
613 A secção 7.3.5 acabou por não ter a correção das instruções da Tabela 7.11 em termos de dependências de dados. Este documento deve ser inserido no fim desta secção. Carlos Ribeiro
624 Na coluna da esquerda da Tabela 7.14, os números 22H, 25H e 26H devem ser 32H, 35H e 36H, respetivamente Lourenço Cunha
626 Na coluna da esquerda da Tabela 7.15, os números 22H, 25H e 26H devem ser 32H, 35H e 36H, respetivamente Lourenço Cunha
629 Na coluna da esquerda da Tabela 7.16, os números 22H, 25H e 26H devem ser 32H, 35H e 36H, respetivamente Lourenço Cunha
636 Na 2ª linha do 3.º parágrafo, onde se lê "...é descrito na secção 7.5" deve ler-se "...é descrito na Tabela 7.19" Lourenço Cunha
663-665 No Programa 7.2, nas linhas com as instruções PUSHC e POPC, faltou referir que estas instruções também não guardam/recuperam o BTE. Estas instruções guardam/recuperam apenas os registos R0 a R11. José Delgado
692 Na Tabela A.4, onde se lê "15..9" deve ler-se "15..10". Falta a linha do bit 9, que na coluna "Sigla" deve ter "E" e na coluna "Funcionalidade" deve conter: "Processamento em estágios 0=sem; 1=com (este bit só funciona mo módulo MicroPEPE do simulador. No módulo PEPE, este bit é ignorado)" Carlos Ribeiro
700 Nas instruções PUSHC e POPC, faltou referir que estas instruções também não guardam/recuperam o BTE. Estas instruções guardam/recuperam apenas os registos R0 a R11. José Delgado
701 Na instrução SWE, a constante "k" deve abranger as duas colunas da direita dos "Campos da instrução" José Delgado