我很困惑使用PTR運營商,MOV指令當我在MASM中使用間接操作數的PTR操作符?
在我的書中,
.data
byteVal BYTE 10h
.code
mov esi, OFFSET, byteVal
mov al, [esi]
這個代碼是有效的
但
Employee STRUCT
IDNum BYTE "000000000"
Years WORD 0
Employee ENDS
.data
worker Employee <>
.code
mov esi, OFFSET worker
mov ax, [esi].Years
這個代碼是無效
但是
mov ax, (Employee PTR [esi]).Years
這個代碼是有效的
我想知道當我使用PTR運算符MOV指令和間接操作數
您需要使用PTR投東西
您可以通過將有效的承擔完成了類似的事情一個不同的類型。 '[esi]'沒有類型,因此除非可以從其他操作數推斷出類型,否則您需要將其轉換爲其他類型。 –