Выводить на экран массив, элемент которого - это количество чисел в соотвествующей строке - Assembler

Узнай цену своей работы

Формулировка задачи:

программа должна выводить на экран массив,елемент которого-это каличество чисел в соотвествующей строке...например первый элемент масива,-это каличество чисел в первой строке матрицы.заранее спасибо
.model small
.data
a  db  '1','a','A','c'    
   db  '5','s','D','2'     
   db  'F','5','S','f'
   db  'a','8','4','d'
   db  '4','d','D','A'
c  db 5 dup(?)
.code
main:
mov ax,@data
mov ds,ax
xor al,al
xor bx,bx
xor dl,dl
mov cx,5
x3:xor si,si
push cx
mov cx,4
x2:cmp a[bx][si],'0'
jb x1
cmp a[bx][si],'9'
ja x1
inc al
x1:inc si
loop x2
mov c[dl],al
inc dl
add bx,si
pop cx
loop x3
lea dx,c
mov ah,9
int 21h
mov ax,4c00h
int 21h
end main
Почему не работает?

Решение задачи: «Выводить на экран массив, элемент которого - это количество чисел в соотвествующей строке»

textual
Листинг программы
.model  small
.stack
.data
a   db  '1','a','A','c'
    db  '5','s','D','2'
    db  'F','5','S','f'
    db  'a','8','4','d'
    db  '4','5','6','7'
.code
main:
    mov ax,@data
    mov ds,ax
    mov dx, 3930h
    mov cx,5
    lea si, a
@0: push    cx
    mov cx, 4
    xor bx,bx
@1: lodsb
        cmp al, dh
        ja  @2
        cmp al, dl
        jb  @2
        inc bl
@2: loop    @1
    mov al, bl
    add al, dl
    int 29h
    pop cx
    loop    @0
    mov ax,4c00h
    int 21h
    end main

Оцени полезность:

7   голосов , оценка 3.714 из 5
Похожие ответы