assembly - What's the default segment register when using square brackets to read values in NASM? -
assembly - What's the default segment register when using square brackets to read values in NASM? -
as know, can read value of address using square brackets in nasm, such that:
mov esi, [ebp +8] mov edi, [var] --> (var variable)
those values in square brackets represent offset address, when read values using format, absolutely need segment, whether in real or protected mode, what's default segment register nasm uses? know windows uses flat mode, if set different values different segment register(cs, ss, ds, es, fs, gs), segment register nasm use? guess ds
, right? segment register different when using different expressions in square brackets? default segment register same both in real , protected mode? thanks.
the default segment register ds 'base registers' except
mov esi, [ebp + 542] ; // uses ss: mov esi, [esp + 123] ; // uses ss: mov eax, [eax + esp] ; // uses ds, because eax base of operations // , esp scalable register (with scale==1) stosb ;; uses es:
it's not property of assembler, of processor. override it, there's 1 byte segment override prefix before instruction.
assembly x86 nasm
Comments
Post a Comment