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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2017, 21:05   #1
Angelica
Новичок
Джуниор
 
Регистрация: 12.11.2017
Сообщений: 1
По умолчанию Слияние двух списков фамилий выводится с ошибкой

Задача (TASM): Провести слияние двух списков вида "Фамилия И.О.", вывести результат на экран. В полученном списке у 1-й фамилии второго массива (AKINSHIN I.V.) удваивается вторая буква (получается AKKINSHIN I.V.). Подскажите, как исправить эту ошибку?

Код:
DOSSEG
.model TINY                        
.data

array db "ANTONOVA A.S.",10,13
      db "BORISOV  R.A.",10,13
      db "KOLMAKOV I.V.",10,13
      db "KORKIN   V.G.",10,13
      db "KOTOVSKY A.A.",10,13
      db "MOSTOVIN A.V.",10,13
      db "PETRIN   R.A.",10,13
      db "SIDOROV  I.V.",10,13  
      db "SYCHEV   D.Y.",10,13
      db "ZLOBIN   V.Y.",10,13 
      db "$"
      
array2 db "AKINSHIN I.V.",10,13
       db "MALEVICH V.A.",10,13
       db "SBOROV   A.V.",10,13
       db "$"                                                                                      


.code
start:
mov ax, @data
mov ds, ax

mov bx, offset array
mov di, offset array2
add bx,150d ; конец 1-го массива

mov dx,[di] ; dx = word of array2
mov [bx], dx  ; [bx]=  last word of array 

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

mov ah, 4ch
int 21h
 
end start
Изображения
Тип файла: jpg Снимок лаба ЭВМ6.JPG (40.0 Кб, 48 просмотров)

Последний раз редактировалось Angelica; 12.11.2017 в 21:20.
Angelica вне форума Ответить с цитированием
Старый 12.11.2017, 22:32   #2
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Код:
.code
start:
mov ax, @data
mov ds, ax

mov bx, offset array2
dec bx
mov byte ptr [bx], 20h 

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

mov ah, 4ch
int 21h
 
end start
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 12.11.2017, 23:49   #3
7in
(aka Jin X) !RTFM!
Форумчанин
 
Аватар для 7in
 
Регистрация: 14.12.2014
Сообщений: 295
По умолчанию

R71MT,
p.s. Я бы только 20h на 13 заменил
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru

Последний раз редактировалось 7in; 12.11.2017 в 23:51.
7in вне форума Ответить с цитированием
Старый 13.11.2017, 01:11   #4
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

А я на 7
Black Fregat вне форума Ответить с цитированием
Старый 13.11.2017, 06:31   #5
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

..имхо в идеале нужен rep movsb, хотя и семёркой свиснуть тоже вариант.
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Слияние двух упорядоченных списков. INShcherbakov Помощь студентам 8 04.01.2015 22:16
Слияние однонаправленных динамических списков Nataly026 Паскаль, Turbo Pascal, PascalABC.NET 1 06.04.2012 15:44
Слияние списков Rom@shka Общие вопросы C/C++ 5 07.05.2009 20:24
слияние списков counter Общие вопросы C/C++ 4 02.01.2009 22:47