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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2015, 15:19   #1
анже
Пользователь
 
Регистрация: 01.05.2015
Сообщений: 15
По умолчанию ассемблер: вывести символ на экран,затем считать его координаты, и заменить на другой

привет всем. Нужна помощь!!! Мне нужно: вывести символ на экран,затем считать его координаты, и заменить на другой, как это сделать??

Последний раз редактировалось Вадим Мошев; 14.05.2015 в 19:17.
анже вне форума Ответить с цитированием
Старый 14.05.2015, 15:26   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

DOS? Windows? Linux?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.05.2015, 15:58   #3
анже
Пользователь
 
Регистрация: 01.05.2015
Сообщений: 15
По умолчанию

на windows
анже вне форума Ответить с цитированием
Старый 14.05.2015, 16:46   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Код:
format PE console
entry start
;http://www.programmersforum.ru/showthread.php?t=277702
include 'D:\fasmw16726\INCLUDE\win32a.inc'

section '.data' data readable writeable
message db 'hello world',0
member db ?
ou dd ?
l dd ?
r db 'Russian',0
section '.code' code readable executable

start:

 cinvoke setlocale,1,r

; CINVOKE макрос в составе FASM.
; Позволяет вызывать CDECL-функции.
  cinvoke printf,message
  ;Получаем хендл консоли
  invoke GetStdHandle, STD_OUTPUT_HANDLE
  mov [ou],eax
  ;Формируем координаты
  mov cx,0	       ;по Х
  shl ecx,16
  mov cx,3	       ;по Y
  ;Считываем символ
  invoke ReadChar,[ou],member,1,ecx,l

  ;Чет с ним делаем
  inc [member]

  ;Устанавливаем те же координаты
  mov cx,0
  shl ecx,16
  mov cx,3
  ;Записываем символ
  invoke WriteChar,[ou],member,1,ecx,l
  cinvoke getch
; INVOKE аналогичный макрос для STDCALL-функций.
  invoke ExitProcess,0
section '.idata' import data readable
library kernel,'kernel32.dll',\
	msvcrt,'msvcrt.dll'

import kernel,\
       ExitProcess,'ExitProcess',\
       ReadChar,'ReadConsoleOutputCharacterA',\
       WriteChar ,'WriteConsoleOutputCharacterA',\
       GetStdHandle,'GetStdHandle'

import msvcrt,\
       setlocale,'setlocale',\
       printf,'printf',\
       getch,'_getch'
Идея понятна?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.05.2015, 20:11   #5
анже
Пользователь
 
Регистрация: 01.05.2015
Сообщений: 15
По умолчанию

да, спасибо
анже вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ассемблер Progrmm Помощь студентам 1 13.05.2012 19:52
Ассемблер StarMoon Помощь студентам 1 02.05.2012 17:32
Ассемблер Alex_12Proxy Помощь студентам 0 27.04.2012 11:13
Ассемблер... UAC Фриланс 7 30.12.2010 18:31
Ассемблер maziLa Помощь студентам 3 06.07.2009 10:31