при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
В .dseg ставятся не метки, а резервируется пространство ОЗУ с указанием размера в байтах. Конкретного размера. И этот размер будет зарезервирован в независимости от того, будет он использоваться или нет."В ассемблере это делается метками в .dseg"
Код: Выделить всё
.equ BAR_counter = 95 ; число бар по координате X
.........
.dseg
graph: .BYTE Bar_counter ; данные графика
COKPOWEHEU писал(а):На самом деле разницы между метками в .cseg и .dseg нет: это просто адреса памяти в удобочитамом виде. Заполнением памяти или ее распределением они не занимаются.
Отсутствие поддержки этой иллюзии в языке.shonty писал(а):"Переменная" - это иллюзорное понятие. материализованное в понимании многих программистов. Но что мешает создать эту иллюзию в ассемблере?
А чем регистр по имени temp лучше регистра по имени r16?Starichok51 писал(а):shonty, регистру тоже можно присвоить имя.
Попробовал.COKPOWEHEU писал(а):А теперь уберите оттуда метки и убедитесь, что объем не изменился.
Память вы заняли директивой .byte, а метка только указывает на нее.
да, r16 - это тоже имя. и меня всегда бесило, зачем в многочисленных примерах плодят эти новые имена temp, temp1 и тому подобное. логика такой замены сомнительна (для меня).COKPOWEHEU писал(а):А чем регистр по имени temp лучше регистра по имени r16?
У меня сложилась привычка давать имена только time, flags и counter.Starichok51 писал(а):новые имена я присваиваю только тем регистрам, которые несут определенную функцию в программе, чтобы по имени сразу было видно, для чего регистр предназначен.