Феня это чё блеать в асме прикол такой? ------------------ 1.5. Определите положительные значения для следующих отрицательных двоичных чисел: в) 10000000 ----------------- Как его инверсировать .. А.. все я понял.. там двойная инверсия.. Или нет.. нихуя я не понял..
Всмысле инверсировать ? Если число восьмибитное - то старший бит означает знак числа а остальные - значение. Можно трактовать сие число как положительное и как отрицательное это ушь как пожелаешь Если сабж интересен - есть ман Юрова "Учебник для ВУЗов". Ман не лучший - но зато очень простой. Если у меня память не отшибло где-то там в нем есть даже код для перехода в защищенный режим и написание самой-самой простой ОС. ============== UPD: О. См. http://asmworld.ru/uchebnyj-kurs/008-chisla-so-znakom-i-bez/ Инверсия если что делается ксором... это гуглится по фразе "логические операции". Надо желательно знать все ибо они все сильно нужны постоянно. ============== И кстати конкретно это - вызовет переполнение же. 10000000 = -128 а максимальное положительное 127. Поэтому когда ты инверсируешь и прибавляешь 1 у тебя overflow будет. Тебе надо прочекать бит переполнения и его можно учесть. Вероятность ошибки присутствует если оно внезапно переполнится несколько раз, но так-то вообще юзать можно. Короче. 10000000 = -128 Инверсия это: 01111111. 011111111 + 00000001 = выход за пределы максимально положительного числа со знаком ибо производится перенос в знаковый бит. Но в общем-то это = 128.
А вот типа такого есть игрушка для самых маленьких У меня даже подруга с азартом шпилила, ага. Но недолго... https://store.steampowered.com/app/370360/TIS100/?l=russian Где-то должна быть честно спижженная версия...
Дык и я про это.. просто прихуел утром немного. Полное задание выглядеть так ---------------------------------------------------------------------------------------------- 1.5. Определите положительные значения для следующих отрицательных двоичных чисел: а) 11001000 б) 10111101 в) 10000000 --------------- С первыми двумя все понятно а) 11001000(-56), инверсия 00110111+1=111000(56) б) 10111101(-67), инверсия 01000010+1=1000011(67) а тут 10000000(-128). инверсия 01111111(127)+1=10000000(-128) Причем я в сети нашел ответник (ибо в книги нет) и там такая же лабуда в ответе https://studopedia.ru/19_31491_proverka-TEOPEMi-o-vzaimnosti-peremeshcheniy.html Ну и калькулятор кстати тоже не позволяет создать однобайтовое 128.. только 127 За линки сенкс.. ознакомлюсь..
Феня, мой добрый друг. Я продолжаю осваивать высший пилотаж. Книжку ту чекнул, но Ершов мне заходит лучше. Под это дело собрал ВМ. Поставил Дос (Наебся как макака, зато вспомнил былое, очень выручила софтина WinImage, штампавать дискеты на ней прям изи) Нашел тот самый дебагер от MS.. сижу кайфую, курю ман. Заинтересовала одна штука.. Вот в последней введенной команде получаем инфу о биусе. Как видно он 99 года. А где можно чекнуть полный список, того что где лежит в РОМ памяти? (Конечно можно и погуглить но ты то же как бы в теме, инфа будет 100% актуальной) Кстати предыдущая команда должна была выдать сирийник компа, но там нули
Блин и вот есче походу тонкий момент который нужно уяснить сразу.. Вот 153D:0100 Это как правильнее интерпритировать... 153D это адрес где лежит код, а 0100 адрес(смещение) где лежит команда?
Биос щас сильно подрос, раньше было кажись F000:0 - F000:ffff а сейчас там уже зашит простенький кодес для работы с ntfs и он хрен бы влез в старую версию. Но он есть не везде Есть UEFI, которая явно лежит не по старым адресам. Надо поднимать маны от изготовителей ибо может все сильно отличаться. А еще лучше взять программатор. Потому что сей кодес микросхема тебе добровольно не отдаст для защиты от бут-вирусов (якобы). Хуже всего то что понту от этого толком нет ибо перемычка мешает прошиться туда. Оно конечно если ты туда влезешь - все. Ты уже Бог и срать ты хотел на всех аверов. Но... ты туда не пролезешь
Сегмент:смещение. Про эту адресацию можешь забыть нахрен потому что нужна она чисто для того чтобы включить защищенный режим а это делается ну... сотней асмовских команд где-то
Оно в принципе важное может быть на каких-то других архитектурах. На современных компах уже нет. Там все на таблицах дескрипторов по которым процессор ориентируется и учитывает права: кому можно читать а кому нет.