¿Cuáles son los pasos en la programación en lenguaje ensamblador?
Pasos de programación en lenguaje ensamblador: 1. Analizar el problema y abstraer el modelo de datos que describe el problema 2. Determinar la idea del algoritmo del problema 3. Dibujar un diagrama de flujo o diagrama de estructura 4. Asignar memoria y unidades de trabajo (registros) 5. Escriba el programa elemento por elemento 6. Inspección estática, depuración de la computadora Ejemplo: Programación para encontrar la puntuación más alta de los candidatos, asumiendo que todas las puntuaciones de los candidatos se han almacenado en la memoria de la computadora. problema según condiciones, características y reglas → modelo matemático En este ejemplo, las puntuaciones se han dado. Dado un conjunto de números enteros entre 0 y 200 (considere sumar puntos de prueba), regístrelo como {S}, encuentre max{S} (Nota : los problemas simples no necesariamente requieren un modelo matemático). 2. Es mejor determinar la idea del algoritmo utilizando algoritmos y métodos de programación ya preparados; de lo contrario, debe resumir las ideas del algoritmo basándose en la experiencia práctica. hacia abajo desde el primer puntaje en la transcripción, compare mientras lee, recuerde los puntajes más altos, descarte los puntajes más bajos, hasta que vea Terminado, el puntaje más alto se almacena en la mente. Resuma la idea del algoritmo: establezca un puntero de datos y apunte al. primera dirección del área de datos Obtenga el primer número en el registro (como AL), compárelo con el siguiente número, si el siguiente número es mayor, llévelo al registro; de lo contrario, ajuste el puntero y luego compare con el siguiente. Número, repita lo anterior hasta que se complete la comparación, el puntaje más alto está en el registro. Use la instrucción MOV para leer el puntaje, la instrucción CMP para comparar y la instrucción de transferencia condicional para analizar y juzgar. o Los diagramas estructurales incluyen flujo lógico, flujo de algoritmo, flujo de programa, etc. Los problemas complejos requieren dibujar una estructura de módulo. Este ejemplo es simple, solo se dibuja el diagrama de flujo del programa (representado por un diagrama de flujo N-S con una estructura modular): Diagrama de flujo N-S de este ejemplo La inicialización incluye: configurar un contador, disminuir el número de fracciones en uno y enviarlo al contador Disminuir en uno para cada comparación hasta que la búsqueda termine en cero; establecer un puntero que apunte al área de datos. Inicie la inicialización y lleve el primer número al registro y compárelo con el siguiente número. ¿Quiere tomar el número mayor y ponerlo en el registro para modificar el puntero en uno y volver a? el comienzo del ciclo hasta que el recuento llegue a 0 y salga del ciclo. 4. Asigne espacio de memoria y unidad de trabajo (registro) Defina el segmento de datos, el segmento de pila y el segmento de código, etc. Ejemplo: la puntuación se coloca en el segmento de datos, se crea un espacio de pila de 100 bytes, BX se utiliza como puntero de datos, CX se utiliza como contador y AL tiene la puntuación más alta 5. Escriba el programa uno por uno. SEGMENTO DE DATOS FEN DB 85,90, 60,75,87,35,80,78,96,82……;Guardar puntuación MAX DB;Guardar la puntuación más alta DATOS FINALIZA EL SEGMENTO DE PILA PARA STACK 'STACK' DB 100 DUP(?) ;Pila de 100 bytes FINALIZA EL SEGMENTO DE CÓDIGO ASUMIR CS:CODE,DS:DATA,SS:STACK START PROC FAR PUSH DS MOV AX,0 PUSH AX Para devolver DOS MOV AX,DATA MOV DS,AX; BX,OFFSET FEN; establece el puntero de datos MOV CX,MAX-FEN; establece el valor inicial del contador DEC CX; compara N puntuaciones N-1 veces MOV AL,[BX]; el puntero CMP AL,[BX]; y siguiente Comparar números JAE NEXT; Si es mayor o igual, vaya a MOV AL,[BX] De lo contrario, tome el siguiente número NEXT:LOOP LOP; no es cero, vaya a LOP MOV MAX,AL Almacene la puntuación más alta RET Regrese a DOS START ENDP CODE ENDS END START 6. Para la inspección estática, las instrucciones utilizadas para la depuración de la computadora deben ser lo más pequeñas posible para reducir la velocidad de ejecución. más rápido se deben centrar las áreas propensas a errores, como el número de comparaciones, las condiciones de transferencia, etc. Sólo después de asegurarse de que no hay errores se puede ir a la computadora para depurar. p>