MASM汇编语言知识

次林梦叶的小屋 / 2023-05-27 / 原文

遇到的坑

  

 注意在写 $ 时,一定要加上‘’

否则会爆 constant expected 的错误,同时也会附带一些其他神奇的错误

 

MOV AX,BX 与 MOV AX,[BX] 的区别是什么?

  前者是将BX中保存的值直接给AX

  后者是通过BX中保存的值寻址后将找的地址中的内容 给AX

那么也就能够理解 MOV [AX],BX 与上述指令的区别了

  这个是将BX中保存的值传给 通过AX值寻址后的地址中的内容

 

需要注意的是:

  MOV BYTE PTR CL,[BUF+1]

  这种行为是不允许的

  同时MOV WORD PTR BX,AX

  等这种行为都是不合法的

  主要是因为寄存器的大小是固定的,即不能用 xxx PTR来修饰 寄存器

  否则会喜提: