<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" 
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:wfw="http://wellformedweb.org/CommentAPI/"
     xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:meneame="http://meneame.net/faq-es.php"
 >
<channel>
	<title>Menéame: comentarios [4125931]</title>
	<link>http://www.meneame.net</link>
	<image><title>www.meneame.net</title><link>http://www.meneame.net</link><url>http://cdn.mnmstatic.net/m/eMnm/img/mnm/eli-rss.png</url></image>
	<description>Sitio colaborativo de publicación y comunicación entre blogs</description>
	<pubDate>Fri, 12 Dec 2025 15:02:49 +0000</pubDate>
	<generator>http://blog.meneame.net/</generator>
	<language>es</language>
	<item>
		<meneame:comment_id>43995175</meneame:comment_id>
		<meneame:link_id>4125931</meneame:link_id>
		<meneame:order>8</meneame:order>
		<meneame:user>TripleXXX</meneame:user>
		<meneame:votes>1</meneame:votes>
		<meneame:karma>28</meneame:karma>
		<meneame:url>https://www.meneame.net/m/eMnm/ingenieria-inversa-6502-programacion-maximo-detalle</meneame:url>
		<title>#8 La ingeniería inversa del 6502 y su programación con máximo detalle</title>
		<link>https://www.meneame.net/m/eMnm/ingenieria-inversa-6502-programacion-maximo-detalle/c08#c-8</link>
		<pubDate>Fri, 12 Dec 2025 15:02:49 +0000</pubDate>
		<dc:creator>TripleXXX</dc:creator>
		<guid>https://www.meneame.net/m/eMnm/ingenieria-inversa-6502-programacion-maximo-detalle/c08#c-8</guid>
		<description><![CDATA[<p><a class="tooltip c:4125931-7" href="https://www.meneame.net/m/eMnm/ingenieria-inversa-6502-programacion-maximo-detalle/c07#c-7" rel="nofollow">#7</a> Si, ya lo vi, es una optimizacion para Commodore a nivel de puertos que ahorraría algunos chips adicionales.</p><p>&#187;&nbsp;autor: <strong>TripleXXX</strong></p>]]></description>
	</item>

	<item>
		<meneame:comment_id>43994565</meneame:comment_id>
		<meneame:link_id>4125931</meneame:link_id>
		<meneame:order>7</meneame:order>
		<meneame:user>HeilHynkel</meneame:user>
		<meneame:votes>0</meneame:votes>
		<meneame:karma>20</meneame:karma>
		<meneame:url>https://www.meneame.net/m/eMnm/ingenieria-inversa-6502-programacion-maximo-detalle</meneame:url>
		<title>#7 La ingeniería inversa del 6502 y su programación con máximo detalle</title>
		<link>https://www.meneame.net/m/eMnm/ingenieria-inversa-6502-programacion-maximo-detalle/c07#c-7</link>
		<pubDate>Fri, 12 Dec 2025 13:30:24 +0000</pubDate>
		<dc:creator>HeilHynkel</dc:creator>
		<guid>https://www.meneame.net/m/eMnm/ingenieria-inversa-6502-programacion-maximo-detalle/c07#c-7</guid>
		<description><![CDATA[<p><a class="tooltip c:4125931-6" href="https://www.meneame.net/m/eMnm/ingenieria-inversa-6502-programacion-maximo-detalle/c06#c-6" rel="nofollow">#6</a> <br />
<br />
Al parecer el 6510 es un 6502 mejorado. A nivel de programación, deben ser practicamente iguales.<br />
<br />
<a href="https://es.wikipedia.org/wiki/MOS_6510" title="es.wikipedia.org/wiki/MOS_6510" rel="nofollow">es.wikipedia.org/wiki/MOS_6510</a></p><p>&#187;&nbsp;autor: <strong>HeilHynkel</strong></p>]]></description>
	</item>

	<item>
		<meneame:comment_id>43994460</meneame:comment_id>
		<meneame:link_id>4125931</meneame:link_id>
		<meneame:order>6</meneame:order>
		<meneame:user>TripleXXX</meneame:user>
		<meneame:votes>1</meneame:votes>
		<meneame:karma>28</meneame:karma>
		<meneame:url>https://www.meneame.net/m/eMnm/ingenieria-inversa-6502-programacion-maximo-detalle</meneame:url>
		<title>#6 La ingeniería inversa del 6502 y su programación con máximo detalle</title>
		<link>https://www.meneame.net/m/eMnm/ingenieria-inversa-6502-programacion-maximo-detalle/c06#c-6</link>
		<pubDate>Fri, 12 Dec 2025 13:13:06 +0000</pubDate>
		<dc:creator>TripleXXX</dc:creator>
		<guid>https://www.meneame.net/m/eMnm/ingenieria-inversa-6502-programacion-maximo-detalle/c06#c-6</guid>
		<description><![CDATA[<p><a class="tooltip c:4125931-1" href="https://www.meneame.net/m/eMnm/ingenieria-inversa-6502-programacion-maximo-detalle/c01#c-1" rel="nofollow">#1</a> El C64 llevaba el 6510 pero creo que a nivel de ensamblador eran iguales, la verdad es que como siempre programé este último no se me ocurrió ver las diferencias. <br />
Ahora lo busco que me ha picado la curiosidad.</p><p>&#187;&nbsp;autor: <strong>TripleXXX</strong></p>]]></description>
	</item>

	<item>
		<meneame:comment_id>43993715</meneame:comment_id>
		<meneame:link_id>4125931</meneame:link_id>
		<meneame:order>5</meneame:order>
		<meneame:user>HeilHynkel</meneame:user>
		<meneame:votes>0</meneame:votes>
		<meneame:karma>20</meneame:karma>
		<meneame:url>https://www.meneame.net/m/eMnm/ingenieria-inversa-6502-programacion-maximo-detalle</meneame:url>
		<title>#5 La ingeniería inversa del 6502 y su programación con máximo detalle</title>
		<link>https://www.meneame.net/m/eMnm/ingenieria-inversa-6502-programacion-maximo-detalle/c05#c-5</link>
		<pubDate>Fri, 12 Dec 2025 11:30:49 +0000</pubDate>
		<dc:creator>HeilHynkel</dc:creator>
		<guid>https://www.meneame.net/m/eMnm/ingenieria-inversa-6502-programacion-maximo-detalle/c05#c-5</guid>
		<description><![CDATA[<p><a class="tooltip c:4125931-4" href="https://www.meneame.net/m/eMnm/ingenieria-inversa-6502-programacion-maximo-detalle/c04#c-4" rel="nofollow">#4</a> <br />
<br />
Es más simplón, el Z80 era más sofisticado. En el 6502 había que usar el acumulador:<br />
<br />
<a href="https://www.masswerk.at/6502/6502_instruction_set.html#ADC" title="www.masswerk.at/6502/6502_instruction_set.html#ADC" rel="nofollow">www.masswerk.at/6502/6502_instruction_set.html#ADC</a><br />
<br />
Un ejemplo segun la IA<br />
<br />
<i>; Sumar dos números de 16 bits (Baja en A, Alta en X)<br />
LDA NUM1_L<br />
CLC ; Clear Carry antes de empezar<br />
ADC NUM2_L<br />
STA RESULT_L<br />
<br />
LDA NUM1_H<br />
ADC NUM2_H<br />
STA RESULT_H</i><br />
<br />
El Z80 podía sumar en el acumulador, registros e incluso desde la memoria (siempre a un registro)</p><p>&#187;&nbsp;autor: <strong>HeilHynkel</strong></p>]]></description>
	</item>

	<item>
		<meneame:comment_id>43993513</meneame:comment_id>
		<meneame:link_id>4125931</meneame:link_id>
		<meneame:order>4</meneame:order>
		<meneame:user>SpeakerBR</meneame:user>
		<meneame:votes>0</meneame:votes>
		<meneame:karma>7</meneame:karma>
		<meneame:url>https://www.meneame.net/m/eMnm/ingenieria-inversa-6502-programacion-maximo-detalle</meneame:url>
		<title>#4 La ingeniería inversa del 6502 y su programación con máximo detalle</title>
		<link>https://www.meneame.net/m/eMnm/ingenieria-inversa-6502-programacion-maximo-detalle/c04#c-4</link>
		<pubDate>Fri, 12 Dec 2025 10:56:03 +0000</pubDate>
		<dc:creator>SpeakerBR</dc:creator>
		<guid>https://www.meneame.net/m/eMnm/ingenieria-inversa-6502-programacion-maximo-detalle/c04#c-4</guid>
		<description><![CDATA[<p><a class="tooltip c:4125931-3" href="https://www.meneame.net/m/eMnm/ingenieria-inversa-6502-programacion-maximo-detalle/c03#c-3" rel="nofollow">#3</a> ¿No permitía hacer la suma con los registros indice? El Z80 si.<br />
<br />
El Z80 permitía sumar el valor de un registro a un registro indice. También usar el registro puntero de pila para usar su valor al registro HL.</p><p>&#187;&nbsp;autor: <strong>SpeakerBR</strong></p>]]></description>
	</item>

	<item>
		<meneame:comment_id>43993364</meneame:comment_id>
		<meneame:link_id>4125931</meneame:link_id>
		<meneame:order>3</meneame:order>
		<meneame:user>HeilHynkel</meneame:user>
		<meneame:votes>0</meneame:votes>
		<meneame:karma>20</meneame:karma>
		<meneame:url>https://www.meneame.net/m/eMnm/ingenieria-inversa-6502-programacion-maximo-detalle</meneame:url>
		<title>#3 La ingeniería inversa del 6502 y su programación con máximo detalle</title>
		<link>https://www.meneame.net/m/eMnm/ingenieria-inversa-6502-programacion-maximo-detalle/c03#c-3</link>
		<pubDate>Fri, 12 Dec 2025 10:34:04 +0000</pubDate>
		<dc:creator>HeilHynkel</dc:creator>
		<guid>https://www.meneame.net/m/eMnm/ingenieria-inversa-6502-programacion-maximo-detalle/c03#c-3</guid>
		<description><![CDATA[<p><a class="tooltip c:4125931-2" href="https://www.meneame.net/m/eMnm/ingenieria-inversa-6502-programacion-maximo-detalle/c02#c-2" rel="nofollow">#2</a> <br />
<br />
De esos 6, puedes usar para programar solo 3. El puntero de pila es para eso ... para apuntar al final de la pila, el contador de programa sigue por donde vas ejecutando y el de estado almacena valores binarios. <br />
<br />
A cambio el Z80 tiene dos punteros de 16 bits (IX, IY) 6 de propósito general y el acumulador. También tiene SP, PC y estado, como el 6502.</p><p>&#187;&nbsp;autor: <strong>HeilHynkel</strong></p>]]></description>
	</item>

	<item>
		<meneame:comment_id>43993297</meneame:comment_id>
		<meneame:link_id>4125931</meneame:link_id>
		<meneame:order>2</meneame:order>
		<meneame:user>SpeakerBR</meneame:user>
		<meneame:votes>1</meneame:votes>
		<meneame:karma>11</meneame:karma>
		<meneame:url>https://www.meneame.net/m/eMnm/ingenieria-inversa-6502-programacion-maximo-detalle</meneame:url>
		<title>#2 La ingeniería inversa del 6502 y su programación con máximo detalle</title>
		<link>https://www.meneame.net/m/eMnm/ingenieria-inversa-6502-programacion-maximo-detalle/c02#c-2</link>
		<pubDate>Fri, 12 Dec 2025 10:22:56 +0000</pubDate>
		<dc:creator>SpeakerBR</dc:creator>
		<guid>https://www.meneame.net/m/eMnm/ingenieria-inversa-6502-programacion-maximo-detalle/c02#c-2</guid>
		<description><![CDATA[<p><a class="tooltip c:4125931-1" href="https://www.meneame.net/m/eMnm/ingenieria-inversa-6502-programacion-maximo-detalle/c01#c-1" rel="nofollow">#1</a> Vas bien, pero el 6502 tenia 6 registros: (wiki)<br />
<br />
Dentro del 6502 había un registro acumulador «A» de 8 bits, dos registros índice «X» e «Y» de 8 bits, un registro de estado «SR» de 8 bits, un puntero de pila «SP» de 8 bits, y un contador de programa «PC» de 16 bits.<br />
<br />
Aparte lo que dices de la memoria era un rápido modo de «página directa» o «página cero», pero estaba limitado a 256 bytes.<br />
<br />
Z80 arquitectura CISC de 6500 transistores (Complejo)<br />
6502 arquitectura RISC  3510 transistores (Reducido)</p><p>&#187;&nbsp;autor: <strong>SpeakerBR</strong></p>]]></description>
	</item>

	<item>
		<meneame:comment_id>43993202</meneame:comment_id>
		<meneame:link_id>4125931</meneame:link_id>
		<meneame:order>1</meneame:order>
		<meneame:user>HeilHynkel</meneame:user>
		<meneame:votes>4</meneame:votes>
		<meneame:karma>60</meneame:karma>
		<meneame:url>https://www.meneame.net/m/eMnm/ingenieria-inversa-6502-programacion-maximo-detalle</meneame:url>
		<title>#1 La ingeniería inversa del 6502 y su programación con máximo detalle</title>
		<link>https://www.meneame.net/m/eMnm/ingenieria-inversa-6502-programacion-maximo-detalle/c01#c-1</link>
		<pubDate>Fri, 12 Dec 2025 10:05:47 +0000</pubDate>
		<dc:creator>HeilHynkel</dc:creator>
		<guid>https://www.meneame.net/m/eMnm/ingenieria-inversa-6502-programacion-maximo-detalle/c01#c-1</guid>
		<description><![CDATA[<p>Un detalle curioso (al menos, a mí me lo parece) Yo empecé a hacer el indio con el ensamblador del Z80 (el del Spectrum) y disponía de una serie de registros para manipular información (pongo una comparativa abajo sacada de chatGPT) que eran 6 (agrupables 2 a 2 para formar registros de 16 bits) más acumulador y flags. También tenía un conjunto de alternativos que se usaban creo cuando se producían interrupciones (como el hiperthreading, pero en cutre ... interrumpes el proceso 50 veces por segundo y ejecutas las interrupciones que hacían cosas como refrescar la RAM o pintar la pantalla)<br />
<br />
EL 6502 solo tenía tres y las cosas se hacían en memoria. De aquella la memoria era más rápida que la CPU y el 6502 podía hacer más cosas que el Z80 en menos tiempo, pese a una menor velocidad (más o menos 1 Mhz vs 3,5 Mhz si no mal recuerdo)<br />
<br />
<br />
<i>Registros del MOS 6502<br />
Registros de 8 bits<br />
<br />
A — Acumulador<br />
X — Índice X<br />
Y — Índice Y<br />
P — Registro de estado<br />
SP — Puntero de pila (8 bits, pila fija en 0x0100–0x01FF)<br />
<br />
Registro de 16 bits<br />
PC — Program Counter (contador de programa)<br />
<br />
 <img data-src="https://cdn.mnmstatic.net/v_149/img/twemojis/36/1f449.png" alt="{0x1f449}" title="{0x1f449}" width="18" height="18" src="https://cdn.mnmstatic.net/v_149/img/g.gif" class="emoji lazy" />  El 6502 está muy optimizado para operaciones simples y rápidas, pero con muy pocos registros.<br />
<br />
 Registros del Zilog Z80<br />
<br />
El Z80 amplía el set del Intel 8080 y añade duplicados.<br />
<br />
Registros de 8 bits<br />
A — Acumulador<br />
F — Flags<br />
B, C, D, E, H, L — Propósito general (pueden formar pares)<br />
<br />
Registros combinados (16 bits)<br />
<br />
AF = A + F<br />
BC = B + C<br />
DE = D + E<br />
HL = H + L<br />
<br />
Registros duplicados (“shadow registers”)<br />
El Z80 tiene un segundo banco completo para interrupciones rápidas:<br />
<br />
A', F'<br />
B', C', D', E', H', L'<br />
<br />
Registros especiales adicionales<br />
<br />
IX, IY — Registros índice de 16 bits (muy usados)<br />
SP — Stack Pointer (16 bits)<br />
PC — Program Counter (16 bits)<br />
I — Interrupt vector register<br />
R — Refresh register para DRAM</i></p><p>&#187;&nbsp;autor: <strong>HeilHynkel</strong></p>]]></description>
	</item>

</channel>
</rss>
