На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Перед отправкой сообщения внимательно прочтите правила раздела!!!
1. Запрещается обсуждать написание вирусов, троянов и других вредоносных программ!
2. Помните, что у нас есть FAQ раздела Assembler и Полезные ссылки. Посмотрите, возможно, там уже имеется решение вашего вопроса.

3. Настоятельно рекомендуем обратить особое внимание на правила форума, которые нарушаются чаще всего:
  3.1. Заголовок темы должен кратко отражать её суть. Темы с заголовками типа "Срочно помогите!" или "Ассемблер" будут отправляться в Корзину для мусора.
  3.2. Исходники программ обязательно выделяйте тегами [code]...[/code] (одиночные инструкции можно не выделять).
  3.3. Нежелательно поднимать старые темы (не обновлявшиеся более года) без веской на то причины.

Не забывайте также про главные Правила форума!

Добро пожаловать и приятного вам общения!!! ;)
 
Модераторы: Jin X, Qraizer
  
> как перевести буквенно-цифровой режим в 40x25 , как перевести буквенно-цифровой режим в 40x25
    Используя функции биос-а буквенно-цифровой режим из 80x25 в 40x25 можно перевести следующим образом:

    ExpandedWrap disabled
      mov ah,0
      mov al,1
      int 10h


    как это сделать не используя функции биос-а и дос-а, только через регистры и порты.

    И ещё как через порты и регистры погасить курсор, через функции биос-а это делается так:

    ExpandedWrap disabled
      mov ah,1
      mov ch,20h
      int 10h


    Только не спрашивайте зачем мне это надо.
    Если кто знает как это сделать помогите пожалуйста.
    За помощь заранее благодарен!
      Цитата v4567 @
      И ещё как через порты и регистры погасить курсор

      Существует как минимум два способа убрать курсор, один из них это переместить его за границу экрана. Вот код (на Си) перемещения курсора.
      ExpandedWrap disabled
        outportb(0x3D4, 0x0E);
        outportb(0x3D5, ((pos+1) >> 1) >> 8);
        outportb(0x3D4, 0x0F);
        outportb(0x3D5, ((pos+1) >> 1) & 0xFF );
      Сообщение отредактировано: shm -
        .DATA
        CURSOR_RECT RECT <0>
        CURSOR_POINT POINT <0>
        String_String db "API-Cursor ",0
        X_Y_SHABLON db "A = %d ; B = %d",0
        String_CONTENER db 256 dup (0)

        .CODE
        START:

        invoke GetCursorPos , addr CURSOR_POINT
        ;-
        invoke wsprintf , addr String_CONTENER ,\
        addr X_Y_SHABLON ,\
        CURSOR_POINT.x ,\
        CURSOR_POINT.y
        ;
        invoke MessageBox , Null , addr String_CONTENER ,\
        addr String_String ,\
        Null


        invoke SetCursorPos , 500 , 300

        mov CURSOR_RECT.left , 450
        mov CURSOR_RECT.top , 250
        mov CURSOR_RECT.right , 550
        mov CURSOR_RECT.bottom , 350

        invoke ClipCursor , addr CURSOR_RECT ; курсор


        invoke LoadCursor , Null , IDC_SIZEALL

        invoke SetSystemCursor , EAX , OCR_NORMAL
        ;&&&
        invoke ShowCursor , FALSE
        invoke ShowCursor , TRUE

        EXIT:
        invoke ExitProcess , Null

        END START
          А Вас это интересует для оригинального CGA образца 1981 года или для современных nVidia/ATI-AMD/Intel?
          Сообщение отредактировано: andriano -
            как вы все добиваетесь 7.9 для жесткого диска?
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0284 ]   [ 15 queries used ]   [ Generated: 28.04.24, 15:33 GMT ]