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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2017, 17:08   #1
flu3xz
Пользователь
 
Регистрация: 19.05.2017
Сообщений: 26
По умолчанию Организация ввода с клавиатуры

не получатся организовать ввод элементов с клавиатуры для emu8086
программа из эл А и Б находит минимальное и заполняет массив С по возрастанию.
Код:
.model  small
.code
org 100h
begin:  lea si,dbA
    lea di,dbB
    lea bx,dbC
    mov dx,szA
    mov cx,szB
l1:   mov al,[si]
    mov ah,[di]
    cmp al,ah
    jle l2
    xchg    dx,cx
    xchg    si,di
    xchg    ah,al
l2:   mov [bx],al
    inc bx
    inc si
    loop    l1
    mov cx,dx
    mov si,di
l3:   mov al,[si]
    mov [bx],al
    inc bx
    inc si
    loop    l3
    ret
dbA db  10,8,6,4,2
szA equ $-dbA
dbB db  1,3,5,7,9,11
szB equ $-dbB
dbC db  (szA+szB)dup (0)
    end begin
flu3xz вне форума Ответить с цитированием
Старый 05.06.2017, 18:26   #2
Argogo
Пользователь
 
Регистрация: 28.03.2013
Сообщений: 22
По умолчанию

Цитата:
Сообщение от flu3xz Посмотреть сообщение
.model small
.code
org 100h
begin: lea si,dbA
lea di,dbB
Ты или крест сними, или трусы надень. В смысле, если COM-файл, то модель памяти должна быть TINY. Если EXE - необходимо на старте DS инициализировать и сегмент данных выделить.
Argogo вне форума Ответить с цитированием
Старый 05.06.2017, 18:52   #3
flu3xz
Пользователь
 
Регистрация: 19.05.2017
Сообщений: 26
По умолчанию

а как организовать ds? вот как у меня получилось
Код:
.model  small 
.stack org 100h 
.data 
massA db  4,2,8,6,10
sizeA equ $-dbA
massB db  9,3,5,7,1
sizeB equ $-dbB
massC db  (sizeA+sizeB)dup (0)
.code
begin: 
     mov ax,@data
     mov ds,ax 
           lea si,massA
           lea di,massB
           lea bx,massC
           mov dx,sizeA
           mov cx,sizeB
l1:   
    mov al,[si]
    mov ah,[di]
    cmp al,ah
    jle l2
    xchg    dx,cx
    xchg    si,di
    xchg    ah,al
l2:   mov [bx],al
        inc bx
        inc si
        loop    l1
        mov cx,dx
        mov si,di
l3:  
              mov al,[si]        
              mov [bx],al
              inc bx
              inc si
              loop    l3
    
   mov ax,4C00h
        int 21h 
        
        end begin
flu3xz вне форума Ответить с цитированием
Старый 05.06.2017, 19:58   #4
Argogo
Пользователь
 
Регистрация: 28.03.2013
Сообщений: 22
По умолчанию

Что-то я не пойму, это ваше ЭМО8086 на нижеследующее никак не ругается?
Цитата:
Сообщение от flu3xz Посмотреть сообщение
.stack org 100h
Цитата:
Сообщение от flu3xz Посмотреть сообщение
massA db 4,2,8,6,10
sizeA equ $-dbA
Цитата:
Сообщение от flu3xz Посмотреть сообщение
massB db 9,3,5,7,1
sizeB equ $-dbB
Argogo вне форума Ответить с цитированием
Старый 05.06.2017, 19:59   #5
flu3xz
Пользователь
 
Регистрация: 19.05.2017
Сообщений: 26
По умолчанию

т.е он не читает содержимое массивов?

.stack убрать и оно так читать будет. Не получилось ds описать значит.

а что у вас пишет? у меня все идет и он результаты не такие, не так значит ds описал

Последний раз редактировалось Аватар; 05.06.2017 в 20:32.
flu3xz вне форума Ответить с цитированием
Старый 05.06.2017, 20:17   #6
Argogo
Пользователь
 
Регистрация: 28.03.2013
Сообщений: 22
По умолчанию

Цитата:
Сообщение от flu3xz Посмотреть сообщение
а что у вас пишет?
у меня его нет, просто в указанных строках ошибки.
Попробуйте свой текст пропустить через MASM или TASM.

Код:
.model	small 
.stack	256

.data
massA	db	4,2,8,6,10
sizeA = $-massA
massB	db	9,3,5,7,1
sizeB = $-massB
massC	db	(sizeA+sizeB)dup (0)

.code
begin: 
     mov ax,@data
     mov ds,ax 
           lea si,massA
           lea di,massB
           lea bx,massC
           mov dx,sizeA
           mov cx,sizeB
l1:   
    mov al,[si]
    mov ah,[di]
    cmp al,ah
    jle l2
    xchg    dx,cx
    xchg    si,di
    xchg    ah,al
l2:   mov [bx],al
        inc bx
        inc si
        loop    l1
        mov cx,dx
        mov si,di
l3:  
              mov al,[si]        
              mov [bx],al
              inc bx
              inc si
              loop    l3
    
   mov ax,4C00h
        int 21h 
        
        end begin

Последний раз редактировалось Argogo; 05.06.2017 в 20:28. Причина: Добавил код, в котором убраны явные опечатки. Логику работы НЕ проверял.
Argogo вне форума Ответить с цитированием
Старый 05.06.2017, 20:29   #7
flu3xz
Пользователь
 
Регистрация: 19.05.2017
Сообщений: 26
По умолчанию

я только в эмуляторе пишу
flu3xz вне форума Ответить с цитированием
Старый 05.06.2017, 20:32   #8
flu3xz
Пользователь
 
Регистрация: 19.05.2017
Сообщений: 26
По умолчанию

флаги в сравнении с первоначалоной программой взбесились
это ваша.
Изображения
Тип файла: png Снимок.PNG (3.7 Кб, 26 просмотров)
flu3xz вне форума Ответить с цитированием
Старый 05.06.2017, 20:34   #9
flu3xz
Пользователь
 
Регистрация: 19.05.2017
Сообщений: 26
По умолчанию

а это первоначальная
flu3xz вне форума Ответить с цитированием
Старый 05.06.2017, 20:34   #10
flu3xz
Пользователь
 
Регистрация: 19.05.2017
Сообщений: 26
По умолчанию

вот
Изображения
Тип файла: png Снимок.PNG (3.7 Кб, 35 просмотров)
flu3xz вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Организация ввода-вывода alex_os Общие вопросы C/C++ 1 23.02.2015 15:34
Организация запрета ввода числа вещественного типа (разделенного точкой)... Igor95 Общие вопросы C/C++ 1 09.01.2013 21:43
Написать рекурсивную процедуру для ввода с клавиатуры последовательности чи-сел (конец ввода – 0) и вывода её на экран в обратном netiv Паскаль, Turbo Pascal, PascalABC.NET 1 17.02.2012 18:14
организация ввода-вывода информации в мк-51 YTP0 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 04.12.2011 09:12
Организация поиска и ввода данных Guggernaut БД в Delphi 1 15.06.2010 04:30