• Viernes 15 de Noviembre de 2024, 08:58

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - loca

Páginas: [1]
1
ASM (Ensamblador) / Ordenamiento De Una Cadena
« en: Domingo 9 de Mayo de 2004, 05:59 »
:D
Que tal:

El problema es el ingreso de una cadena desde el teclado, la cual debe devolverse en orden alfabetico
esto es lo que tengo de coigo si tienen alguna sugerencia es bien recibida

PAGE 60,130
TITLE ORDENAR
COMMENT *PROGRAMA QUE ORDENA LAFBETICAMENTE UNA CADENA*

PILA SEGMENT PARA STACK 'STACK'
DB 64 DUP(0)
PILA ENDS

DATOS SEGMENT PARA PUBLIC 'DATA'
   LABEL0 DB 0AH,0DH, 'PROGRAMA QUE ORDENA UNA CADENA ALFABETICAMENTE$'
   LABEL1 DB 0AH,0DH, 'INGRESE UNA CADENA DE CARACTERES:$'
   LABEL2 DB 0AH,0DH, 'LA CADENA ORDENADA ES:$'
   LABEL3 DB 0AH,0DH, '    $'
   CADENA DB 16 DUP (' ')
   TAM DW 30
DATOS ENDS

CODSEG SEGMENT PARA PUBLIC 'CODE'
   ASSUME CS:CODSEG, DS:DATOS, SS:PILA

LEER PROC NEAR
LEER ENDP
      

MAIN PROC FAR
  INI:PUSH DS
    SUB AX,AX
   PUSH AX
   MOV AX,DATOS
   MOV DS,AX
CUATRO:   MOV AH,09
   MOV DX,OFFSET LABEL0
   INT 21H
   MOV AH,09
   MOV DX,OFFSET LABEL3
   INT 21H
   MOV AH,09
   MOV DX,OFFSET LABEL1
   INT 21H
   MOV AH,0AH
   MOV DX,OFFSET TAM   
   INT 21H
   CMP TAM,0DH
   JE CUATRO
   LEA SI,CADENA   
   MOV BL,CADENA
   MOV CX,TAM
OTRO:   LODSB
   TEST AL,BL
   JZ PRIMERO
   NEG AL
primero:mov ah,02
   mov dl,al
   int 21h
   MOV AH,09
   MOV DX,OFFSET LABEL2
   INT 21H
   MOV AH,09
   MOV DX,OFFSET CADENA
   INT 21H
   
;METODO
RET
MAIN ENDP
CODSEG ENDS
END INI

Páginas: [1]