Embed
Email

PZ07B - Basic statements

Document Sample
PZ07B - Basic statements
Arquitectura x86









COMP 3200

Registros de uso general

8 registros de 32-bits



Registro Función 16-bit (low ) 8-bit



eax Accumulator ax ah, al



ebx (base index) bx bh, bl



ecx (count) cx ch, cl



edx (data) dx dh, dl



edi (destination index) do





esi (source index) si





ebp Frame pointer bp





esp Stack pointer sp









COMP 3200

Registros de Sección

(segmentos)

6 16-bit Section Registers



Registro Function



cs Code section



ds Data section



ss Stack section



es (extra section)



fs (supplemental section)



gs (supplemental section)





COMP 3200

Flags y Program Counter

EFLAGS Register

S Sign

Z Zero

C Carry

P Parity

O Overflow



32-bit EFLAGS Register

32-bit EIP (Instruction Pointer Register)









COMP 3200

Modos de acceso a memoria

Implicito –

Código CS + IP

Stack SS + SP

Inmediato – los datos forman parte de

la instrucción (usa la memoria del

programa)







COMP 3200

Modos de acceso a memoria

Registro – usa el nombre del registro



Memoria – igual que inmediato, pero el

número es una dirección de memoria









COMP 3200

Modos de acceso a memoria

Indirecto – el valor de un registro base

es la direccion de memoria del dato

Base + desplazamiento

Indice * Escala + desplazamiento

Base + indice + desplazamiento

Base + (indice * escala) +

desplazamiento



COMP 3200

Modos indirectos

Base +( Indice * Escala )+ Desplazamiento



eax

eax

ebx

ebx

ecx 1

ecx Nombre

edx 2

edx (identificador)

esp 3

ebp número

ebp 4

esi

esi

edi

edi





COMP 3200

Sintaxis de assembler

Label: Mnem operandos ;comentario

Label – nombre simbólico para la posición en

memoria que tendrá esa instrucción

Mnem – mnemonico de una instrucción o

seudoinstruccion

Operandos - requeridos por la instrucción (si

alguno)

Comentario – documentación



COMP 3200

Programa “Dazzler.asm”





bits 16 ; Set 16 bit code generation



org 0x0100 ; Set code start address to 100h (COM file)



section .text ; Code segment









COMP 3200

Programa “Dazzler.asm”

BEGIN:

mov ax, $0001 ; Set video mode 1

int $10

mov ax, $0B800 ; Set ES to start of video page 0

mov es, ax









COMP 3200

Transferencia de datos:

La instruccion MOV



Transfiere datos entre memoria y/o

registros:

Sintaxis: mov dest , src

 src: immediato, registro, memoria

 dest: registro, memoria

 excepto memoria, memoria







COMP 3200

Transferencia de datos:

Exchange, push y pop

“Exhange” – intercambia dos localizaciones

xchg sd1, sd2

 Memoria, Registro

 Registro, Memoria

 Registro, Registro

Push y Pop – actuan sobre el stack

push src

 src: Inmediato, Registro, o Memoria

pop dest

 dest: Registro o Memoria

pusha – almacena todos los Registros al stack

popa- Trae los Registros del stack



COMP 3200


Other docs by miaroddy
Employee Income Statement
Views: 14  |  Downloads: 1
Agenda Plan Your Farm's Cash Flow Statement
Views: 3  |  Downloads: 0
ffi, Monthly Commodity Statement
Views: 19  |  Downloads: 0
Statement from The Shriver Family
Views: 2  |  Downloads: 0
Warranty Statement True Blue Warranty
Views: 15  |  Downloads: 0
Statements of Importance
Views: 17  |  Downloads: 0
Sample Statement of Purpose and Relevancy
Views: 9  |  Downloads: 0
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!