elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  Códigos ASM utilizado en Apolo 11 hace 40 años en la Luna.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Códigos ASM utilizado en Apolo 11 hace 40 años en la Luna.  (Leído 7,974 veces)
Meta


Desconectado Desconectado

Mensajes: 3.279



Ver Perfil WWW
Códigos ASM utilizado en Apolo 11 hace 40 años en la Luna.
« en: 24 Julio 2009, 15:25 pm »

Hola:

Curiosamente he encontrado códigos de libre distribución de la época de Apolo 11 que usaron el día que fueron en la Luna (si es que realmente fueron) hace 40 años.



La verdad que nunca he visto en mi vida estos ASM. Abro este tema por curiosidad.

Código
  1. # Copyright:    Public domain.
  2. # Filename:     ALARM_AND_ABORT.agc
  3. # Purpose:      Part of the source code for Luminary 1A build 099.
  4. #               It is part of the source code for the Lunar Module's (LM)
  5. #               Apollo Guidance Computer (AGC), for Apollo 11.
  6. # Assembler:    yaYUL
  7. # Contact:      Ron Burkey <info@sandroid.org>.
  8. # Website:      www.ibiblio.org/apollo.
  9. # Pages:        1381-1385
  10. # Mod history:  2009-05-10 SN   (Sergio Navarro).  Started adapting
  11. #                               from the Luminary131/ file of the same
  12. #                               name, using Luminary099 page images.
  13. #               2009-06-05 RSB  Fixed a type.
  14. #
  15. # This source code has been transcribed or otherwise adapted from
  16. # digitized images of a hardcopy from the MIT Museum.  The digitization
  17. # was performed by Paul Fjeld, and arranged for by Deborah Douglas of
  18. # the Museum.  Many thanks to both.  The images (with suitable reduction
  19. # in storage size and consequent reduction in image quality as well) are
  20. # available online at www.ibiblio.org/apollo.  If for some reason you
  21. # find that the images are illegible, contact me at info@sandroid.org
  22. # about getting access to the (much) higher-quality images which Paul
  23. # actually created.
  24. #
  25. # Notations on the hardcopy document read, in part:
  26. #
  27. #       Assemble revision 001 of AGC program LMY99 by NASA 2021112-61
  28. #       16:27 JULY 14, 1969
  29.  
  30. # Page 1381
  31. # THE FOLLOWING SUBROUTINE MAY BE CALLED TO DISPLAY A NON-ABORTIVE ALARM CONDITION.  IT MAY BE CALLED
  32. # EITHER IN INTERRUPT OR UNDER EXECUTIVE CONTROL.
  33. #
  34. # CALLING SEQUENCE IS AS FOLLOWS:
  35. #               TC      ALARM
  36. #               OCT     AAANN           # ALARM NO. NN IN GENERAL AREA AAA.
  37. #                                       # (RETURNS HERE)
  38.  
  39.                BLOCK   02
  40.                SETLOC  FFTAG7
  41.                BANK
  42.  
  43.                EBANK=  FAILREG
  44.  
  45.                COUNT*  $$/ALARM
  46.  
  47. # ALARM TURNS ON THE PROGRAM ALARM LIGHT, BUT DOES NOT DISPLAY.
  48.  
  49. ALARM           INHINT
  50.  
  51.                CA      Q
  52. ALARM2          TS      ALMCADR
  53.                INDEX   Q
  54.                CA      0
  55. BORTENT         TS      L
  56.  
  57. PRIOENT         CA      BBANK
  58.        +1      EXTEND
  59.                ROR     SUPERBNK        # ADD SUPER BITS.
  60.                TS      ALMCADR +1
  61.  
  62. LARMENT         CA      Q               # STORE RETURN FOR ALARM
  63.                TS      ITEMP1
  64.  
  65. CHKFAIL1        CCS     FAILREG         # IS ANYTHING IN FAILREG
  66.                TCF     CHKFAIL2        # YES TRY NEXT REG
  67.                LXCH    FAILREG
  68.                TCF     PROGLARM        # TURN ALARM LIGHT ON FOR FIRST ALARM
  69.  
  70. CHKFAIL2        CCS     FAILREG +1
  71.                TCF     FAIL3
  72.                LXCH    FAILREG +1
  73.                TCF     MULTEXIT
  74.  
  75. FAIL3           CA      FAILREG +2
  76.                MASK    POSMAX
  77.                CCS     A
  78.                TCF     MULTFAIL
  79.                LXCH    FAILREG +2
  80.                TCF     MULTEXIT
  81.  
  82. # Page 1382
  83.  
  84. PROGLARM        CS      DSPTAB +11D
  85.                MASK    OCT40400
  86.                ADS     DSPTAB +11D
  87.  
  88.  
  89. MULTEXIT        XCH     ITEMP1          # OBTAIN RETURN ADDRESS IN A
  90.                RELINT
  91.                INDEX   A
  92.                TC      1
  93.  
  94. MULTFAIL        CA      L
  95.                AD      BIT15
  96.                TS      FAILREG +2
  97.  
  98.                TCF     MULTEXIT
  99.  
  100. # PRIOLARM DISPLAYS V05N09 VIA PRIODSPR WITH 3 RETURNS TO THE USER FROM THE ASTRONAUT AT CALL LOC +1,+2,+3 AND
  101. # AN IMMEDIATE RETURN TO THE USER AT CALL LOC +4.  EXAMPLE FOLLOWS,
  102. #               CAF     OCTXX           # ALARM CODE
  103. #               TC      BANKCALL
  104. #               CADR    PRIOLARM
  105. #               ...     ...
  106. #               ...     ...
  107. #               ...     ...             # ASTRONAUT RETURN
  108. #               TC      PHASCHNG        # IMMEDIATE RETURN TO USER.  RESTART
  109. #               OCT     X.1             # PHASE CHANGE FOR PRIO DISPLAY
  110.  
  111.                BANK    10
  112.                SETLOC  DISPLAYS
  113.                BANK
  114.  
  115.                COUNT*  $$/DSPLA
  116. PRIOLARM        INHINT                  # * * * KEEP IN DISPLAY ROUTINES BANK
  117.                TS      L               # SAVE ALARM CODE
  118.  
  119.                CA      BUF2            # 2 CADR OF PRIOLARM USER
  120.                TS      ALMCADR
  121.                CA      BUF2 +1
  122.                TC      PRIOENT +1      # * LEAVE L ALONE
  123. -2SEC           DEC     -200            # *** DONT MOVE
  124.                CAF     V05N09
  125.                TCF     PRIODSPR
  126.  
  127.                BLOCK   02
  128.                SETLOC  FFTAG7
  129.                BANK
  130.  
  131.                COUNT*  $$/ALARM
  132. BAILOUT         INHINT
  133.                CA      Q
  134. # Page 1383
  135.                TS      ALMCADR
  136.  
  137.                INDEX   Q
  138.                CAF     0
  139.                TC      BORTENT
  140. OCT40400        OCT     40400
  141.  
  142.                INHINT
  143. WHIMPER         CA      TWO
  144.                AD      Z
  145.                TS      BRUPT
  146.                RESUME
  147.                TC      POSTJUMP        # RESUME SENDS CONTROL HERE
  148.                CADR    ENEMA
  149. P00DOO          INHINT
  150.                CA      Q
  151. ABORT2          TS      ALMCADR
  152.                INDEX   Q
  153.                CAF     0
  154.                TC      BORTENT
  155. OCT77770        OCT     77770           # DON'T MOVE
  156.  
  157.                CAF     OCT35           # 4.35SPOT FOR GOP00DOO
  158.                TS      L
  159.                COM
  160.                DXCH    -PHASE4
  161. GOP00DOO        INHINT
  162.                TC      BANKCALL        # RESET STATEFLG, REINTFLG, AND NODOFLAG.
  163.                CADR    FLAGS
  164.                CA      FLAGWRD7        # IS SERVICER CURRENTLY IN OPERATION?
  165.                MASK    V37FLBIT
  166.                CCS     A
  167.                TCF     STRTIDLE
  168.                TC      BANKCALL        # TERMINATE GRPS 1, 3, 5, AND 6
  169.                CADR    V37KLEAN
  170.                TC      BANKCALL        # TERMINATE GRPS 2, 4, 1, 3, 5, AND 6
  171.                CADR    MR.KLEAN        #       (I.E., GRP 4 LAST)
  172.                TCF     WHIMPER
  173. STRTIDLE        CAF     BBSERVDL
  174.                TC      SUPERSW
  175.                TC      BANKCALL        # PUT SERVICER INTO ITS "GROUND" STATE
  176.                CADR    SERVIDLE        # AND PROCED TO GOTOP00H.
  177. CCSHOLE         INHINT
  178.                CA      Q
  179.                TC      ABORT2
  180. OCT21103        OCT     1103
  181. CURTAINS        INHINT
  182.                CA      Q
  183.                TC      ALARM2
  184. OCT217          OCT     00217
  185. # Page 1384
  186.                TC      ALMCADR         # RETURN TO USER
  187.  
  188. BAILOUT1        INHINT
  189.                DXCH    ALMCADR
  190.                CAF     ADR40400
  191. BOTHABRT        TS      ITEMP1
  192.                INDEX   Q
  193.                CAF     0
  194.                TS      L
  195.                TCF     CHKFAIL1
  196. P00DOO1         INHINT
  197.                DXCH    ALMCADR
  198.                CAF     ADR77770
  199.                TCF     BOTHABRT
  200.  
  201. ALARM1          INHINT
  202.                DXCH    ALMCADR
  203. ALMNCADR        INHINT
  204.                INDEX   Q
  205.                CA      0
  206.                TS      L
  207.                TCF     LARMENT
  208.  
  209.  
  210. ADR77770        TCF     OCT77770
  211. ADR40400        TCF     OCT40400
  212. DOALARM         EQUALS  ENDOFJOB
  213.                EBANK=  DVCNTR
  214. BBSERVDL        BBCON   SERVIDLE
  215.  
  216. # CALLING SEQUENCE FOR VARALARM
  217. #               CAF     (ALARM)
  218. #               TC      VARALARM
  219. #
  220. # VARALARM TURNS ON PROGRAM ALARM LIGHT BUT DOES NOT DISPLAY
  221.  
  222. VARALARM        INHINT
  223.  
  224.                TS      L               # SAVE USER'S ALARM CODE
  225.  
  226.                CA      Q               # SAVE USERS Q
  227.                TS      ALMCADR
  228.  
  229.                TC      PRIOENT
  230. OCT14           OCT     14              # DONT MOVE
  231.  
  232.                TC      ALMCADR         # RETURN TO USER
  233.  
  234. ABORT           EQUALS  WHIMPER
  235.                BANK    13
  236.                SETLOC  ABTFLGS
  237.                BANK
  238. # Page 1385
  239.                COUNT*  $$/ALARM
  240.  
  241. FLAGS           CS      STATEBIT
  242.                MASK    FLAGWRD3
  243.                TS      FLAGWRD3
  244.                CS      REINTBIT
  245.                MASK    FLGWRD10
  246.                TS      FLGWRD10
  247.                CS      NODOBIT
  248.                MASK    FLAGWRD2
  249.                TS      FLAGWRD2
  250.                TC      Q
  251.  

Fuentes:
http://code.google.com/p/virtualagc/source/browse/trunk/Comanche055

http://code.google.com/p/virtualagc/source/browse/trunk/Luminary099/

http://softlibre.barrapunto.com/softlibre/09/07/21/148250.shtml


En línea

Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/
Lewert

Desconectado Desconectado

Mensajes: 231



Ver Perfil
Re: Códigos ASM utilizado en Apolo 11 hace 40 años en la Luna.
« Respuesta #1 en: 24 Julio 2009, 16:59 pm »

Sorpendente :o :o
Solo una duda... ¿seguro que esto es ASM? :o No conozco ni una instrucción.


En línea

Crack the bytes, crack yourself
Eternal Idol
Moderador
***
Desconectado Desconectado

Mensajes: 5.791


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Códigos ASM utilizado en Apolo 11 hace 40 años en la Luna.
« Respuesta #2 en: 24 Julio 2009, 17:14 pm »

Y ... es assembly si, pero de no de x86 sino de esta maquina.
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
Re: Códigos ASM utilizado en Apolo 11 hace 40 años en la Luna.
« Respuesta #3 en: 24 Julio 2009, 22:41 pm »

Mi FASM lo ejecuta...

















Es coña xD, pero es interesante ver el assembly de la maquina del apollo :P
En línea

Swicher

Desconectado Desconectado

Mensajes: 120


Ver Perfil
Re: Códigos ASM utilizado en Apolo 11 hace 40 años en la Luna.
« Respuesta #4 en: 18 Agosto 2009, 11:58 am »

Sorpendente :o :o
Solo una duda... ¿seguro que esto es ASM? :o No conozco ni una instrucción.
Según esta noticia, por restricciones de memoria no convenía escribir el código directamente en lenguaje ensamblador del AGC, razón por la cual se diseñó un intérprete que funcionaba algo más lento pero que cumplía con las condiciones especiales de estas máquinas. Para que se entienda mejor, el código que se ve no es ensamblador precisamente, ni 6502 ni 8086, sino que es un código interprete que se compila en ensamblador, osea, un código que resulta mas sencillo de programar que el ensamblador ordinario, y que a su vez, resulta sencillo para el ordenador convertirlo a lenguaje maquina.

Por cierto, segun la misma noticia, tambien dice que el código que se encuentra en los repositorios de Google Code se puede ejecutar sobre Virtual AGC, un emulador del AGC que puede correr sobre Linux, MacOSX y Windows, entre otros.
En línea

Meta


Desconectado Desconectado

Mensajes: 3.279



Ver Perfil WWW
Re: Códigos ASM utilizado en Apolo 11 hace 40 años en la Luna.
« Respuesta #5 en: 20 Agosto 2009, 03:28 am »

Curioso.

Gracias por la información.
En línea

Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/
h0oke


Desconectado Desconectado

Mensajes: 2.059


Coder ~


Ver Perfil WWW
Re: Códigos ASM utilizado en Apolo 11 hace 40 años en la Luna.
« Respuesta #6 en: 20 Agosto 2009, 05:20 am »

Interesante. La verdad nunca supuse que un proyecto así iba a estar publicado por internet.
En línea

Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
Re: Códigos ASM utilizado en Apolo 11 hace 40 años en la Luna.
« Respuesta #7 en: 20 Agosto 2009, 09:57 am »

Tal vez de aqui 40 años Windows 95 sea open source xD
En línea

Meta


Desconectado Desconectado

Mensajes: 3.279



Ver Perfil WWW
Re: Códigos ASM utilizado en Apolo 11 hace 40 años en la Luna.
« Respuesta #8 en: 20 Agosto 2009, 11:30 am »

Tal vez de aqui 40 años Windows 95 sea open source xD

Si se demuestra la arta de fallos que tiene, no lo pondrán jajajajaj.

No han puesto no elWindows 3.11, ni MS-DOS, menos van a poner Windows 95.
En línea

Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/
digitalis


Desconectado Desconectado

Mensajes: 358


Ver Perfil WWW
Re: Códigos ASM utilizado en Apolo 11 hace 40 años en la Luna.
« Respuesta #9 en: 24 Agosto 2009, 01:27 am »

Tal vez de aqui 40 años Windows 95 sea open source xD

Si se demuestra la arta de fallos que tiene, no lo pondrán jajajajaj.

No han puesto no elWindows 3.11, ni MS-DOS, menos van a poner Windows 95.
Yo tengo porciones de código fuente de varias versiones de Windows,de filtraciones y ese tipo de cosas,y la persona que me las paso pues recopilara estas y las distribuía en un ámbito privado,entre otras cosas....
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines