补全程序,使JMP指令执行后,CS:IP指向程序的第一条指令
程序如下
assume cs:code
data segment
dd 12345678H
data ends
code segment
start:mov ax,data
mov ds,ax
mov bx,0
mov [bx],word ptr 0 ;(1)
mov [bx+2],cs ;(2)
jmp dword ptr ds:[0]
code ends
end start
此程运行没有问题,但如果我将(1)(2)处的指令换成
mov [bx],word ptr offset start
mov [bx+2],word ptr offset code
那么在编译的时侯会有如下的提示
D:\masm>masm jcd9_1_2.asm
Microsoft (R) Macro Assembler Version 5.00
Copyright (C) Microsoft Corp 1981-1985, 1987. All rights reserved.
Object filename [jcd9_1_2.OBJ]:
Source listing [NUL.LST]:
Cross-reference [NUL.CRF]:
jcd9_1_2.asm(9): error A2027: Operand expected
jcd9_1_2.asm(10): error A2027: Operand expected
50394 + 415766 Bytes symbol space free
0 Warning Errors
2 Severe Errors
请问这是什么意思呢,为什么我这样写不行呢? |