324

Capítulo 7 Arreglos

7.36 

(

Modifi caciones al simulador Simpletron) En el ejercicio 7.35 usted escribió una simulación de software de una 

computadora que ejecuta programas escritos en el Lenguaje Máquina Simpletron (LMS). En este ejercicio proponemos 
varias modifi caciones y mejoras al simulador Simpletron. En los ejercicios 17.26 y 17.27 propondremos la creación de
un compilador que convierta los programas escritos en un lenguaje de programación de alto nivel (una variación 
de Basic) a Lenguaje Máquina Simpletron. Algunas de las siguientes modifi caciones y mejoras pueden requerirse para 
ejecutar los programas producidos por el compilador:
 

a) Extienda la memoria del simulador Simpletron, de manera que contenga 1000 ubicaciones de memoria 

para permitir a Simpletron manejar programas más grandes.

 

b) Permita al simulador realizar cálculos de residuo. Esta modifi cación requiere de una instrucción adicional 

en LMS. 

 

c) Permita al simulador realizar cálculos de exponenciación. Esta modifi cación requiere una instrucción adi-

cional en LMS.

 d) 

Modifi que el simulador para que pueda utilizar valores hexadecimales, en vez de valores enteros para repre-
sentar instrucciones en LMS.

 e) 

Modifi que el simulador para permitir la impresión de una nueva línea. Esta modifi cación requiere una 
instrucción adicional en LMS.

 f) 

Modifi que el simulador para procesar valores de punto fl otante además de valores enteros.

 g) 

Modifi que el simulador para manejar la introducción de cadenas. [

Sugerencia: cada palabra de Simpletron 

puede dividirse en dos grupos, cada una de las cuales guarda un entero de dos dígitos. Cada entero de dos 
dígitos representa el equivalente decimal de código ASCII (vea el apéndice B) de un carácter. Agregue una 
instrucción de lenguaje máquina que reciba como entrada una cadena y la almacene, empezando en 
una ubicación de memoria específi ca de Simpletron. La primera mitad de la palabra en esa ubicación será una
cuenta del número de caracteres en la cadena (es decir, la longitud de la cadena). Cada media palabra sub-
siguiente contiene un carácter ASCII, expresado como dos dígitos decimales. La instrucción en lenguaje 
máquina convierte cada carácter en su equivalente ASCII y lo asigna a una media palabra].

 h) 

Modifi que el simulador para manejar la impresión de cadenas almacenadas en el formato de la parte (g). 
[

Sugerencia: agregue una instrucción en lenguaje máquina que imprima una cadena, empezando en cierta 

ubicación de memoria de Simpletron. La primera mitad de la palabra en esa ubicación es una cuenta del 
número de caracteres en la cadena (es decir, la longitud de la misma). Cada media palabra subsiguiente 
contiene un carácter ASCII expresado como dos dígitos decimales. La instrucción en lenguaje máquina 
comprueba la longitud e imprime la cadena, traduciendo cada número de dos dígitos en su carácter equi-
valente].

07_MAQ_CAP_07.indd324

4/19/081:23:19AM