Форум программистов, компьютерный форум, киберфорум
Assembler: DOS/Real Mode/16-bits
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.70/100: Рейтинг темы: голосов - 100, средняя оценка - 4.70
0 / 0 / 0
Регистрация: 03.05.2012
Сообщений: 19

Записать число в регистр AL ассемблер

28.09.2013, 17:30. Показов 19320. Ответов 36
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
ТРебуется записать число 151008 в регистр al , и вывести адрес где лежит это число.
Использую emu8086 и что -то не получается это сделать
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.09.2013, 17:30
Ответы с готовыми решениями:

Занести в регистр AX значение регистра CS, а в регистр BL записать заданное число
Здравствуйте, у меня такая проблема: Нужно составить программу, которая заносит в регистр AX значение Регистра CS, а в регистр BL...

Записать число в регистр SI
Необходимо записать число в регистр SI. Способ получения числа: вводится с клавиатуры Число беззнаковое, пятизначное, целое. Число...

Даны два числа. Записать в регистр SI меньшее, а в регистр DI - большее из них
Даны два числа. Записать в регистр SI меньшее, а в регистр DI - большее из них.

36
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
28.09.2013, 17:38
pasha7132,
  • сколько разрядов входит в регистр AL?
  • А сколько разрядов содержит число 151008?
  • Может быть ты пытаешься в регистр впихнуть невпихуемое?
  • И какой адрес может быть у числа если ты разместил его в регистре (регистры процессора и память это разные вещи)
0
0 / 0 / 0
Регистрация: 03.05.2012
Сообщений: 19
28.09.2013, 18:35  [ТС]
я как понимаю в регистр ал входит 15 разрядов, а это число содержит 18. и как то его нужно туда впихнуть, не знаю точно но нельзя ли использовать двойной регистр.

Добавлено через 12 минут
Mikl___,
а ты не мог бы подсказать, каким образом можно его туда поместить?
0
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
29.09.2013, 04:51
pasha7132, Регистр AL содержит 8 разрядов и в него может поместится число от 0 до 255 (28-1=255). Читай ТО, что рекомендовали на лекциях
0
programmer
 Аватар для Thread
2391 / 525 / 69
Регистрация: 01.06.2011
Сообщений: 3,639
29.09.2013, 16:54
Цитата Сообщение от pasha7132 Посмотреть сообщение
ТРебуется записать число 151008 в регистр al , и вывести адрес где лежит это число.
Это такое задание,или часть из того что уже сделано но неправильно?Всмысле отсебятина.
Дайте полное задание,может быстрее дождетесь помощи.

AX-16битный регистр,помещает 2^16=65536 значений
AL-это младшая часть аккумулятора( accumulator low) состоит из 8 бит.

Пробуйте впихнуть тогда в пару DX:AX.В DX старшую часть,AX-младшую.
0
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
29.09.2013, 17:15
Thread,
я думаю оригинальное задание звучит так,
поместить в память число 151008, используя регистр AL, вывести на экран адрес, где лежит это число. Выполнить задание используя emu8086
0
programmer
 Аватар для Thread
2391 / 525 / 69
Регистрация: 01.06.2011
Сообщений: 3,639
29.09.2013, 17:36
Цитата Сообщение от pasha7132 Посмотреть сообщение
я как понимаю в регистр ал входит 15 разрядов, а это число содержит 18. и как то его нужно туда впихнуть
ТС так настойчиво пытаеться впихнуть туда это число,что хочеться посоветовать написать функцию свертки.только с такой разрядностью большая вероятность коллизии.
0
0 / 0 / 0
Регистрация: 03.05.2012
Сообщений: 19
30.09.2013, 01:05  [ТС]
Thread, а если использовать сегментную адресацию?
ПРосто я не могу в ней разобраться
0
programmer
 Аватар для Thread
2391 / 525 / 69
Регистрация: 01.06.2011
Сообщений: 3,639
30.09.2013, 01:42
Выложи саму задачу,в том виде как её дали.Что тебе требуеться не понятно.
0
0 / 0 / 0
Регистрация: 03.05.2012
Сообщений: 19
30.09.2013, 01:53  [ТС]
Thread, поместить в память число 151008, используя регистр AL, вывести на экран адрес, где лежит это число. Выполнить задание используя emu8086 ( с помощью адресации)

Добавлено через 2 минуты
Thread,
использую сегментную адресацию мы сможем записать это число как я понял, но все равно код составить не могу(
0
programmer
 Аватар для Thread
2391 / 525 / 69
Регистрация: 01.06.2011
Сообщений: 3,639
30.09.2013, 01:59
Assembler
1
2
3
4
5
6
lea bx,buff
mov al,008
mov byte ptr [bx],al
mov al,151
inc bx
mov byte ptr [bx],al
что пришло в голову.
0
0 / 0 / 0
Регистрация: 03.05.2012
Сообщений: 19
30.09.2013, 02:05  [ТС]
Thread, Получается ты разбил число на две части и подряд засунул их в регистр
0
 Аватар для Ethereal
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
30.09.2013, 02:08
Цитата Сообщение от pasha7132 Посмотреть сообщение
ТРебуется записать число 151008 в регистр al
Так ведь не влезет. Регистр AL имеет всего 8 бит.
0
0 / 0 / 0
Регистрация: 03.05.2012
Сообщений: 19
30.09.2013, 02:09  [ТС]
Thread, а как вывести адрес где лежит это число теперь?
0
 Аватар для Ethereal
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
30.09.2013, 02:09
Цитата Сообщение от pasha7132 Посмотреть сообщение
Thread, Получается ты разбил число на две части и подряд засунул их в регистр
Можно подумать ты сможешь засунуть его целиком.
0
0 / 0 / 0
Регистрация: 03.05.2012
Сообщений: 19
30.09.2013, 02:11  [ТС]
Ethereal, да не влезет, но при помощи сегментной адресации можно ведь увеличить память.
Thread, А если использовать не al а ax , то тогда как поместить использую эту сегментную адресацию ( потому что если использовать эту адресацию можно вместить 20-разрядное число)
0
 Аватар для Ethereal
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
30.09.2013, 02:11
Цитата Сообщение от pasha7132 Посмотреть сообщение
Thread, а как вывести адрес где лежит это число теперь?
Если число 151008 десятичное, то оно нигде не лежит. Thread исходил из того, что оно 16-чное.
0
0 / 0 / 0
Регистрация: 03.05.2012
Сообщений: 19
30.09.2013, 02:13  [ТС]
Ethereal, тогда как поместить это десятичное число 151008 в ах ?
0
 Аватар для Ethereal
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
30.09.2013, 02:17
Так и в AX оно не влезет. AX - 16 бит. Поэтому в него можно запихнуть числа от нуля до 65535. А в регистр AL от нуля до 255.

Добавлено через 1 минуту
Щас нарисую.
0
0 / 0 / 0
Регистрация: 03.05.2012
Сообщений: 19
30.09.2013, 02:18  [ТС]
Ethereal, Вот что я нашел :
А с помощью 16 бит можно адресовать только 65536 (216) байт памяти или округленно 64 Кбайт. Тогда каким же образом процессор 8086 адресовал 1 Мбайт памяти?
Решением стала сегментная адресация памяти. С помощью этого метода физический адрес конкретного байта памяти может логически определятся двумя 16-разрядными значениями. Для того, чтобы с помощью 16-разрядных регистров можно было обращаться в любую точку 20-разрядного адресного пространства, введён двухкомпонентный логический адрес из двух 16-разрядных компонент:

Segment (сегмент) : Offset (смещение)
Пример: 13DF:0100

Где Segment – адрес сегмента, а Offset – смещение от начала этого сегмента.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.09.2013, 02:18
Помогаю со студенческими работами здесь

Асм: в регистр записать 32-значное число и после некоторого преобразования его вывести полностью
Подскажите, как в регистр записать 32-значное число и как сделать так, чтобы после некоторого преобразования его вывести полностью?

(MCS-51) Внести в регистр А двоично-десятичное число XX, в регистр R5 — XX
Внести в регистр А двоично-десятичное число XX, в регистр R5 - XX, попеременно отображать эти числа на первом и втором знакоместе...

Дано целое число. Если оно чётное, то записать в регистр DI значение FFFFh, если нечётное - FF00h
Дано целое число. Если оно чётное, то записать в регистр DI значение FFFFh, если нечётное - FF00h.

(MCS-51) Загрузить в регистр R0 число 112, вычесть из него число 18, результат сохранить в стеке
Задача. Загрузить в регистр R0 число 112, вычесть из него число 18, результат сохранить в стеке. Поместить по адрес 020h РПД младшую 16...

Занести в регистр Х число $1F0. Уменьшить это число на 3
Люди кто знает задали такую задачу в институте Спасибо


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru