Помогите напистаь программку на ассемблере, лучше с комментариями?1. Задать массив 5х5(цифры введены изначально, а не склавиатуры)
2. Определить наименьшее значение
3. Вывести результат в виде «min значение=…»
Помогите Новичку
Модератор: Andy
Так это самое тупое и бессмысленное занятие (и самое длинное). Готовой процедуры перевода числа в строку у меня под рукой нет - так что можно поискать в инете.3. Вывести результат в виде «min значение=…»
Код: Выделить всё
CSeg segment
assume cs:CSeg,ds:CSeg
org 100h
start:
; массив чисел будет байтовым, в dl будет минималный элемент
mov dh,0
mov dl,byte ptr my_array[0] ; для начала минимальный - первый
mov bx,4 ; считаем с конца, нумерация индексов с нуля "0"
mov si,4
next_element:
mov ax,bx
mov cl,5
mul cl
mov bp,ax
mov al,byte ptr my_array[bp][si] ; bp+si адрес текущего рассматриваемого элемента
cmp al,dl
ja next_col
mov dl,al ; новый минимальный
next_col:
sub si,1 ; другой столбец
jnc next_element
mov si,4
sub bx,1 ; переходим на строку выше
jnc next_element
; DL = min. Тут его надо вывести на экран. Извиняюсь, но заниматься этой фигней ща некогда.
; надо поискать готовое решение.
write_result:
; конец
mov ah,4ch
int 21h
; ----------------------------------------
; DATA
; ----------------------------------------
my_array db 89,76,245,67,9
db 11,127,255,20,21
db 101,123,124,77,34
db 16,8,99,34,64
db 65,87,22,70,47
CSeg ends
end start
*provided AS IS