Buscando respuestas a varios principios de programación de microcomputadoras
L1: IN AL, 21H; obtiene el estado del puerto
TEST AL, 80H; compruebe si el bit7 es 1, =1 significa que =0 continúa consultando el puerto;
JZ L1
IN AL, 20H; El puerto está listo, lee datos desde el extremo de datos
XOR AX, AX Las instrucciones lógicas excepto NO se pueden borrar; OF, CF ; XOR contigo mismo equivale a borrar 0
TEST AL, 01H
OR DX, 0FF00H
¿Está mal "6H"? ! No se puede implementar una declaración
SEGMENTO DE DATOS
MAX DB 1000
N DW ?
FINES DE DATOS
SEGMENTO DE PILA
DB 50 DUP(0)
EXTREMOS DE PILA
SEGMENTO DE CÓDIGO
ASUMIR CS: CÓDIGO, SS: PILA, DS , DATOS
COMENZAR: MOV AX, DATOS
MOV DS, AX
MOV AX, STACK
MOV SS, AX; DS, SS
XOR DX, DX
MOV AX, 1; se utiliza para toda la acumulación, AX es el número de elementos
L1: MUL AX
AÑADIR DX, AX
CMP DX, MAX
JG L2
INC AX
JMP L1
L2: MOV N, AX; AX contiene el número de elementos N
HTL