User Tag List

Показано с 1 по 10 из 33

Тема: Мои эксперименты

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #19

    Регистрация
    15.02.2015
    Адрес
    г. Могилёв, Беларусь
    Сообщений
    931
    Спасибо Благодарностей отдано 
    15
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    73 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Начал писать движок игры. Тут такое дело возникло: выделяю в программе память, в конце программы освобождаю память, а в ОС по окончании программы нет выхода. Где я напутал?
    Выделяю память так:
    ;сохранение старых значений страниц в окнах 0,1,3
    IN A,(0x82)
    LD (OldWin0Page),A

    IN A,(0xa2)
    LD (OldWin1Page),A

    IN A,(0xE2)
    LD (OldWin3Page),A

    ;выделение памяти
    ;для окон 0 и 3

    ;получение блока памяти на две страницы

    ld b, 2
    ld c,61
    rst 0x10

    ld (memblock),a; сохраним номер блока

    ;получим номера физических страниц в блоке
    ;в акк уже есть ном. блока
    ld b, 0
    ld c,196
    call 15635
    ld (Win0Page),a


    ld a,(memblock)
    ld b, 1
    ld c,196
    call 15635
    ld (Win3Page),a



    ;отключение прерываний
    di
    ld a,i
    ld (OldIREG),a
    ld (OldSP),sp

    ;Установка новых значений страниц в окнах 0,1,3

    Ld a,(Win0Page)
    out (0x82),a

    LD A,0x54; в 1 странице видеопамять
    OUT (0xa2),A

    Ld a,(Win3Page)
    out (0xe2),a

    ;УСТАНАВЛИВАЕ СТЕК

    ld sp,61000
    Освобождаю память так:

    di
    ld a,(OldIREG)
    ld i,a
    im 1


    ;Установка старых значений страниц в окнах 0,1,3

    Ld a,(OldWin0Page)
    out (0x82),a

    LD A,(OldWin1Page)
    OUT (0xa2),A

    Ld a,(OldWin3Page)
    out (0xe2),a

    ;УСТАНАВЛИВАЕМ СТАРЫЙ СТЕК

    ld sp,(OldSP)
    ;ei Включал прерывания - не помогло. В ОС нет выхода

    ;освобождаем память

    ld a,(memblock)
    ld c,62
    rst 0x10
    Вот исходный код во вложении( Пасмо ассемблер).IM2Test.asm
    Скомпилированная программа:
    https://dropmefiles.com/1IaUY
    Последний раз редактировалось Smalovsky; 22.08.2021 в 16:52.
    ¡Un momento, señor fiscal!


Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Мои Atari
    от MaiklsBlack в разделе Atari
    Ответов: 12
    Последнее: 10.02.2013, 03:59
  2. Мои извинения
    от Nordic в разделе Барахолка (архив)
    Ответов: 42
    Последнее: 01.11.2010, 18:17
  3. Эксперименты с Audition
    от andrews в разделе Творчество
    Ответов: 12
    Последнее: 25.01.2009, 00:44
  4. Эксперименты с AY?
    от Электрик в разделе Музыка
    Ответов: 0
    Последнее: 29.06.2006, 02:45

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •