How do you tell the processor to use 32bit when using the MOVSB opcode? It must be something really simple that i am overlooking, or MOVSB is only a 16bit opcode and the book of words is wrong.
The opcode for MOVSB is 0A4h.
I am tring to write from DS:ESI to ES:EDI but the previous opcode will only operate using DS:SI to ESI.
The book of words says i can do it but my assembler is only generating 0A4h
I have even tried inserting 'db 066h' before the MOVSB command to involk 32bit addressing with no affect.
I have also tried using the following directives
.386p
.model flat
code segment para 'CODE' use32
This works
mov ds,?
mov si,?
mov ax,0B000h
mov es,ax
mov di,08000h
movsb
This does not
xor ax,ax
mov es,ax
mov ds,ax
mov esi,?
mov edi,0B8000h
movsb
The opcode for MOVSB is 0A4h.
I am tring to write from DS:ESI to ES:EDI but the previous opcode will only operate using DS:SI to ESI.
The book of words says i can do it but my assembler is only generating 0A4h
I have even tried inserting 'db 066h' before the MOVSB command to involk 32bit addressing with no affect.
I have also tried using the following directives
.386p
.model flat
code segment para 'CODE' use32
This works
mov ds,?
mov si,?
mov ax,0B000h
mov es,ax
mov di,08000h
movsb
This does not
xor ax,ax
mov es,ax
mov ds,ax
mov esi,?
mov edi,0B8000h
movsb