Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/2: Рейтинг темы: голосов - 2, средняя оценка - 4.50
codding_hanter
25 / 25 / 20
Регистрация: 12.05.2016
Сообщений: 181
1

Не работает ввод с клавиатуры

30.05.2016, 14:22. Просмотров 438. Ответов 16
Метки нет (Все метки)

Добрый день,

Помогите пожалуйсто исправить ошибку в коде

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
org 100h 
jmp start 
 
array db 254 ;максимально допустимая 
len db 0 ;действительная длина данных 
buf db 254 dup (0);буфер содержит ввод, заканчивающийся символом CR (ASCII 0dH) 
mov ah,0ah 
lea dx,array 
int 21h 
jc exit 
fName db 'data.txt',0 ; имя файла 
 
start: ; 
mov ah,9 ; покажем массив на экране 
mov dx,array ; 
int 21h ; 
 
mov ah,3Ch ; создать файл! 
mov dx,fName ; 
mov cx,20h ; 
int 21h ; 
xchg ax,bx ; 
mov ah,40h ; запись в файл! 
mov cx,len ; 
mov dx,array ; 
int 21h ; 
mov ah,3Eh ; закрыть файл! 
int 21h ; 
;---------------------------------------------------------------------— 
mov cx,len ; сортировка массива —-----------------// 
dec cx ; 
mov si,array ; 
mov di,si ; 
sort: push cx di si ; 
xor bx,bx ; флаг перестановок 
fuck: lodsw ; 
cmp ah,al ; 
jae @@1 ; 
inc bx ; 
xchg ah,al ; 
@@1: stosw ; 
dec si ; 
dec di ; 
loop fuck ; 
pop si di cx ; 
or bx,bx ; перестановки были? 
jnz sort ; 
;---------------------------------------------------------------------— 
mov al,10 ; выводим отсортированный массив на экран 
int 29h ; 
mov ah,9 ; 
mov dx,array ; 
int 21h ; 
 
exit: 
xor ax,ax ; 
int 16h ; 
int 20h ;
Заранее спасибо.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2016, 14:22
Ответы с готовыми решениями:

Ввод символов с клавиатуры в ОЗУ с использованием режима ожидания готовности контроллера клавиатуры
. Разработать алгоритм ввода символов с клавиатуры в ОЗУ с использованием...

Ввод с клавиатуры
Подскажите, пожалуйста. В программе на ЯА переменные объявляются как: rx dd...

Ввод с клавиатуры
Как сделать ввод используя функции БИОС? mov ah, 00h int 16h Появляется...

Ввод с клавиатуры
Как мне на ассемблере сделать ввод с клавиатуры числа??? И потом после...

Ввод с клавиатуры
Подскажите, пожалуйста. Как правильно написать программу для ввода целого числа...

16
R71MT
5309 / 1470 / 313
Регистрация: 29.07.2014
Сообщений: 2,511
Записей в блоге: 5
30.05.2016, 14:37 2
Цитата Сообщение от codding_hanter Посмотреть сообщение
Помогите исправить ошибку
..какую ошибку-то?
0
codding_hanter
25 / 25 / 20
Регистрация: 12.05.2016
Сообщений: 181
30.05.2016, 14:40  [ТС] 3
Вот ошибка
0
Миниатюры
Не работает ввод с клавиатуры  
tahir_
160 / 101 / 25
Регистрация: 18.05.2015
Сообщений: 475
30.05.2016, 14:59 4
codding_hanter, так эт же fasm
вы где то пишите, правильно
Assembler
1
mov dx,array
а где то
Assembler
1
lea dx,array
, сделайте
Assembler
1
mov dx,array
везде одинаково
0
codding_hanter
25 / 25 / 20
Регистрация: 12.05.2016
Сообщений: 181
30.05.2016, 15:00  [ТС] 5
Вместо lea писать mov?
0
tahir_
160 / 101 / 25
Регистрация: 18.05.2015
Сообщений: 475
30.05.2016, 15:47 6
codding_hanter, да, у вас везде
Assembler
1
mov
и вдруг в одном месте
Assembler
1
lea
, зачем ?
вы же на FASM , если было бы TASM то было бы
Assembler
1
mov dx,offset array
или
Assembler
1
lea. dx.array
0
codding_hanter
25 / 25 / 20
Регистрация: 12.05.2016
Сообщений: 181
30.05.2016, 16:24  [ТС] 7
У меня выводится текст следующего содержания,не могу понять почему
0
Миниатюры
Не работает ввод с клавиатуры  
Constantin Cat
2982 / 1116 / 376
Регистрация: 28.02.2015
Сообщений: 2,453
Завершенные тесты: 1
30.05.2016, 16:28 8
для 9-ой функции должен быть $ в конце.
0
codding_hanter
25 / 25 / 20
Регистрация: 12.05.2016
Сообщений: 181
30.05.2016, 16:30  [ТС] 9
Какой именно?
0
Constantin Cat
2982 / 1116 / 376
Регистрация: 28.02.2015
Сообщений: 2,453
Завершенные тесты: 1
30.05.2016, 16:41 10
Цитата Сообщение от Constantin Cat Посмотреть сообщение
$
Вот такой и должен быть.
0
codding_hanter
25 / 25 / 20
Регистрация: 12.05.2016
Сообщений: 181
30.05.2016, 16:43  [ТС] 11
Я понял,а в какой строке?
0
tahir_
160 / 101 / 25
Регистрация: 18.05.2015
Сообщений: 475
30.05.2016, 20:46 12
codding_hanter,
Цитата Сообщение от codding_hanter Посмотреть сообщение
Assembler
1
2
3
4
5
mov ah,0ah 
lea dx,array 
int 21h 
jc exit 
fName db 'data.txt',0 ; имя файла
вот этот код у вас зачем ? он не работает

вы данные с кодом не путайте
0
codding_hanter
25 / 25 / 20
Регистрация: 12.05.2016
Сообщений: 181
30.05.2016, 21:00  [ТС] 13
Етот код должен реализовывать ввод с клавиатуры массива
0
tahir_
160 / 101 / 25
Регистрация: 18.05.2015
Сообщений: 475
30.05.2016, 21:09 14
codding_hanter, еще раз по коду пройдитесь, прочтите,
где у вас
Assembler
1
mov ah,0ah
метку видете, прыжок на метку start
0
codding_hanter
25 / 25 / 20
Регистрация: 12.05.2016
Сообщений: 181
30.05.2016, 23:28  [ТС] 15
Вот сделал так:

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
org 100h 
jmp start 
 
array db 254 ;максимально допустимая 
len db 0 ;действительная длина данных 
buf db 254 dup (0);буфер содержит ввод, заканчивающийся символом CR (ASCII 0dH) 
mov ah,0ah 
mov dx,array 
int 21h,'$' 
jc exit 
fName db 'data.txt',0 ; имя файла 
 
start: ; 
mov ah,9 ; покажем массив на экране 
mov dx,array ; 
int 21h ; 
 
mov ah,3Ch ; создать файл! 
mov dx,fName ; 
mov cx,20h ; 
int 21h ; 
xchg ax,bx ; 
mov ah,40h ; запись в файл! 
mov cx,len ; 
mov dx,array ; 
int 21h ; 
mov ah,3Eh ; закрыть файл! 
int 21h ; 
;---------------------------------------------------------------------— 
mov cx,len ; сортировка массива —-----------------// 
dec cx ; 
mov si,array ; 
mov di,si ; 
sort: push cx di si ; 
xor bx,bx ; флаг перестановок 
fuck: lodsw ; 
cmp ah,al ; 
jae @@1 ; 
inc bx ; 
xchg ah,al ; 
@@1: stosw ; 
dec si ; 
dec di ; 
loop fuck ; 
pop si di cx ; 
or bx,bx ; перестановки были? 
jnz sort ; 
;---------------------------------------------------------------------— 
mov al,10 ; выводим отсортированный массив на экран 
int 29h ; 
mov ah,9 ; 
mov dx,array ; 
int 21h ; 
 
exit: 
xor ax,ax ; 
int 16h ; 
int 20h ;
Выдает ошибку,я не знаю что сделать еще:
0
Миниатюры
Не работает ввод с клавиатуры  
tahir_
160 / 101 / 25
Регистрация: 18.05.2015
Сообщений: 475
31.05.2016, 00:52 16
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
 org 100h
jmp start 
 
 array db 254 ;максимально допустима¤
   len db 0 ;действительна¤ длина данных
   buf db 254 dup ('$');буфер содержит ввод, заканчивающийс¤ символом CR (ASCII 0dH)
 fName db 'data.txt',0 ; им¤ файла
 
start: ; 
 mov ah,0ah
 mov dx,array
 int 21h
 jc exit
 
 mov ah,9 ; покажем массив на экране
 mov dx,array ;
 int 21h ;
 
 mov ah,3Ch ; создать файл!
 mov dx,fName ;
 mov cx,20h ;
 int 21h ;
 xchg ax,bx ;
 
 mov ah,40h ; запись в файл!
 mov cx,len ;
 mov dx,array ;
 int 21h ;
 
 mov ah,3Eh ; закрыть файл!
 int 21h ;
;---------------------------------------------------------------------Ч 
 mov cx,len ; сортировка массива Ч-----------------//
 dec cx ;
 mov si,array ;
 mov di,si ;
 sort: push cx di si ;
 xor bx,bx ; флаг перестановок
 
fuck:
 lodsw ;
 cmp ah,al ;
 jae @@1 ;
 inc bx ;
 xchg ah,al ;
 
@@1:
 stosw ;
 dec si ;
 dec di ;
 loop fuck ;
 
 pop si di cx ;
 or bx,bx ; перестановки были?
 jnz sort ;
;---------------------------------------------------------------------Ч 
 mov al,10 ; выводим отсортированный массив на экран
 int 29h ;
 mov ah,9 ;
 mov dx,array ;
 int 21h ;
 
exit: 
xor ax,ax ; 
int 16h ; 
int 20h ;
код не смотрел, компилируется, скажи задумку словами , что должно быть?
0
codding_hanter
25 / 25 / 20
Регистрация: 12.05.2016
Сообщений: 181
31.05.2016, 16:40  [ТС] 17
Должен вводится массив из клавиатуры, сортироватся быстрой сортировкой(Шелла или Хоара),отсортированый массив записыватся в файл,в етом массиве должен выводится наименьший парный елемент.
0
31.05.2016, 16:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.05.2016, 16:40

ввод с клавиатуры!!!
ДОброе время суток !!! Такой вопрос как в ассемблере считать буквы вводимые...

Ввод числа с клавиатуры
нужно ввести с клавиатуры число(будущее количество эл-в маллива). число от 1 до...

Ввод текста с клавиатуры
Нужно ввести текст с клавиатуры и записать его в переменную до того как будет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru