指令和伪指令和宏指令区别

指令:编译软件最终编译成机器码
伪指令:不编译成机器码 只是告诉编译器应该怎么做
宏指令 : 将一堆指令合并编写 完成一个特定的任务  这里要让编译器知道是否是宏指令就需要伪指令声明


这里举例 lea命令和offset命令
lea为机器指令  offset为伪指令
比如
lea ax,[1] 就是一条机器指令 在执行时将ds的第一个字节的偏移地址写给ax
也就是 1
mov ax,offset [1] 就是一条伪指令 你用debug去a进去 会报错 不认识offset因为是编译的时候用到的 
在代码中 两者效果一致 lea更灵活 可以再程序中动态指定
而offset编译时 会自动替换成真实的编译地址


原文地址:https://www.cnblogs.com/liaomin416100569/p/9331282.html