Артём Филатов
Артём Филатов

Срочно нужна помощь в Tasm( язык ассемблер).

Написать программу сколько в массиве чисел больше 12h и меньше 0Ah. Массив байт.

Катюня
Катюня

title N88989952
ideal
model small

stack 100h

dataseg
Msg1 db 'Дан массив длиной $'
Msg2 db ':',13,10,36
Msg3 db 13,10,10,'Кол-во искомых элементов: $'
Seed dw ?
Len dw ?
Array dw ?
DataLen = ($ - Msg1 + 15) shr 4

codeseg
Start:
startupcode
mov ah,62h
int 21h
mov es,bx
mov ah,4Ah
mov bx,CodeLen+DataLen+10h
int 21h
call Randomize
call Random stdcall,361
add ax,40
mov [Len],ax
add ax,15
shr ax,4
mov bx,ax
mov ah,48h
int 21h
mov [Array],ax
mov es,ax
mov ah,9
lea dx,[Msg1]
int 21h
call OutDec stdcall,[Len]
mov ah,9
lea dx,[Msg2]
int 21h
mov cx,[Len]
xor di,di
CreateLoop:
call Random stdcall,256
stosb
call OutByteHex stdcall,ax
loop CreateLoop

mov cx,[Len]
xor si,si
mov bx,si
mov dx,si
CountLoop:
mov al,es:[si]
inc si
cmp al,0Ah
jb Less
cmp al,12h+1
cmc
Less:
rcl bl,1
and bl,1
add dx,bx
loop CountLoop

push dx
mov ah,9
lea dx,[Msg3]
int 21h
call OutDec

mov ax,[Array]
mov es,ax
mov ah,49h
int 21h
xor ah,ah
int 16h
exitcode 0

proc OutDec stdcall uses dx bx, x :word
mov ax,x
mov bx,10
xor dx,dx
div bx
test ax,ax
jz OutDec2
call OutDec stdcall, ax
OutDec2:
mov al,dl
or al,30h
int 29h
ret
endp

proc OutByteHex stdcall uses ax, x :byte
mov al,20h
int 29h
int 29h
mov al,x
rol al,4
call Hex
mov al,x
call Hex
ret
endp

proc Hex
and al,0Fh
cmp al,9
jbe Hex2
add al,7
Hex2:
add al,30h
int 29h
ret
endp

proc Random stdcall uses dx, n: word
mov ax,[Seed]
mov dx,75
mul dx
inc ax
mov [Seed],ax
mul n
mov ax,dx
ret
endp

proc Randomize
mov ah,2Ch
int 21h
mov bx,60
mov al,ch
mul bl
xor ch,ch
add ax,cx
mov cl,dh
mov ch,dl
mul bx
add ax,cx
mov [Seed],ax
ret
endp
CodeLen = ($ - Start + 15) shr 4
end

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