El lenguaje ensamblador almacena números en celdas que comienzan en BUF para mostrar la cantidad de números positivos que contienen.
.Data
buf db 12, -34, 4, 0, -7, 99, 66, 3, 88, -29, 121, -47, - 2, 93
; buf en el segmento de datos supone que están definidos 14 números
.Código
.Start
mov cx, 14.
mov dl, 0
mov bx, 0
; Lo anterior es el código de inicialización, controlado por el recuento de bucles, donde cx es el número de recuento de dl, bx Es el puntero de desplazamiento de los datos
Repetir:
cmp buf[bx], 0
cmp buf[bx], 0
; Supongamos que el segmento de datos buf define 14 números
. código
.0
jle skip
inc dl
skip:
inc bx
repetición de bucle
; El párrafo superior son estadísticas de bucle, el número de números positivos está en dl
add dl, 30h
mov ah, 2
int 21h
; El párrafo anterior convierte el recuento en dl a código ASCII y lo muestra a través de la llamada de función del sistema #2
.exit
fin
;Para simplificar la programación, esta pregunta supone que el número total de números positivos no excede 9. De lo contrario, el controlador de visualización será más complejo.