Principios de la microcomputación.
1) si: 1,2,3,...100 Programación 1-2+3-4...100.
Esta pregunta no es complicada
La idea de resolver el problema: para cada carácter de la cadena dada, verifique si es un número o una letra mayúscula, si entonces, procéselo en consecuencia, si no, continúe leyendo el siguiente. De esto puede ver que existen restricciones sobre cuándo termina la cadena. Puede guardar la longitud de la cadena en un registro o memoria, o puede configurar la longitud. cadena para terminar con un carácter específico, generalmente termina con 0. Para discordia Si otros repiten, establezca la longitud que se almacenará en la unidad anterior.
SEGMENTO DE DATOS
STRLEN DB 6
STR DB "38A4CE"
DATAS FINALES
Realizado durante la programación
1 Configure el puntero para que apunte al primer carácter, CX es el número de ciclos
2 Lea el carácter señalado actualmente
¿Es 3 un número? Si es así, reemplácelo con #
4 ¿Está en mayúscula? Si es así, cámbiala a minúscula
4 Agrega 1 al puntero
5 LOOP Paso 2
Los números o letras mayúsculas se pueden representar mediante funciones
Se adjunta el siguiente código:
SEGMENTO DE DATOS
STRLEN DW 6
p>STR DB "38A4CE",13,10, '$'
TERMINOS DE DATOS
SEGMENTO DE PILAS
DB 100 DUP (0)
TERMINOS DE PILAS
SEGMENTO DE CÓDIGOS
ASUME CS:CODES,DS:DATAS,SS:STACKS
INICIO:
MOV AX,DATAS
MOV DS ,AX
MOV DX,OFFSET STR
MOV AH,9
INT 21H; Muestra la cadena antes de la modificación
MOV CX, [STRLEN]; El valor de la longitud de la cadena se envía a CX para controlar el número de ciclos
MOV SI,OFFSET STR;SI apunta al primer carácter
p>ABC:MOV AL ,BYTE PTR [SI]; Lee el carácter señalado actualmente
CALL IS0_9; ¿Es un número?
JC NEXT1
MOV BYTE PTR [SI], '#';CF=0 significa 0-9
JMP AG
NEXT1:CALL ISA_Z; ¿Es mayúscula?
JC AG
AGREGAR BYTE PTR [SI],20H;CF=0 significa A-Z
AG: INC SI
LOOP ABC
MOV AH,9
MOV DX,OFFSET STR
INT 21H; muestra la cadena modificada
MOV AH,4CH
INT 21H
; Parámetro de entrada: AL es el carácter a comparar
; Parámetro de salida: si es 0-9, entonces CF=0, de lo contrario es 1
IS0_9:
CMP AL,'0'
JB NOO
CMP AL,'9'
JA NOO
CLC
RET
NOO:STC
RET
Parámetro de entrada: AL es el carácter a comparar
<; p>;Parámetro de exportación: si es A-F, entonces CF=0, de lo contrario es 1ISA_Z:
CMP AL,'A'
JB NOO1
CMP AL,'Z'
JA NOO1
CLC
RET
NOO1:STC
RET
CÓDIGOS FINALIZA
END INICIO