Principios de las Microcomputadoras. Una pregunta recopilatoria. Necesito una respuesta urgente. ¿Cuántas monedas de oro necesito?
;Compilado con MASM5.0
segmento de datos
T DB 45
A DB 0
B DB 0
C DB 0
D DB 0
E DB 0
F DB 0
N DB 45 DUP(5 DUP(0)); Definir la unidad de almacenamiento de puntuación
AVR DB 45 DUP(0) Definir la unidad de almacenamiento de puntuación promedio
MESS DB 0dh,0ah<; /p> p>
DB "Total $"
AA DB " : "
M1 DB " "
M2 DB " ",0DH, 0AH,24H
los datos terminan
segmento de código
proceso principal hasta el momento
asumir cs:code,ds:data
inicio:
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
PUSH DS
POP ES
;Lo siguiente genera resultados aleatorios
MOV CX,5*45
XOR AL,AL
SALIDA 43H,AL
IN AL,40H
MOV DI,OFFSET N
SIGUIENTE:
MOV BX,11
MOV AH,0
MUL BX
AÑADIR AX,5463
MOV DX,0
MOV BX,50
DIV BX
AÑADIR DL,50
MOV [DI], DL
INC DI
MOV AL,DL
LOOP NEXT
Encuentre la puntuación promedio a continuación
MOV DI,OFFSET AVR
MOV SI,OFFSET N
MOV CX,45
L0:
PUSH CX
MOV CX ,5
MOV AX,0
L1:
MOV BH,0
MOV BL,[SI ]
AÑADIR AX,BX
INC SI
BUCLE L1
MOV BL,5
DIV BL
MOV [DI],AL
POP CX
INC DI
LOOP L0
;Lo siguiente tipos de puntuación estadística
MOV CX,45
MOV BX,OFFSET AVR
C_NEXT:
MOV AL,[BX] p>
CMP AL,90
JB C1
INC A
JMP C_END
C1:
CMP AL,80
JB C2
INC B
JMP C_END
C2:
CMP AL,70
JB C3
INC C
JMP C_END
C3:
CMP AL,66
JB C4
INC D
JMP C_
FIN
C4:
CMP AL,60
JB C5
INC E
JMP C_END p>
C5:
INC F
C_END:
INC BX
BUCLE C_NEXT
;Los resultados se muestran a continuación
MOV DX,OFFSET MESS
MOV AH,09
INT 21H
MOV AL,T
LLAMADA BIN_D
MOV AL,A
MOV AA,'A'
LLAMADA BIN_D
MOV AL ,B
INC AA
LLAMADA BIN_D
MOV AL,C
INC AA
LLAMADA BIN_D
MOV AL,D
INC AA
CALL BIN_D
MOV AL,E
INC AA p>
LLAMADA BIN_D
MOV AL,F
INC AA
LLAMADA BIN_D
RET
final principal
;======================
;Los siguientes números: conversión de código ASCII p>
BIN_D PROC NEAR
MOV AH,0
MOV BL,10D
DIV BL
CMP AL,0
JE NO10
AÑADIR AX,3030H
MOV M1,AL
MOV M2,AH
JMP DISP11
NO10:
AÑADIR AH,30H
MOV M1,AH
MOV AL,' '
MOV M2, AL
DISP11:
MOV DX,OFFSET AA
MOV AH,09
INT 21H
RET
BIN_D ENDP
;=========================
el código termina
finaliza el inicio