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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.06.2009, 11:47   #1
sashok2009
 
Регистрация: 02.06.2009
Сообщений: 4
По умолчанию написать ассемблер-программу,выводящую на экран скан-код

люди добрые кто чем может помогите пожалуйста написать программу на ассемблере ,а то я в этом ничего не понимаю....буду очень признателен. если надо финансово. Написать написать ассемблер-программу,выводящую на экран скан-код нажатой пользователем клавиши(в 16-чной системе счисления).Использовать функцию 0h прерывания 16h
sashok2009 вне форума Ответить с цитированием
Старый 02.06.2009, 15:57   #2
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Цитата:
если надо финансово
Лучше отзыв оставь(весы слева)

Код:
sseg segment stack
db 128 dup(?)
sseg ends

dseg segment
msg  db 'Najmite klavishu',10,13,'$'
txt     db 10,13,'$'
hex   db '0123456789ABCDEF'
dseg ends

cseg segment
assume ss:sseg,ds:dseg,cs:cseg
start:
mov ax,dseg
mov ds,ax

mov ah,9
mov dx,offset msg
int 21h

nachalo:
mov ah,0
int 22
cmp al,1bh
je konec
     push ax
mov dl,al
mov ah,6
int 21h

mov ah,6
mov dl,' '
int 21h
     pop ax
     push ax
shr al,4
mov ah,0

mov si,ax
mov dl,[si+hex]
mov ah,6
int 21h
     pop ax
     push ax
and al,00001111b
mov ah,0
mov si,ax
mov dl,[si+hex]
mov ah,6
int 21h
mov ah,6
mov dl,'h'
int 21h

mov ah,6
mov dl,' '
int 21h
     pop ax
     push ax
shr ah,4
mov al,ah
mov ah,0
mov si,ax
mov dl,[si+hex]
mov ah,6
int 21h
     pop ax
mov al,ah
mov ah,0
and al,00001111b
mov si,ax
mov dl,[si+hex]
mov ah,6
int 21h

mov ah,6
mov dl,'h'
int 21h
mov ah,9
mov dx,offset txt
int 21h
jmp nachalo

konec:
mov ah,4ch
int 21h
cseg ends 
end start
xor eax, eax
xchg [eax], eax

Последний раз редактировалось MalCer; 02.06.2009 в 15:59.
MalCer вне форума Ответить с цитированием
Старый 02.06.2009, 18:28   #3
sashok2009
 
Регистрация: 02.06.2009
Сообщений: 4
По умолчанию

ОГРОМНОЕ СПАСИБО ВЕСЬМА ПРИЗНАТЕЛЕН!!!!!! ПРОГРАММА В ПОЛНОМ ВАРИАНТЕ???
sashok2009 вне форума Ответить с цитированием
Старый 02.06.2009, 18:40   #4
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Цитата:
ПРОГРАММА В ПОЛНОМ ВАРИАНТЕ???
Да!!! На все 90%
xor eax, eax
xchg [eax], eax
MalCer вне форума Ответить с цитированием
Старый 07.06.2009, 23:05   #5
sashok2009
 
Регистрация: 02.06.2009
Сообщений: 4
По умолчанию

программа не выводит скан-код.парни помогите разобраться в чем дело,пожалуйста!!!!!!!!!!!!
sashok2009 вне форума Ответить с цитированием
Старый 08.06.2009, 10:00   #6
airyashov
Форумчанин
 
Регистрация: 02.04.2008
Сообщений: 358
По умолчанию

помоему все она выводит
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666
mail: airyashov(а)inbox.ru
airyashov вне форума Ответить с цитированием
Старый 08.06.2009, 11:55   #7
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Проверил все заново и как ни странно- все там выводится!!!
Проверяю на клавише b. Программа вывела мне 62h! Смотрю в таблицу кодов и проверяю. Вуа-ля! Все верно!
xor eax, eax
xchg [eax], eax
MalCer вне форума Ответить с цитированием
Старый 08.06.2009, 21:48   #8
sashok2009
 
Регистрация: 02.06.2009
Сообщений: 4
По умолчанию

у мня не кмпилируется в com.почему?
sashok2009 вне форума Ответить с цитированием
Старый 08.06.2009, 21:57   #9
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Цитата:
у мня не кмпилируется в com.почему?
А это уже другое дело! Это же exe'шник!!! Создать его можно так: tasm proga.asm -> tlink proga.obj
xor eax, eax
xchg [eax], eax
MalCer вне форума Ответить с цитированием
Старый 08.06.2009, 22:11   #10
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Переделал вам в com:
Код:
CSEG segment
assume CS:CSEG, DS:CSEG 
org 100h

Begin:

mov ah,9
mov dx,offset msg
int 21h

nachalo:
mov ah,0
int 22
cmp al,1bh
je konec
     push ax
mov dl,al
mov ah,6
int 21h

mov ah,6
mov dl,' '
int 21h
     pop ax
     push ax
shr al,4
mov ah,0

mov si,ax
mov dl,[si+hex]
mov ah,6
int 21h
     pop ax
     push ax
and al,00001111b
mov ah,0
mov si,ax
mov dl,[si+hex]
mov ah,6
int 21h
mov ah,6
mov dl,'h'
int 21h

mov ah,6
mov dl,' '
int 21h
     pop ax
     push ax
shr ah,4
mov al,ah
mov ah,0
mov si,ax
mov dl,[si+hex]
mov ah,6
int 21h
     pop ax
mov al,ah
mov ah,0
and al,00001111b
mov si,ax
mov dl,[si+hex]
mov ah,6
int 21h

mov ah,6
mov dl,'h'
int 21h
mov ah,9
mov dx,offset txt
int 21h
jmp nachalo

konec:
int 20h


msg  db 'Najmite klavishu',10,13,'$'
txt     db 10,13,'$'
hex   db '0123456789ABCDEF'


CSEG ends
end Begin
xor eax, eax
xchg [eax], eax
MalCer вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
составить программу выводящую на экран координаты вершин треугольников BlackPanther Паскаль, Turbo Pascal, PascalABC.NET 1 05.12.2008 19:13
сделать программу на весь экран Killbrum Помощь студентам 10 09.09.2008 09:50
Чем отличается скан-код от виртуального кода клавиши? The_Darkness Помощь студентам 2 18.07.2008 17:01