汇编新手请问一个初级题目

汇编新手请教一个初级题目
题目: 
定义数据X1,把X1的第三个字节内容存入AL中 

我的解题: 

assume cs:code,ds:data
data segment
x1 db 1,2,3,4
data ends

code segment
start:
    lea ax,x1
    mov al,ax+2
code ends
end start



出现问题: 
在CMD中使用ml test.asm 
出现错误提示:must be index or base register 
 
 
要如何解决这个错误 
万分感谢.

------解决方案--------------------
错误提示不是说了必须用索引或基址寄存器吗,将 ax 改为使用 si/di 或 bx 就是了,如:
mov  bx, offset x1
mov  al, [bx+2]

------解决方案--------------------
si+2 应该是 [si+2] 吧,仔细看下上面的示例。外加方括号,表明其中结果为所操作的内存地址,否则就是直接对寄存器本身进行操作了。