СР
Светлана Романихина

Лабораторная работа по Ассемблеру (TASM), помогите пожалуйста)

Не думал, что когда-нибудь и я задам тут вопрос, но вот. . Пришел ассемблер 😄 Делфи, Паскаль, PHP - давались легко, но с ним. . Вообще не дружу)
Буду крайне благодарен, если кто-нибудь поможет не просто решить, а немного разъяснить основные моменты)

Для заданного массива Х (I), где I=1,2,...10, вычислить:

у (x) = ax, если 0 < x <= 5
у (x) = ах + а, если 5 < x <= 10
у (x) = 0, если x > 10

Я и сам, в своё время, пытаюсь разобраться по учебникам, но может найдется умелец, который с ним на "ты" 🙂

(Есть еще и вторая, но с ней, надеюсь, сам смогу разобраться. "Даны два массива А (I) и В (I). Найти max(A(I)), max(B(D)), min(A(D), min(B(I)). Задачу нахождения max и min оформить в виде подпрограмм. I=1,2,...5.")

KK
Khatuna Khalvashi

Не совсем корректное условие задания или приведено не полностью.
Не понятно как задаётся массив и какая разрядность его элементов.
Судя по функции, X - неотрицательное число, даже натуральное, т. к. при X = 0 функция не определена.
Также не указано, что такое а, и как оно задаётся в программе.

model small

data segment
XArray db 3,7,10,4,1,5,12,8,23,9
Len equ $ - XArray
a db 6
Xtxt db 13,10,'X = $'
Ytxt db ' Y = $'
data ends

assume cs:code, ds:data, ss:stseg
code segment
start:
mov ax,data
mov ds,ax
mov si,1
mov cx,Len
MainLoop:
lea dx,Xtxt
mov ah,9
int 21h
mov al,XArray[si-1]
call PrintInt
xor dl,dl
cmp al,10
ja PrintY
mul a
mov dl,al
cmp byte ptr XArray[si-1],5
jbe PrintY
add dl,a
PrintY:
push dx
lea dx,Ytxt
mov ah,9
int 21h
pop ax
call PrintInt
inc si
loop MainLoop

xor ah,ah
int 16h
mov ah,4Ch
int 21h

PrintInt proc
push ax
push cx
push bx
xor cx,cx
mov bl,10
DivLoop:
xor ah,ah
div bl
add ah,'0'
push ax
inc cx
test al,al
jnz DivLoop
PrintLoop:
pop ax
xchg al,ah
int 29h
loop PrintLoop
pop bx
pop cx
pop ax
ret
PrintInt endp
code ends

stseg segment
dw 64
stseg segment

end start

Похожие вопросы
Есть HelloWorld на Ассемблере (TASM). Объясните, пжл, смысл всех этих строк)
Bonpoc no TASM (BHyTpu) турбо ассемблер. Ребятушки, какой TASM лучше для Windows 7? TASM 4.1 покатит ?
TASM это Visual ASM? Где скачать TASM? Где купить лицензию TASM?
Помогите с ассемблером
Помогите с лабораторной на TASM
Срочно нужна помощь в Tasm( язык ассемблер).
Помогите закоментировать программу Ассемблер Tasm
не могли бы вы обьяснить как работает программа для подсчёта суммы положительных элементов массива. Ассемблер TASM
Помогите с программой на TASM
Помогите по ассемблеру