{"id":30420745,"url":"https://github.com/macabeus/neanderselectionsort","last_synced_at":"2026-02-18T20:31:09.714Z","repository":{"id":34031614,"uuid":"37791202","full_name":"macabeus/neanderSelectionSort","owner":"macabeus","description":"🦑  SelectionSort written in assembly... because I wanted to","archived":false,"fork":false,"pushed_at":"2015-06-21T02:27:28.000Z","size":144,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-20T02:54:31.486Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/macabeus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-06-21T00:36:11.000Z","updated_at":"2017-04-27T05:01:47.000Z","dependencies_parsed_at":"2022-07-14T03:00:29.762Z","dependency_job_id":null,"html_url":"https://github.com/macabeus/neanderSelectionSort","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/macabeus/neanderSelectionSort","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macabeus%2FneanderSelectionSort","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macabeus%2FneanderSelectionSort/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macabeus%2FneanderSelectionSort/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macabeus%2FneanderSelectionSort/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/macabeus","download_url":"https://codeload.github.com/macabeus/neanderSelectionSort/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macabeus%2FneanderSelectionSort/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29594257,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-18T18:54:29.675Z","status":"ssl_error","status_checked_at":"2026-02-18T18:50:50.517Z","response_time":162,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-08-22T08:20:03.980Z","updated_at":"2026-02-18T20:31:09.682Z","avatar_url":"https://github.com/macabeus.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"neanderSelectionSort\n======================\n\nAlgorítio de selection sort para \u003ca href=\"https://pt.wikipedia.org/wiki/M%C3%A1quinas_hipot%C3%A9ticas_da_Universidade_Federal_do_Rio_Grande_do_Sul#Neander\"\u003eNeander\u003c/a\u003e\n\n*Considere todos os valores numéricos abaixo como hexadecimais*\n\n*Considere LA como a lista que será ordenada e LB como a lista que armazena os valores que já foram ordenados*\n\nPara usar\n-----------\nAltere os valores da memória de 83..87 para os números que queira que sejam ordenados.\nUse apenas valores de 01 até 7F.\n\nO resultado da lista ordenada estará nos registradores 91..96\n\nExplicação\n----------\n**Algorítimo**\n\n0. Seleciona o último elemento da LA\n0. Efetua um loop com cada valores da LA analisando se é maior que esse número selecionado\n0. Se for encontrado um valor maior que ele, este passa a ser o número selecionado\n0. Ao terminar de pecorrer todos os valores da LA, adiciona o número selecionado ao final da LB e altera o número selecionado na lista LA para FF\n0. Efetua novamente o primeiro passo, selecionando o número anterior ao selecionado, até que se termine de pecorrer toda a lista LA\n\nSaber se o número é maior que o outro\n\n0. Dê `load` no número alvo\n0. Efetue a instrução `not`\n0. Dê `add` somando 1\n0. Então dê `add` no número que queira saber se é maior ou não em relação ao número alvo\n0. Se o resultado for negativo, é maior, caso contrário, é menor, se zero, igual\n\n**Uso da memória**\n\n* 7E → constante para da +1 (usado para saber se o número é maior ou não)\n* 7F → controle do loop interno (algorítimo 2..3)\n* 80 → controle do loop maior (algorítimo 1..5)\n* 81 → constante para da -1 (controle de loop) e usar o FF (algorítimo 3)\n* 82 → tamanho da lista LA\n* 83..87 → lista LA\n* 8A → constante do endereço de onde começa a lista LA\n* 8C → numero da lista a saber se é o maior ou não (algorítimo 2..3)\n* 8D → posição do maior numero do loop até o momento (algorítimo 2..3)\n* 8E → temp do número que será analisado (algorítimo 2..3)\n* 90 → constante do endereço de onde começa a lista LB\n* 91..96 → lista LB\n\n**Explicações das instruções**\n\n* 00..0B → Início do loop maior\n* 0C..18 → Pegar o próximo elemento da lista LA. Se for da flag negativa, passa para o próximo. Caso contrário, salva a posição dele em 8D e o valor em 8C.\n* 19..26 → Início do loop interno\n* 27..2F → Pegar o próximo elemento da lista no loop interno e salva em 8E\n* 30..42 → Verificação para saber o próximo maior número. Se for, armazena a posição dele em 8D e valor em 8C\n* 43..44 → Fim do loop interno\n* 46..57 → Por número na lista organizada e alterar o valor dele na lista a ser organizada para um negativo, como flag\n* 59..5E → Fim do loop maior\n* 60 → Encerra a aplicação\n\nTODO\n----\n- [ ] Organizar código seguindo as convenções do Neander (instruções de 00..7F e dados 80..FF)\n- [ ] Refatorar código para deixa-lo organizado\n- [ ] Permitir usar listas de tamanhos variados","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmacabeus%2Fneanderselectionsort","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmacabeus%2Fneanderselectionsort","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmacabeus%2Fneanderselectionsort/lists"}