<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-938134644933514277</id><updated>2014-10-06T22:27:21.014-03:00</updated><title type='text'>Assembly</title><subtitle type='html'>Estou iniciando em Assembly e quero ajudar quem também está iniciando nesta caminhada.&#xa;Sempre que possível estarei divulgando os códigos assembly.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://codigoassembly.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/938134644933514277/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://codigoassembly.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Marcos Taira</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>3</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-938134644933514277.post-7884871216770397566</id><published>2013-05-07T15:11:00.001-03:00</published><updated>2013-05-07T15:11:04.720-03:00</updated><title type='text'>Outro caminho do aprendizado</title><content type='html'>Após alguns anos deste blog iniciado, e com apenas 2 posts, o Código Assembly atingiu um pouco mais de 15 mil acessos.&amp;nbsp;&lt;div&gt;Agradeço a todos que acessaram e acessarão.&lt;/div&gt;&lt;div&gt;Minha ideia inicial era continuar desenvolvendo em Assembly, porém, nem tudo podemos fazer como desejamos. Continuei trabalhando com desenvolvimento, mas em outras linguagens e populares. Fui por esse caminho, pois sempre gostei do desenvolvimento Web.&lt;/div&gt;&lt;div&gt;Esta é a inovação Sistemas Web, Sites, tudo indo para as nuvens.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Bem, espero que o código que esta publicado ajude a muita gente, pois, naquela época eu procurei muito, algo que ajudasse a programar em assembly e poucos foram os códigos aproveitados.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Este não é um adeus, mas um convite.&amp;nbsp;&lt;/div&gt;&lt;div&gt;Estou iniciando outro Blog, onde abordarei o aprendizado Web.&amp;nbsp;&lt;/div&gt;&lt;div&gt;Vou trazer assuntos e dicas de várias linguagens como:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;HTML5&lt;/li&gt;&lt;li&gt;CSS3&lt;/li&gt;&lt;li&gt;XML&lt;/li&gt;&lt;li&gt;jQuery&lt;/li&gt;&lt;li&gt;PHP&lt;/li&gt;&lt;li&gt;MySQL&lt;/li&gt;&lt;li&gt;entre outros&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Acessem, sigam, comentem, tirem dúvidas, participem!&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;http://desenvolvimentosweb.blogspot.com.br/&quot;&gt;http://desenvolvimentosweb.blogspot.com.br/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Até lá!!&lt;/div&gt;&lt;div&gt;Aguardo seu acesso.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigoassembly.blogspot.com/feeds/7884871216770397566/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://codigoassembly.blogspot.com/2013/05/outro-caminho-do-aprendizado.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/938134644933514277/posts/default/7884871216770397566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/938134644933514277/posts/default/7884871216770397566'/><link rel='alternate' type='text/html' href='http://codigoassembly.blogspot.com/2013/05/outro-caminho-do-aprendizado.html' title='Outro caminho do aprendizado'/><author><name>Marcos Taira</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-938134644933514277.post-8393425885332382872</id><published>2008-12-09T10:59:00.000-02:00</published><updated>2013-09-23T15:05:26.294-03:00</updated><title type='text'>Download do TASM</title><content type='html'>&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;Borland Turbo Assembler and Tools 5.0.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;Disponibilizei para Download:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;b&gt;&lt;a href=&quot;http://www.4shared.com/file/75175453/a4d2566f/Tasm_5.html&quot; target=&quot;_blank&quot;&gt;4shared&lt;/a&gt;&amp;nbsp;&lt;/b&gt;e&amp;nbsp;&lt;a href=&quot;https://mega.co.nz/#!X8A0mRiL!BVpVwjD7Lf0Feq66QBwxmGnpw40jNeoEO_FgYFUC6yQ&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;Mega.co.nz&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;Talvez na hora da instalação peça uma dll. Já está dentro do rar.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;Coloque a pasta no path, para que você possa executar em qualquer pasta.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;Até mais.&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigoassembly.blogspot.com/feeds/8393425885332382872/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://codigoassembly.blogspot.com/2008/12/download-do-tasm.html#comment-form' title='13 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/938134644933514277/posts/default/8393425885332382872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/938134644933514277/posts/default/8393425885332382872'/><link rel='alternate' type='text/html' href='http://codigoassembly.blogspot.com/2008/12/download-do-tasm.html' title='Download do TASM'/><author><name>Marcos Taira</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-938134644933514277.post-3653222447231863728</id><published>2008-12-09T10:36:00.000-02:00</published><updated>2008-12-09T10:53:01.646-02:00</updated><title type='text'>Iniciando em código em assembly</title><content type='html'>Estou iniciando em assembly e estou conseguindo fazer algumas coisas.&lt;br /&gt;Para ajudar o pessoal que está começando com assembly, vou fazer este blog colocando códigos asm.&lt;br /&gt;Estarei utilizando o TASM que estarei postando locais para encontrá-lo em breve.&lt;br /&gt;&lt;br /&gt;Bom para começar vou colocar o código de uma questão da minha prova de ontem.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-size:100%;&quot; &gt;&lt;span style=&quot;font-style: italic;&quot;&gt;1. Faça um programa em assembly usando o TASM que leia o seu nome completo (via teclado) e imprima na tela apenas as vogais.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;; ===== MODEL = Declara o Modelo de memoria usado no programa&lt;br /&gt;.MODEL SMALL ; SMALL = código e dados são menores que 64kb, mas estão em segmentos diferentes.&lt;br /&gt;; ===== STACK = Aloca espaco na pilha pilha&lt;br /&gt;.STACK 200h ; Espaço de memória para instruções do programa na pilha&lt;br /&gt;&lt;br /&gt;; ===== DATA = indica o começo do bloco de dados&lt;br /&gt;.DATA ; Dados e declaracao de variaveis&lt;br /&gt;; ===== Constantes =====&lt;br /&gt;nome DB 0DH,0AH, &quot; Digite o seu nome =&gt; $&quot;&lt;br /&gt;vogais DB 0DH,0AH, &quot; As vogais sao =&gt; $&quot;&lt;br /&gt;; ===== Vetor de tamanho 20 =====&lt;br /&gt;nomevet db 20 dup(&#39; &#39;) ; vetor de nome &quot;nomevet&quot; de tamanho 20&lt;br /&gt;&lt;br /&gt;; ===== CODE = indica o começo do bloco de código.&lt;br /&gt;.CODE ; Código do programa&lt;br /&gt;START: ; START = inicio da funcao principal&lt;br /&gt;mov ax,@data ; pega endereco do segmento de dados&lt;br /&gt;mov ds,ax ; coloca no registrador de dados&lt;br /&gt;xor si,si ; zera o registrador si - irá fazer a contagem no vetor&lt;br /&gt;call limpatela ; chama função limpa tela&lt;br /&gt;&lt;br /&gt;; imprime na tela a variavel&lt;br /&gt;MOV DX,OFFSET nome ; Movendo o OFFSET de nome para DX&lt;br /&gt;MOV AH,09H ; Ativa a interrupção 21H (09H - Escreve um string na saida padrão)&lt;br /&gt;INT 21H ; Habilita a interrupção 21 - Funções do DOS&lt;br /&gt;leia: ; funcao que irá ler todos os caracteres do seu nome - até 30 letras&lt;br /&gt;MOV ah,1h ; Ativa a interrupção 21H (01h - Le um caractere da entrada padrão)&lt;br /&gt;INT 21H ; Habilita a interrupção 21 - Funções do DOS&lt;br /&gt;&lt;br /&gt;; comparando com as vogais minusculas&lt;br /&gt;CMP AL,61H ; compara com a&lt;br /&gt;JZ mover ; se for, pula para a funcao mover senao segue comparando&lt;br /&gt;CMP AL,65H ; compara com e&lt;br /&gt;JZ mover ; se for, pula para a funcao mover senao segue comparando&lt;br /&gt;CMP AL,69H ; compara com i&lt;br /&gt;JZ mover ; se for, pula para a funcao mover senao segue comparando&lt;br /&gt;CMP AL,6FH ; compara com o&lt;br /&gt;JZ mover ; se for, pula para a funcao mover senao segue comparando&lt;br /&gt;CMP AL,75H ; compara com u&lt;br /&gt;JZ mover ; se for, pula para a funcao mover senao segue comparando&lt;br /&gt;; comparando com as vogais maiusculas&lt;br /&gt;CMP AL,41H ; compara com A&lt;br /&gt;JZ mover ; se for, pula para a funcao mover senao segue comparando&lt;br /&gt;CMP AL,45H ; compara com E&lt;br /&gt;JZ mover ; se for, pula para a funcao mover senao segue comparando&lt;br /&gt;CMP AL,49H ; compara com I&lt;br /&gt;JZ mover ; se for, pula para a funcao mover senao segue comparando&lt;br /&gt;CMP AL,4FH ; compara com O&lt;br /&gt;JZ mover ; se for, pula para a funcao mover senao segue comparando&lt;br /&gt;CMP AL,55H ; compara com U&lt;br /&gt;JZ mover ; se for, pula para a funcao mover senao segue comparando&lt;br /&gt;&lt;br /&gt;CMP AL,0DH ; compara se a tecla digitada é enter&lt;br /&gt;JZ imprimir ; caso seja enter, pula para computar o total de caracteres&lt;br /&gt;jnz leia ; se não foi teclado enter ira continuar&lt;br /&gt;&lt;br /&gt;mover:&lt;br /&gt;inc si ; incrementa si para nao sobrepor a letra anterior&lt;br /&gt;mov nomevet[si],al ; move o caractere digitado para o &quot;vetor&quot;&lt;br /&gt;jmp leia&lt;br /&gt;&lt;br /&gt;imprimir:&lt;br /&gt;call imprime_caracteres ; chama a função para imprimir o vetor na tela&lt;br /&gt;JMP fim2 ; após imprimir salta para o fim&lt;br /&gt;&lt;br /&gt;;----------------------------------------------------------------------&lt;br /&gt;;Procedimento: Imprime Vetor&lt;br /&gt;;----------------------------------------------------------------------&lt;br /&gt;imprime_caracteres proc&lt;br /&gt;; Imprime todo o conteudo do vetor&lt;br /&gt;push si&lt;br /&gt;xor si,si ; zera o registrador si&lt;br /&gt;mov ch,20 ; coloca em ch o tamanho do vetor&lt;br /&gt;&lt;br /&gt;mov ah,9h ; Ativa a interrupção 21H (09H - Escreve um string na saida padrão)&lt;br /&gt;mov dx,offset vogais ; Movendo o OFFSET de vogais para DX&lt;br /&gt;int 21h ; Habilita a interrupção 21 - Funções do DOS&lt;br /&gt;&lt;br /&gt;imprime:&lt;br /&gt;mov ah,2h ; Ativa a interrupção 21H (02H - Escreve um caracter na saida padrão)&lt;br /&gt;mov dl,nomevet[si] ; Move cada caracter para o registrador DL&lt;br /&gt;int 21h ; Habilita a interrupção 21 - Funções do DOS&lt;br /&gt;inc si ; incrementa o registrador si para o proximo caracter do vetor&lt;br /&gt;dec ch ; decrementa o registrador ch&lt;br /&gt;cmp ch,0 ; compara o registrador ch com 0&lt;br /&gt;jnz imprime ; se não for zero volta ao inicio da função imprime&lt;br /&gt;&lt;br /&gt;pop si&lt;br /&gt;ret&lt;br /&gt;endp&lt;br /&gt;&lt;br /&gt;;----------------------------------------------------------------------&lt;br /&gt;;Funcao: FIM&lt;br /&gt;;----------------------------------------------------------------------&lt;br /&gt;limpatela:                    ;#&lt;br /&gt;push AX ; Guarda na pilha o valor do Registrador AX ;#&lt;br /&gt;mov ah, 00h ; Ativa a IRQ 10 para a limpeza do vídeo     ;#&lt;br /&gt;mov al, 3 ; define o modo de video         ;#&lt;br /&gt;int 10h ; Habilita a IRQ 10 (video)         ;#&lt;br /&gt;pop AX ; Retorna da pilha o valor do Registrador AX    ;#&lt;br /&gt;retn                     ;#&lt;br /&gt;&lt;br /&gt;fim2: ; para não fechar a janela diretamente chamar a função para leitura do teclado para então finalizar o executavel&lt;br /&gt;MOV ah,1h ; Ativa a interrupção 21H (01h - Le um caractere da entrada padrão)&lt;br /&gt;INT 21H ; Habilita a interrupção 21 - Funções do DOS&lt;br /&gt;;finaliza o executavel&lt;br /&gt;MOV AH,04CH&lt;br /&gt;INT 21H&lt;br /&gt;&lt;br /&gt;END START ; Fim do Programa</content><link rel='replies' type='application/atom+xml' href='http://codigoassembly.blogspot.com/feeds/3653222447231863728/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://codigoassembly.blogspot.com/2008/12/para-ajudar-o-pessoal-que-est-comeando.html#comment-form' title='7 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/938134644933514277/posts/default/3653222447231863728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/938134644933514277/posts/default/3653222447231863728'/><link rel='alternate' type='text/html' href='http://codigoassembly.blogspot.com/2008/12/para-ajudar-o-pessoal-que-est-comeando.html' title='Iniciando em código em assembly'/><author><name>Marcos Taira</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry></feed>