Как я могу распечатать содержимое адреса и зарегистрироваться в сборке 8086?
Давайте возьмем для примера. адрес 010h и регистр DS.
Как я могу получить доступ к их ценностям?
У меня есть функция, которая печатает числа в виде двоичного кода ( потому что это то, что я хочу ). Я хочу напечатать содержимое в виде двоичного и десятичного кода. Оставьте в покое десятичный код, я разберусь с этим позже.
Как я могу получить доступ к значению по адресу 010h? А как насчет значения регистра DS?
Я обыскал весь интернет, но... все еще не могу понять, что это такое.
Что я уже пробовал:
Эта функция выводит только число в двоичном формате. Insead of 010h это должно быть содержание адреса 010h...
mov bl, 010h mov cx, 8 print: mov ah, 2 ; print function. mov dl, '0' test bl, 10000000b ; test first bit. jz zero mov dl, '1' zero: int 21h shl bl, 1 loop print ; print binary suffix: mov dl, 'b' int 21h
Richard MacCutchan
Но это то, что вы печатаете. Если вам нужно содержимое адреса 010h, то вам нужно поместить адрес в регистр смещения, загрузить содержимое адреса и затем распечатать его. Но печать в шестнадцатеричном формате гораздо полезнее, чем в двоичном.
И...
- Я перерыл весь интернет."
Это совершенно неверно, так как это займет целую вечность.
g0dafk
Ха-ха, ты меня поймал. Под "всем интернетом" я подразумевал первую страницу Google, потому что никто никогда не осмеливался нажать на страницу 2.
Не могли бы вы предоставить мне веб-сайт, где я могу прочитать больше о смещенных регистрах и инструкциях по загрузке? Я этого не вполне понимаю. Какие есть хорошие инструкции, чтобы посмотреть и прочитать о них?
Richard MacCutchan
Просто Google для любой версии ассемблера, с которой вы пытаетесь работать. Понятия не имею, что вы искали в прошлый раз, но посмотрите на это intel assembler - поиск в Google[^].