Подскажите что такое регистры типы es:ds и как ими пользоваться.
Например нужно в графическом режиме в DOS поменять форму курсора мыши.
И сказано:
In: AX = 9h
BX = column number
CX = row number
ES:DX = XOR/AND array address
И что значит это последнее? В ES находится адрес расширенного сегмента
данных (или что-то вроде того ;), а что в ES:DX?
И как туда вписать этот адрес?
Делаю так (TASM 5.0 DOS):
=== Cut ===
.model small
.stack
.data
curs_mask dw 0ffffH
dw 0ffffh
dw 0ffffh
dw 0ffffh
dw 0000h
dw 0ff0h
dw 0ff0h
dw 0000h
.code
main:
mov ax, @data
mov ds, ax
; 1. init graphic mode
mov ax, 13h
int 10h
; show cursor
mov ax, 1h
int 33h
; change cursor to smth else
mov ax, 9h
mov bx, 1 ; column number
mov cx, 1 ; row number
mov es:dx curs_mask
int 33h
....
end main
=== Cut ===
И в этой линии все плохо (too few operands to instruction..)
mov es:dx curs_mask
Как этими es:dx и адресами пользоваться?