Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не печатается ТЕКСТ 
:(
    Опции темы
scuter
Дата 23.11.2011, 23:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 13.6.2008

Репутация: 1
Всего: 1



мне надо как то напечатать текст
а потом ввод с клавиатуры
написал всё в FASM
Код

org 100h
  jmp m_st
num_graf db 'sdjhfgshdg','sdsdsdsad'
print:
  cld
  MOV AL, [CS:SI]
  mov AH, 0Eh
  int 10h
  LOOP print 
  RET
svs_t:
  mov AH, 0Eh
  int 10h
  ret
m_st:
  MOV AX, 0002H
  MOV BX, 0000H
  INT 10H
  
  MOV SI, num_graf
  MOV CX, 0010H
  MOV BX, 0
  CALL print
  
  ;JMP agensw
agensw:
  mov AX,0                   
  int 16h                    
  call svs_t
  jmp agensw 


вроди бы всё правильно,
но не работает ни как.
PM MAIL   Вверх
500mhz
Дата 24.11.2011, 00:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


шайтан
***


Профиль
Группа: Завсегдатай
Сообщений: 1017
Регистрация: 5.5.2008
Где: Киев / Italy

Репутация: 1
Всего: 14



было лень думать о вашем коде, написал свой (печать текста)
Код


org 0x100
use16

start:

    mov si,txt
    call Print
    ret
txt:
    db "HELLO !",0    
    
Print:
    mov ah, 0xE    
    xor bh, bh    
    mov bl, 0x7
.nextchar:
    lodsb        
    or al,al
    jz .return
    int 10h    
    jmp .nextchar
.return:
    ret        



--------------------

PM MAIL ICQ   Вверх
scuter
Дата 24.11.2011, 00:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 13.6.2008

Репутация: 1
Всего: 1



а зачем mov bl, 0x7

PM MAIL   Вверх
Lols
Дата 24.11.2011, 03:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 144
Регистрация: 21.10.2011

Репутация: нет
Всего: нет



Чтоб работало. Он, в отличие от вашего, увы, зато жизнеспособен.
PM MAIL   Вверх
scuter
Дата 24.11.2011, 08:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 13.6.2008

Репутация: 1
Всего: 1



к сожалению пишет 2 буквы только

Присоединённый файл ( Кол-во скачиваний: 1 )
Присоединённый файл  dos.png 66,08 Kb
PM MAIL   Вверх
scuter
Дата 24.11.2011, 08:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 13.6.2008

Репутация: 1
Всего: 1



Lols, ты что то непонятное написл.

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  dos.png 66,08 Kb
PM MAIL   Вверх
scuter
Дата 24.11.2011, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 13.6.2008

Репутация: 1
Всего: 1



решил перебрать все стеки
и оно без результатно
Код

  MOV SI, FOLDEN
  MOV AL, byte [CS:SI] 
  mov AH, 0Eh
  MOV BX, 0007H
  int 10h
  MOV AL, byte [DS:SI] 
  mov AH, 0Eh
  MOV BX, 0007H
  int 10h
  MOV AL, byte [SS:SI] 
  mov AH, 0Eh
  MOV BX, 0007H
  int 10h
  MOV AL, byte [ES:SI] 
  mov AH, 0Eh
  MOV BX, 0007H
  int 10h
  MOV AL, byte [FS:SI] 
  mov AH, 0Eh
  MOV BX, 0007H
  int 10h
  MOV AL, byte [GS:SI] 
  mov AH, 0Eh
  MOV BX, 0007H
  int 10h


пишет 6 символов S 
PM MAIL   Вверх
500mhz
Дата 24.11.2011, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


шайтан
***


Профиль
Группа: Завсегдатай
Сообщений: 1017
Регистрация: 5.5.2008
Где: Киев / Italy

Репутация: 1
Всего: 14



в bl = цвет символа

scuter
функция 0x0e печатает 1 символ а не строку

Это сообщение отредактировал(а) 500mhz - 24.11.2011, 10:17


--------------------

PM MAIL ICQ   Вверх
scuter
Дата 24.11.2011, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 13.6.2008

Репутация: 1
Всего: 1



Цитата(500mhz @  24.11.2011,  10:16 Найти цитируемый пост)

в bl = цвет символа

У МЕНЯ ВИДЕРЕЖИМ ЧЕРНОБЕЛЫЙ
Код

  MOV AX, 0002H
  MOV BX, 0000H
  INT 10H

Цитата(500mhz @  24.11.2011,  10:16 Найти цитируемый пост)

scuter
функция 0x0e печатает 1 символ а не строку

мне бы теперь хоть один символ выдрать из стека,
берёт хрен знает чего и хрен знает от куда

Это сообщение отредактировал(а) scuter - 24.11.2011, 10:48
PM MAIL   Вверх
500mhz
Дата 24.11.2011, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


шайтан
***


Профиль
Группа: Завсегдатай
Сообщений: 1017
Регистрация: 5.5.2008
Где: Киев / Italy

Репутация: 1
Всего: 14



из какого нафиг стека?
в AL = ASCII код символа
Цитата

У МЕНЯ ВИДЕРЕЖИМ ЧЕРНОБЕЛЫЙ

какой номер видео режима у тебя стоит?

Это сообщение отредактировал(а) 500mhz - 24.11.2011, 11:04


--------------------

PM MAIL ICQ   Вверх
scuter
Дата 24.11.2011, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 13.6.2008

Репутация: 1
Всего: 1



Цитата(500mhz @  24.11.2011,  11:02 Найти цитируемый пост)

из какого нафиг стека?
в AL = ASCII код символа
Цитата(scuter @  24.11.2011,  10:48 Найти цитируемый пост)
У МЕНЯ ВИДЕРЕЖИМ ЧЕРНОБЕЛЫЙ

какой номер видео режима у тебя стоит?


Код

;CGA (Color Graphics Adapter)
  MOV AX, 0002H ;80 x 25 чёрно-белый текстовый режим
  MOV BX, 0000H
  INT 10H

если поставить символ на прямую в AL,
то пишет нормально
Код

  mov AH, 0Eh
  mov AL, 30h
  int 10h

но если писать
Код

  lodsb
  mov AH, 0Eh
  int 10h

пишет непонятно чего и каждий раз разное.
PM MAIL   Вверх
iff
Дата 24.11.2011, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


Профиль
Группа: Участник
Сообщений: 949
Регистрация: 23.3.2007

Репутация: 4
Всего: 16



Цитата(500mhz @  24.11.2011,  11:02 Найти цитируемый пост)
из какого нафиг стека?

он имел ввиду сегментные регистры.


--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
500mhz
Дата 24.11.2011, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


шайтан
***


Профиль
Группа: Завсегдатай
Сообщений: 1017
Регистрация: 5.5.2008
Где: Киев / Italy

Репутация: 1
Всего: 14



lodsb = грузит в AL из DS:SI

соответственно в SI адрес текста в ES сегмент, если у тебя СОМ файл то ES=CS


--------------------

PM MAIL ICQ   Вверх
scuter
Дата 24.11.2011, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 13.6.2008

Репутация: 1
Всего: 1



Код

org 0x100
use16
  jmp reals
graf db 'ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿'
print:
  cld
  mov AH, 0Eh
  MOV BX, 0007H
BEKN:
  lodsb
  CMP AL,0
  JE OFF_PR
  int 10h
  LOOP BEKN
OFF_PR:
  RET
svs_t:
  mov AH, 0Eh
  int 10h
  ret
reals:
  MOV AX, 0002H
  MOV BX, 0000H
  INT 10H
  MOV SI, graf
  mov ax,cs
  mov ds, ax
  mov cx, 20h
  call print
  mov ax,es
  mov ds, ax
  mov cx, 20h
  call print
  mov ax,cs
  mov es, ax
  mov cx, 20h
  call print
agensw:
  mov AX,0                   ;wait key function number
  int 16h                    ;BIOS keyboard interrupt
  call svs_t
  jmp agensw

результат абсолютно одиниковый
PM MAIL   Вверх
500mhz
Дата 24.11.2011, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


шайтан
***


Профиль
Группа: Завсегдатай
Сообщений: 1017
Регистрация: 5.5.2008
Где: Киев / Italy

Репутация: 1
Всего: 14



Код

org 0x100
use16
  jmp reals
graf db 'hello',0
print:
  cld
  mov AH, 0Eh
  MOV BX, 0007H
BEKN:
  lodsb
  CMP AL,0
  JE OFF_PR
  int 10h
  jmp BEKN
OFF_PR:
  RET
svs_t:
  mov AH, 0Eh
  int 10h
  ret
reals:
  MOV AX, 0002H
  MOV BX, 0000H
  INT 10H
  MOV SI, graf
  call print
agensw:
  mov AX,0                   ;wait key function number
  int 16h                    ;BIOS keyboard interrupt
  call svs_t
  jmp agensw                                                


все печатает только что проверил
а вы батенька ленивый однако


--------------------

PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для начинающих | Следующая тема »


 




[ Время генерации скрипта: 0.1142 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.