Прошу помощи. Пишу на z88dk и только начал изучать ассемблер. Потребовалось мне сделать загрузку файлов с дискетки. Т.к. ни в z88dk ни в spritepack подобных функций я не нашел, то пришлось вооружаться поиском, книгами и получилось вот это
С выключенными прерываниями функция работает, но когда я включаю прерывания функцией sp_InitIM2(0xf1f1) сбрасывает спектрум при обращении. Помогите мне разобраться что не так и довести ее в работоспособное состояние.Код:void tr_dos_load (char *filename,char* dest) { sprintf(asm_filename,"%s",filename); asm_adres=&asm_dat[0]; asm_len=0; #asm di .LOAD CALL SET_NAMEL ; готовим сист. ; переменные LD C,10 ; ищем файл CALL 15635 LD A,C BIT 7,C JR Z,LD_1 jp ext RET .LD_1 ; грузим... LD A,C LD C,8 CALL 15635 XOR A LD (23801),A LD (23824),A LD A,3 LD HL,(_asm_adres) LD C,14 CALL 15635 JP ext .SET_NAMEL LD HL,_asm_filename ; перекидываем LD DE,23773 ; имя файла LD BC,8 LDIR LD A,67 ; тип файла м.б. LD (23781),A ; любой, кроме LD A,9 ; поиск файла LD (23814),A ; по 9 символам RET .ext ei #endasm sprintf(dest,"%s",asm_dat); }


 
                        
                     
                 
  
  Чтение файла в tr-dos
 Чтение файла в tr-dos
				 
					
					
					
						 Ответить с цитированием
  Ответить с цитированием 
                
 Размещение рекламы на форуме способствует его дальнейшему развитию
 Размещение рекламы на форуме способствует его дальнейшему развитию 
 
                 
 
				 
                 Сообщение от hippiman
 Сообщение от hippiman
					
 . Прерывания во время загрузки мне не нужны вообще. Теперь перед обращениями к тр-дос просто переключаю на 1й режим, а после на 2й.
. Прерывания во время загрузки мне не нужны вообще. Теперь перед обращениями к тр-дос просто переключаю на 1й режим, а после на 2й.
						 
                 
                 
						