Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Asm для Windows/Dos > Укажите на ошибку..


Автор: rminusd 10.5.2012, 16:56
С клавиатуры нужно ввести массив чисел размером 4 на 4, программа должна посчитать Минимум, Максимум и Разницу между ними, но почему-то этого не происходит, подскажите в чем ошибка? 
Код программы:
Код

org 100h
include'emu8086.inc'
.data
n dw 4
m dw 4
mindw 255
maxdw 1
r db ?
c db ?
a dd m dup(n dup(?))
.code
movax,@data
movds,ax
movsi,0000
movcx,n
movax,0
movbx,0
print"Введитемассив 4х4:"
row:
movax,n
subax,cx
incax
mov r,al
pushcx
movcx,m
column:
pusha
movax,4
subax,cx
movbx,5
mulbx
mov c,al
popa
gotoxy c,r
pushcx
callscan_num
mov a[bx][si],cx
callmaximum
callminimum
addsi,2
popcx
loopcolumn
addbx, 2*n
popcx
looprow
gotoxy 0,6
movax,min
print'Минимум:'
gotoxy 10,6
callprint_num
gotoxy 0,7
print'Максимум:'
movax,max
gotoxy 10,7
callprint_num
subax,min
gotoxy 0,8
print'Разница:'
gotoxy 10,8
callprint_num
hlt
maximum:
movax,cx
cmpax,max
jleret_max
movmax,ax
ret_max:ret
minimum:
movax,cx
cmpax,min
jgeret_min
movmin,ax
ret_min:ret
define_scan_num
define_print_num
define_print_num_uns 


Автор: 500mhz 11.5.2012, 09:21
жуть, оно вообще компилится?

Автор: rminusd 12.5.2012, 13:48
Да, почему жуть? 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)