目录
数据传送类指令
堆栈的概念:
进栈指令 (PUSH)
出栈指令(POP)
练习
LEA取偏移地址(有效地址EA)指令(去括号)
LEA和OFFSET区别:
用法注意
LEA和MOV指令的比较
数据传送类指令
堆栈的概念:
堆栈中数据的存遵循“先进后出”的原则。
堆栈的活动端被称为栈顶,固定端称为栈底。
80x86的堆栈的伸展方向是从高地址向低地址。
堆栈操作都是字或者双字操作,进栈时SP自动减2,出栈时SP自动加2
进栈指令 (PUSH)
出栈指令(POP)
练习
1:已知SP=2110H,执行POP AX后,SP寄存器的值为()
A:210EH B:210FH C:2111H D:2112H
2:找出指令的错误
第一条指令类型不匹配,第二条指令不能同时为存储器操作数,第三条指令DX不能带中括号,能当地址使用只有BX,BP,SI,DI,第四条指令BXBP只能选一个,第五条指令不能给CS送值,第六条指令不能给DS送立即数
3:设堆栈指令SP的初值为1000H,AX=2000H,BX=3000H,执行PUSH AX后,
SP为(0FFEH),再执行指令PUSH BX 及POP AX后,SP为(0FFEH)
4:还看昨天的那个题,交换数据也可以通过栈的指令完成
LEA取偏移地址(有效地址EA)指令(去括号)
LEA和OFFSET区别:
功能跟OFFSET一样,但是OFFSET只能作用在变量前面,LEA能用的地方OFFSET不一定都用,但是OFFSET能用的地方LEA都能用。
用法注意
LEA BX,VAR1
LEA BX,OFFSET VAR1;和上面的指令完成的功能一样
LEA和MOV指令的比较
LEA BX,[1000H] ;把1000H这个数送BX
MOV BX,[1000H];把以1000H为地址的内存单元的数送BX
MOV BX,OFFSET [1000H] ;错误