Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
123rustem45
0 / 0 / 0
Регистрация: 24.02.2013
Сообщений: 41
1

Программа, выдающая все совпадающие элементы двух массивов. Ассемблер, tasm

10.03.2014, 10:20. Просмотров 913. Ответов 3
Метки нет (Все метки)

Как изменить программу, чтобы можно было компилировать не через com, а через exe в tasm?
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
.model tiny
.data
string1 db '1234567890abcde' ;строки просто для
string2 db 'edcba0789654321' ;проверки программы
.code
org 100h
 main:                    
  lea si,string1
  lea di,string2
  mov cx,15
@@:
  repne cmpsb
  je @1
  jmp exit
@1:
  mov dl,byte ptr [si-1]
  mov ah,2  
  int 21h     
  cmp cx,0
  ja @@
exit:
  mov ah,0 
  int 16h    
  mov ax,4c00h
  int 21h          
end main
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.03.2014, 10:20
Ответы с готовыми решениями:

Программа вычисления по формуле. Ассемблер, tasm
Можете подсказать, как сделать? Написать программу вычисления по формуле: y= (a+b)/(c-d)^2. Выдать...

Программа, подсчитывающая количество единиц. Ассемблер, tasm
Напишите программу, подсчитывающую количество единиц в заданном байте или слове: A DB 01101011B

Программа производящая замену одного символа на другой. Ассемблер, tasm
Что нужно изменить в данной программе, чтобы он заменял искомый символ на другой, введенный с...

Создать два массива, которые будут содержать: все четные элементы двух массивов; все нечетные элементы двух массивов
Помогите, пожалуйста, с программой.. Ввести с клавиатуры два одномерных массива произвольной...

Совпадающие элементы двух массивов
Ввод: 1. Число n - количество чисел массива a 2. Ввод массива a из n чисел 3. Число m -...

3
Mikl___
Автор FAQ
13486 / 6417 / 635
Регистрация: 11.11.2010
Сообщений: 11,588
10.03.2014, 12:31 2
Лучший ответ Сообщение было отмечено 123rustem45 как решение

Решение

А замена СОМ- на ЕХЕ- принципиальна? Знаний ассемблера это не добавит
  1. замени строку .model tiny на .model small
  2. удали строку org 100h
  3. измени строку main: на три строки
    Assembler
    1
    2
    3
    
    main: mov ax,@data
    mov ds,ax
    mov es,ax
1
123rustem45
0 / 0 / 0
Регистрация: 24.02.2013
Сообщений: 41
10.03.2014, 13:33  [ТС] 3
Спасибо. В универе учимся на exe. Теперь работает, я его переделал так:
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
.model small
.data
string1 db '1234567890abcde'
string2 db 'edcba0789654321'
string3 db 15 DUP (' ')
.code
assume ds:@data, es:@data
 start: 
  mov ax,@data
  mov ds,ax  
  mov es, ax 
cld                
  lea si,string1
  lea di,string2
  mov cx,15
@@:
  repne cmpsb
  je @1
  jmp exit
@1:
  mov dl,byte ptr [si-1]
  mov ah,2  
  int 21h     
  cmp cx,0
  ja @@
rep     movs    string2,string3  
        lea     dx,string3
        mov     ah,09h  
        int     21h
exit:
  mov ah,0 
  int 16h    
  mov ax,4c00h
  int 21h          
end start
0
Mikl___
Автор FAQ
13486 / 6417 / 635
Регистрация: 11.11.2010
Сообщений: 11,588
10.03.2014, 13:58 4
123rustem45,
а для чего нужна строка assume ds:@data, es:@data и без неё будет работать и без команды сld (при старте программы и так DF=0)
0
10.03.2014, 13:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.03.2014, 13:58

Найти совпадающие элементы двух одномерных массивов.
Заполните случайными числами в диапазоне от 1 до 5 два массива: A и B. Найдите и выведите на экран...

Из двух массивов выделить совпадающие элементы в новый массив
как найти и выписать в новый массив одинаковые элементы с массива BC и нового массива A ? ...

Используя бинарный поиск, найти и вывести совпадающие элементы из двух массивов
Используя бинарный поиск, найти и вывести совпадающие элементы из двух массивов.:help: Есть два...


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

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

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