Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
Lolipo
0 / 0 / 0
Регистрация: 13.09.2010
Сообщений: 10
1

Изменить фразу, используя XCHG

18.09.2010, 19:35. Просмотров 1122. Ответов 3
Метки нет (Все метки)

Дано mov db, 'IVAN $'
Нужно вывести на экран с помощью функции XCHG слово NIVA.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.09.2010, 19:35
Ответы с готовыми решениями:

Ускорить xchg c памятью. Вопрос на засыпку по оптимизации!
Как известно, инструкция xchg, оперирующая с памятью, занимается нехорошим...

Команда xchg
Всем привет! Помедитируем над таким вопросом; надо чтобы в сх менялис местами...

Как работает команда xchg?
для обмена двух чисел используется команда xchg. mov eax, 2 mov ebx, 3...

Обмен значений двух четырехбайтовых переменных без использования xchg
Добрый вечер! Подскажите, пожалуйста, как можно реализовать обмен значений...

Изменить регистр букв на противоположный используя инструкцию scas
В общем пользователь вводит строку. Требуется изменить регистр букв на...

3
nohack
7 / 7 / 0
Регистрация: 18.08.2010
Сообщений: 34
18.09.2010, 22:33 2
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
codseg segment
assume cs:codseg, ds:codseg, ss:codseg, es:codseg
org 100h
begin: ;метка
 jmp beg_code ;безусловный переход
  ;текст для вывода на экран
 text db 'IVAN $'
  ;$-признак конца строки
beg_code: ;метка начала основного входа
 
;ИНВЕРСИЯ
mov bx, 0
 mov al, byte ptr text
 xchg al, text+3
 mov byte ptr text, al
 
 mov al, byte ptr text+1
 xchg al, text+2
 mov byte ptr text+1, al
 
;--вывод строки--
 mov dx, offset text ;где находится строка
 mov ah, 9 ;номер функции DOS
 int 21h ;вызов функции
;--теперь выходим в операционную систему--
 mov ah, 4ch ;номер функции DOS
 int 21h ;вызов функции
codseg ends ;конец сегмента
 end begin ;конец программы и точка выхода
1
qwarta
73 / 73 / 11
Регистрация: 20.11.2009
Сообщений: 238
19.09.2010, 22:12 3
Заинтересовали строки 27 и 28. В Интернете нашел противоречивую информацию:
INT 20H: завершить программу.

Это прерывание используется для выхода из программы и возврата управления родительскому процессу (обычно интерпретатору команд DOS - COMMAND.COM). Оно восстанавливает значения управляющих векторов INT 22H INT 23H INT 24H Оно также сбрасывает все файловые буфера (если длина файла изменилась, то файл должен быть предварительно закрыт).
Важно:

Регистр CS должен содержать значение PSP завершающегося процесса. Если ваш CS не равен PSP, вы можете выдать JMP или RET на PSP:0000.

Рекомендуется использовать функцию 4cH Terminate, чтобы избежать трудностей, связанных с неравенством CS и PSP. Она позволяет также задать код выхода. Программы COM-формата обычно выполняются при CS=PSP, так что им можно выдавать INT 20H в любой момент. EXE-программы могут выдавать FAR JMP или FAR RET, чтобы передать управление на PSP:0000, где содержится инструкция INT 20H.
Вроде бы рекомендуют через функцию 4ch, но в тоже время можно и через int 20h. Как же будет правильно?

Не по теме:

Интересная машина - лисапет! ( В смысле ассемблер)

0
assemb
63 / 63 / 1
Регистрация: 14.04.2010
Сообщений: 170
19.09.2010, 22:23 4
int 20h меньше байт занимает! Можно ещё короче - ret
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.09.2010, 22:23

Как обеспечить синхронизацию xchg для нескольких потоков?
Добрый вечер. Требуется небольшая консультация по мьютексам. Вообщем, вопрос в...

Используя str и конкатенацию, получить фразу "2000 лет".
Program Primer; Uses crt; var a: string; r,x,y: integer; Begin ...

Дан файл. В новый файл записать самую длинную фразу и фразу с наибольшим количеством слов
Здравствуйте. Вот задача Дан файл, содержащий некоторый текст. В новый файл...


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

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

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