指定的内存位置[5678]到[56F8]中找出所有的 GOOD的位置。GOOD可以在制定内存内自定,请大佬解答,希望有完整代码,有注释
直接寻址:var word 123h,456h
mov eax,var+2;变量名+整数常量
mov eax,var[2];变量名[整数常量]
;要定位到数组下一个元素的地址,这里的整数常量为数组元素类型的大小 偏移量不等于C++下标
;word 2个字节 dword 4个字节
.data
sum dword 123h,456h,789h
间接寻址
.data
byteVal BYTE 10h
.code
mov esi,OFFSET byteVal
mov al,[esi];al=10h
;间接寻址操作数组
.data
array DWORD 10000h,20000h,30000h
.code
mov esi,offset array
mov eax,[esi];eax=10000h
add esi,4
mov eax,[esi];eax=20000h
add esi,4
mov eax,[esi];eax=30000h
;变址操作数寻址
.data
array BYTE 10h,20h,30h
.code
mov esi,0
mov al,array[esi];
;变址操作数增加位移量
.data
array WORD 1000h,2000h,3000h
.code
mov esi,OFFSET array
mov ax,[esi]
mov ax,[esi+2]
mov ax,[esi+4]
;变址操作数中的比例因子
.data
array DWORD 100h,200h,300h,400h
.code
mov esi,3*TYPE array
mov eax,array[esi];EAX=400h
mov esi,3
mov eax,array[esi*type array];EAX=400h
.code
main PROC
mov eax,sum ;123h
mov eax,sum[4];456h
mov eax,sum+4;456h
mov eax,[sum+4];456h