все еще об этом проекте у меня есть, я пытаюсь напечатать массив, и ничего не происходит ... никаких ошибок или чего-то еще, единственное, что происходит, это то, что пользователь может ввести 9 символов и что он, программа завершает программа должна получить 9 чисел от 0 до 9 и разделить на группы а, Ь и сПрограмма Asm не дает выход
MODEL small
STACK 100h
DATASEG
Welcome db "Welcome, please enter 9 numbers between 0 and 9: $"
MainArr db 9 dup(0)
Aarr db 9 dup(0)
Barr db 9 dup(0)
Carr db 9 dup(0)
AarrLength db ?
BarrLength db ?
CarrLength db ?
CODESEG
start:
mov ax, @data
mov ds, ax
mov dx, offset Welcome
mov ah, 9
int 21h
xor di, di
xor bx, bx
mov si, 0
mov cx, 0
jmp gettingInput
gettingInput:
inc cx
cmp cx, 10
je continue
mov ah, 1h
int 21h
mov [MainArr+si], al
inc si
cmp al, 8
jge zoneA
cmp al, 6
jb zoneC
jmp zoneB
zoneA:
mov [Aarr+bx],al
inc bx
jmp gettingInput
zoneB:
mov [Barr+si],al
inc si
jmp gettingInput
zoneC:
mov [Carr+di],al
inc di
jmp gettingInput
continue:
mov cx, 9
xor ax, ax
mov si, offset Aarr
findLengthA:
cmp [si], 0
je foundLength
inc ax
loop findLengthA
foundLengthA:
mov [AarrLength], al
mov cx, 9
xor ax, ax
mov si, offset Barr
findLengthB:
cmp [si], 0
je foundLength
inc ax
loop findLengthB
foundLengthB:
mov [BarrLength], al
mov cx, 9
xor ax, ax
mov si, offset Carr
findLengthC:
cmp [si], 0
je foundLength
inc ax
loop findLengthC
foundLength:
mov [CarrLength], al
mov bl, AarrLength
mov bh, 0
inc bx
inc bx
mov [offset Aarr + bx], '$'
mov si, offset Aarr
printA:
mov ah, 9h
mov dx, offset Aarr
int 21
exit:
mov ax, 4c00h
int 21h
END start
Комментировать ваш код, особенно если вы хотите, чтобы другие помогли. Также научитесь использовать отладчик. – Jester