🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: es.comp.os.linux.programacion
3 messages
3 total messages Started by alexandrev Tue, 08 Aug 2006 23:15
Programacion en assembler
#916
Author: alexandrev
Date: Tue, 08 Aug 2006 23:15
22 lines
1765 bytes
Buenas lista, ahi va mi duda:

Estoy empezando a programar con el Ensamblador de Intel, despues de mis
pinitos (4 meses) con el ensamblador del MIPS , pero tengo un
problema.. yo quiero cargar.. un solo byte.. de un registro.. y eso en
el MIPS lo hacia con el lb y sb.. para load byte y save byte, pero no
se hacerlo con Intel,

.data
fila1:.byte 'A','A','A'
fila2:.byte 'A','-','B'
fila3:.byte 'A','-','B'

.text

.globl main

como haria para de ahi... coger solo un ... byte? una sola A o una sola
B .. ya que si .. cargo
fila1 en un registro.. y le sumo 1 .. me coge todo hasta el final...

bueno a ver si alguien puede ayudarme gracias
Re: Programacion en assembler
#917
Author: Pascal Bourguignon
Date: Wed, 09 Aug 2006 00:14
35 lines
2314 bytes
"alexandrev" <alexv.vazquez@gmail.com> writes:

> Buenas lista, ahi va mi duda:
>
> Estoy empezando a programar con el Ensamblador de Intel, despues de mis
> pinitos (4 meses) con el ensamblador del MIPS , pero tengo un
> problema.. yo quiero cargar.. un solo byte.. de un registro.. y eso en
> el MIPS lo hacia con el lb y sb.. para load byte y save byte, pero no
> se hacerlo con Intel,
>
> .data
> fila1:.byte 'A','A','A'
> fila2:.byte 'A','-','B'
> fila3:.byte 'A','-','B'
>
> .text
>
> .globl main
>
> como haria para de ahi... coger solo un ... byte? una sola A o una sola
> B .. ya que si .. cargo
> fila1 en un registro.. y le sumo 1 .. me coge todo hasta el final...
>
> bueno a ver si alguien puede ayudarme gracias

Tendras que usar AL, unos de los registros octetos.

        MOV AL,fila1

-- 
__Pascal Bourguignon__                     http://www.informatimago.com/

ATTENTION: Despite any other listing of product contents found
herein, the consumer is advised that, in actuality, this product
consists of 99.9999999999% empty space.
Re: Programacion en assembler
#918
Author: Oscar Garcia
Date: Wed, 09 Aug 2006 03:37
36 lines
2184 bytes
On 8 Aug 2006 16:15:36 -0700, "alexandrev" <alexv.vazquez@gmail.com>
wrote:

>.data
>fila1:.byte 'A','A','A'
>fila2:.byte 'A','-','B'
>fila3:.byte 'A','-','B'
>como haria para de ahi... coger solo un ... byte? una sola A o una sola
>B .. ya que si .. cargo
>fila1 en un registro.. y le sumo 1 .. me coge todo hasta el final...

Ampl�o un poco la respuesta (correcta) de Pascal:

Los registros de la CPU pueden ser de 8, 16 o 32 bits usando:
AL, AH: Byte menos y m�s significativo del registro AX.
AX: Registro de 16 bits (inicialmente los registros ten�an este tama�o
porque hasta el 80386 la CPU era de 16 bits).
EAX: Registro de 32 bits (nuevo en los procesadores de Intel de 32
bits).

En este caso he usado el registro acumulador AX. Con BX, CX y DX
funcionan los registros de 8 bits (BL, BH, CL, CH, DL y DH).

Con SI, DI, BP, IP y SP no se puede trabajar con 8 bits (l�gico).

Los datos los puedes guardar usando valores .byte (8 bits como has
usado t�), .word (16 bits) o .dword (32 bits) o .qword (64 bits).

>bueno a ver si alguien puede ayudarme gracias

De nada.

-- 
�scar Javier Garc�a Baudet
LinaresDigital
http://redstar.linaresdigital.com/
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads