Помогите разобраться с assume - Assembler
Формулировка задачи:
Пытаюсь разобраться с assume, не могу понять почему (Строка 11) не компилируется, если (Строка 00) отсутствует. Дайте пищу для размышлений, Google не помог разобраться. Какова роль инициализации ds я понимаю, а вот каким образом assume влияет на вычисление адресов понять не могу.
data_11 segment mesg db 00,'$' data_11 ends data_22 segment msg db 00,'$' data_22 ends text segment assume cs:text, ds:data_11 begin: mov ax,data_11 mov ds,ax inc msg assume ds:data_22 ; Строка 00 mov ax,data_22 mov ds,ax inc msg ; Строка 11 text ends stk segment stack db 256 dup(0) stk ends end begin
Решение задачи: «Помогите разобраться с assume»
textual
Листинг программы
mov ax,data mov ds,ax
Объяснение кода листинга программы
mov ax, data
- переносит значение из сегмента данных (data) в регистр ax.mov ds, ax
- переносит значение из регистра ax в сегмент данных (ds).