Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.03.2015, 19:51   #1
---Demon---
Пользователь
 
Регистрация: 03.04.2013
Сообщений: 22
По умолчанию Нужно отредактировать код так что бы можно было пользоваться клавиатурой

Нужно добавить в этот код функцию которая позволяла бы мне вводить текст с клавиатуры, разные символы(цифры и буквы).
Не знаю как изменить этот код(
Помогите поправить пожалуйста.
Тест должен печататься по центру, над символами

Код:
; masm dos com # сохранять в cp866
    .286
    .model  tiny
    .CODE
    org 100h
start:  mov ax, 600h
    mov bx, 0F000h
    xor cx,cx
    mov dx, 850h
    int 10h
    sub bh,60h
    add ch,8
    add dh,8
    int 10h
    add bh,30h
    add ch,8
    add dh,8
    int 10h
    mov ah,2
    xor bh,bh
    mov dx, 0D0Ch
    mov bl, 9Bh
    lea si, citrus
    call    strout
    mov dx, 0C26h
    mov bl, 9Bh
    lea si, symb
    mov ah, 2
    call    strout
    mov ah,0
    int 16h
    ret
 
strout: int 10h
    mov ah,0Eh
    mov cx,1
@@: lodsb
    or  al,al
    jz  @F
    int 10h
    jmp @B
@@: ret
citrus  db  'Assembler compiler source code, written in assembly language',0
symb    db  3,4,5,6,0
    end start
---Demon--- вне форума Ответить с цитированием
Старый 10.03.2015, 20:42   #2
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

---Demon---, объясни толком, что хочеш сделать!
..и что означает:
Цитата:
Тест должен печататься по центру, над символами
..для ввода с клавиатуры, юзай прерывание INT 16h
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 01.04.2015, 14:21   #3
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

..а такой вариант не пойдёт (fasm)?
Код:
USE16
ORG 100h
JMP start

text DB '..Flat Assembler source code..$'
buff DB 80 DUP (?)  ; буфер для ввода

start:
   MOV AL,3         ; текстовый режим дисплея
   INT 10h

   CALL Position    ; курсор на позицию (строка 14)
   INT 10h

   MOV AH,9         ; приветствие
   MOV DX,text
   INT 21h

   CALL Position    ; курсор для ввода
   SUB DH,2         ; строка стала 12
   INT 10h

   MOV AH,3Fh       ; ждём ввода с клавиатуры
   MOV CX,80        ; макс.число символов
   MOV DX,buff      ; буфер для символов
   INT 21h
   INT 20h          ; Enter - указывает на выход

Position:
   MOV AH,02        ; запрос на установку курсора
   MOV DH,14        ; строка 14
   MOV DL,25        ; столбец 25
RET
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузить приложение на сайт так, чтобы можно было открыть на ipad Violet_Shell PHP 5 17.07.2012 13:56
как нужно изменить код, что бы отображение картинок было корректным? Garret13 Помощь студентам 0 10.05.2010 19:05
Как с помощью JavaScript изменить цвет фона ячеек в таблице,так что бы можно было выбрать цвет из списка Gotessa JavaScript, Ajax 1 09.05.2009 16:05
Как сделать так, чтобы форму можно было тостать не только за заголовок? Никки Общие вопросы Delphi 1 04.09.2008 14:34
Подскажите, как сделать так, чтобы тест можно было повторно пройти не перезагружая пр Kamikadze_666 Помощь студентам 2 23.05.2007 02:48