. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->INT指令
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  13.3 对int ,iret和栈深入理解 中 mov bp,sp这条指令有什么用啊!!!想了一天了不知道他有什么用..  [待解决] 回复[ 5次 ]   点击[ 607次 ]  
xueyugaoyuan
[帖 主]   [ 发表时间:2012-10-11 14:34 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-08-14 17:57
7ch 中断例程
 lp:push bp 
      mov bp,sp   -----------------就是这句话 有什么用啊
      dec cx 
      jcxz lpret 
      add [bp+2],bx 

lpret:pop bp 
      iret
fpamc
[第1楼]   [ 回复时间:2012-10-11 19:56 ]   [引用]   [回复]   [ top ] 
荣誉值:30
信誉值:4
注册日期:2012-01-01 16:36
当bp作为寻址的时候,bp的默认段寄存器是ss。
所以bp=sp的时候,指向的就是栈的内容,这样可以对里面的内容进行操作。
xueyugaoyuan
[第2楼]   [ 回复时间:2012-10-12 20:48 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-08-14 17:57
嗯 是的 明白了,谢谢!!!!
huangkoasp
[第3楼]   [ 回复时间:2013-02-24 12:00 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2013-02-22 15:08
我没想明白= =为什么要push呢?
我觉得是保护数值,如果没有也可以实现这个功能啊
pkingsha
[第4楼]   [ 回复时间:2013-09-19 08:40 ]   [引用]   [回复]   [ top ] 
荣誉值:4
信誉值:0
注册日期:2013-02-02 01:48
其实我想问下,为什么要用BP来间接修改栈里面的内容,不能直接用SP访问吗?如:add [sp],bx这样的指令是非法的吗?
15515773535
[第5楼]   [ 回复时间:2017-04-14 14:42 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2017-04-01 16:14
【sp】在8086里面是违法的,8086里面貌似能用作内存单元的寄存器只有bx,si,di,bp
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved