Abra seu site (lembre-se de iniciar um servidor web, o 6502web runtime usa fetch para carregar o arquivo binário, e precisamos de um servidor web rodando para isso :3)

E... O QUE É ISSO?!

\\\"Web

Se você abrir o devtools, poderá ver que de alguma forma, um

O elemento

apareceu com \\\"HI!\\\" quanto ao seu conteúdo.. Mas como?! Vejamos o código 6502 novamente, agora com comentários!

LDA #0   ; 0 is the ID of a 

element in 6502web runtime, lets load itSTA $46 ; store it to $46, which is start of our RAM memorySTA $0; by storing to $0, we RUN a built-in function which is responsible for creating an HTML element, that uses $46 as its argument (what HTML element to create!)LDA #3 ; 3 will now be the length of the string we want to put in our

!STA $46 ; store it at $46LDA #72 ; \\'H\\' in ASCII!STA $47 ; store it at $47LDA #73 ; \\'I\\' in ASCII!STA $48 ; store it at $48LDA #33 ; \\'!\\' in ASCII!STA $49 ; store it at $49STA $1; storing to $1 runs another built-in function, that is responsible for setting up text content of a *recently* created HTML element. Its first argument is length of the string it has to read, and then it reads memory fields (ASCII characters) after that, corresponding to the length we stored at $46

Então... É basicamente assim que o tempo de execução do 6502web funciona. Por enquanto, há apenas um pequeno número de recursos implementados:

Com essa pequena quantidade de recursos consegui criar um aplicativo de contador muito simples!

\\\"Web

\\\"Web

Acredito que é o suficiente por enquanto, se você estiver interessado, venha e veja por si mesmo, apenas esteja ciente de que este tempo de execução é principalmente uma piada (uma piada na qual me esforcei muito)

Ainda estou trabalhando nisso, então MUITOS opcodes ainda serão implementados.

GitHub

Tenham um bom dia a todos!

","image":"http://www.luping.net/uploads/20240918/172662264966ea2bb9b2959.png","datePublished":"2024-09-18T09:24:09+08:00","dateModified":"2024-09-18T09:24:09+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Aplicações Web em montagem!

Aplicações Web em montagem!

Publicado em 2024-09-18
Navegar:691

MOS 6502 foi um grande passo na computação acessível. Graças a esse amiguinho, fomos apresentados ao Commodore64, Apple II,
Atari2600 e NES. Ainda hoje, as pessoas brincam com o 6502 Assembly, criando software e jogos para essas plataformas esquecidas.

Agora, deixe-me apresentar-me - sou Cassiopeia (no entanto, uso Oliwia em ambientes formais), uma mulher transexual apaixonada por tecnologia antiga e programação de montagem. Sou desenvolvedor JavaScript há mais de seis anos. Na maior parte do tempo trabalhei com tecnologias típicas da web como Vue, React e Angular. Embora a maior parte da minha experiência venha do desenvolvimento front-end, a maior parte da diversão que tenho com a programação vem do desenvolvimento back-end. E há cerca de um ano, fiquei impressionado com a tecnologia antiga, e é aí que entra o 6502.

6502 tem apenas(!) 56 instruções, mas mesmo com uma quantidade tão limitada de instruções, os desenvolvedores (como sempre) conseguiram criar programas impressionantes.
Você já pensou em como seria escrever suas aplicações web usando 6502?

Não?

Claro que não, por que você pensaria isso?!

Mas eu...! Pensei nisso! Pensei em como seria montar seu programa 6502, carregá-lo e fazer com que ele gerasse um site!

6502Web

Bem-vindo ao 6502Web, um runtime 6502 escrito em JavaScript, que torna possível criar sites e aplicações web (simples) usando assembly 6502!

Eu queria manter meu tempo de execução o mais simples possível e com menos javascript possível, especialmente porque é a primeira vez que escrevo algo assim.

Primeiro, monte seu programa 6502, para testes eu uso principalmente o masswerk assembler, pois é o mais rápido para mim.

Vamos começar com algo simples, tente montar um programa como este:

LDA #0
STA $46
STA $0
LDA #3
STA $46
LDA #72
STA $47
LDA #73
STA $48
LDA #33
STA $49
STA $1

Agora que você baixou o arquivo .bin, vincule 6502web cdn ao seu aplicativo da web.

Então, você pode carregar seu arquivo binário e executá-lo assim:

Abra seu site (lembre-se de iniciar um servidor web, o 6502web runtime usa fetch para carregar o arquivo binário, e precisamos de um servidor web rodando para isso :3)

E... O QUE É ISSO?!

Web Applications in ssembly!

Se você abrir o devtools, poderá ver que de alguma forma, um

O elemento

apareceu com "HI!" quanto ao seu conteúdo.. Mas como?! Vejamos o código 6502 novamente, agora com comentários!

LDA #0   ; 0 is the ID of a 

element in 6502web runtime, lets load it STA $46 ; store it to $46, which is start of our RAM memory STA $0 ; by storing to $0, we RUN a built-in function which is responsible for creating an HTML element, that uses $46 as its argument (what HTML element to create!) LDA #3 ; 3 will now be the length of the string we want to put in our

! STA $46 ; store it at $46 LDA #72 ; 'H' in ASCII! STA $47 ; store it at $47 LDA #73 ; 'I' in ASCII! STA $48 ; store it at $48 LDA #33 ; '!' in ASCII! STA $49 ; store it at $49 STA $1 ; storing to $1 runs another built-in function, that is responsible for setting up text content of a *recently* created HTML element. Its first argument is length of the string it has to read, and then it reads memory fields (ASCII characters) after that, corresponding to the length we stored at $46

Então... É basicamente assim que o tempo de execução do 6502web funciona. Por enquanto, há apenas um pequeno número de recursos implementados:

  • Criando elementos HTML,
  • Definindo conteúdo de texto de elementos HTML
  • Adicionando ouvintes de eventos
  • Vinculando registros X e Y a elementos HTML
  • Memória compartilhada entre 6502 e JS

Com essa pequena quantidade de recursos consegui criar um aplicativo de contador muito simples!

Web Applications in ssembly!

Web Applications in ssembly!

Acredito que é o suficiente por enquanto, se você estiver interessado, venha e veja por si mesmo, apenas esteja ciente de que este tempo de execução é principalmente uma piada (uma piada na qual me esforcei muito)

Ainda estou trabalhando nisso, então MUITOS opcodes ainda serão implementados.

GitHub

Tenham um bom dia a todos!

Declaração de lançamento Este artigo está reproduzido em: https://dev.to/cassiopeiaoli/web-applications-in-6502-assembly-3g0k?1 Se houver alguma infração, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3