指令:编译软件最终编译成机器码
伪指令:不编译成机器码 只是告诉编译器应该怎么做
宏指令 : 将一堆指令合并编写 完成一个特定的任务 这里要让编译器知道是否是宏指令就需要伪指令声明
这里举例 lea命令和offset命令
lea为机器指令 offset为伪指令
比如
lea ax,[1] 就是一条机器指令 在执行时将ds的第一个字节的偏移地址写给ax
也就是 1
mov ax,offset [1] 就是一条伪指令 你用debug去a进去 会报错 不认识offset因为是编译的时候用到的
在代码中 两者效果一致 lea更灵活 可以再程序中动态指定
而offset编译时 会自动替换成真实的编译地址