mov cl,byte ptr [ebp-0Fh]
mov edx,dword ptr [ebp-14h]
这里的c1,ptr,edx分别是什么寄存器啊。
c1是作为目的操作数还是源操作数?
5 个解决方案
#1
cl...是cx的低位寄存器 高位是ch 占8位
edx 32位
ptr前面跟着的是要操作的字节单位,所以第一个ptr前面是byte
第二个前面是dword(32位)
edx 32位
ptr前面跟着的是要操作的字节单位,所以第一个ptr前面是byte
第二个前面是dword(32位)
#2
ptr相当于C中的取指针值*符号。
#3
伪指令吧,取那个地址的数据
#4
mov cl,byte ptr [ebp-0Fh]
ecx32位
cx是其中的低16位
cl是cx的低8位(ch是高8位)
cl是目的操作数。cl中得到的值不是ebp-0Fh,而是ebp-0Fh指向的一个byte。
ecx32位
cx是其中的低16位
cl是cx的低8位(ch是高8位)
cl是目的操作数。cl中得到的值不是ebp-0Fh,而是ebp-0Fh指向的一个byte。
#5
ptr 是masm里面的类型限定符.在取地址时,指明按何种类型取出.比如:
mov cl,byte ptr [eax] ; 取eax所指地址的一个byte值
mov cx, word ptr [eax] ; 取eax所指地址的一个word值
mov ecx, dword ptr [eax] ; 取eax所指地址的一个dword值
#1
cl...是cx的低位寄存器 高位是ch 占8位
edx 32位
ptr前面跟着的是要操作的字节单位,所以第一个ptr前面是byte
第二个前面是dword(32位)
edx 32位
ptr前面跟着的是要操作的字节单位,所以第一个ptr前面是byte
第二个前面是dword(32位)
#2
ptr相当于C中的取指针值*符号。
#3
伪指令吧,取那个地址的数据
#4
mov cl,byte ptr [ebp-0Fh]
ecx32位
cx是其中的低16位
cl是cx的低8位(ch是高8位)
cl是目的操作数。cl中得到的值不是ebp-0Fh,而是ebp-0Fh指向的一个byte。
ecx32位
cx是其中的低16位
cl是cx的低8位(ch是高8位)
cl是目的操作数。cl中得到的值不是ebp-0Fh,而是ebp-0Fh指向的一个byte。
#5
ptr 是masm里面的类型限定符.在取地址时,指明按何种类型取出.比如:
mov cl,byte ptr [eax] ; 取eax所指地址的一个byte值
mov cx, word ptr [eax] ; 取eax所指地址的一个word值
mov ecx, dword ptr [eax] ; 取eax所指地址的一个dword值