网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
04月20日
漏签
0
天
汇编吧
关注:
45,292
贴子:
163,462
看贴
图片
吧主推荐
游戏
7
回复贴,共
1
页
<<返回汇编吧
>0< 加载中...
串操作指令中的比如串传送指令,是先修改si和di再传送,还是
只看楼主
收藏
回复
张起灵y呢
汇编基础
3
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
串操作指令中的比如串传送指令,是先修改si和di再传送,还是先传送再修改?
就像push和pop都是先修改si成si+2,再进行进栈或者出栈操作。
张起灵y呢
汇编基础
3
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
@ZandraWoo
不知道为啥您删了,您的答案我看见了!非常正确详细,谢谢您
ZandraWoo
数据结构
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
是先把ds:[si]中的值送到es:[di],然后si和di会根据方向标志(df)的flag值进行加或减.
movsb si 和 di 加或减1
movsw si 和 di 加或减2
movsd si 和 di 加或减4
方向标志,可由下列指令更改
cld ;清除方向标志,df = 0, 正向,地址递加
std ;设定方向标志,df = 1, 逆向,地址递减
另外,更正一下
push 先減sp(不是si),然後才將值壓入棧(新sp位置)
pop 先將值彈出,然後sp加
而且,sp也不一定是加2或減2,要看型別
push 立即值(0-ff) ; sp-2
例如 push 12 ;即管一字節,sp也是-2,16bit中的高位補0,像這樣 12 00
push 立即值(0-ffff) ; sp-2
例如 push word 1234 ; 雙字節一定要加word
push 立即值(0-ffffffff) ; sp-4
例如 push dword 12345678 ; 4字節一定要加dword
push ax ;sp - 2
push eax ;sp - 4
张起灵y呢
汇编基础
3
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
@ZandraWoo
刚刚翻了下书,书上说pop和push指令不能用立即寻址方式,而且只能以字为单位,是这样吗?
ZandraWoo
数据结构
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
书是根据8086写的,80286之后已经没有这限制
红框是在DEBUG中用A 输入的3条PUSH,
黄框是第一条PUSH 12, 执行前和执行后SP值的变化,看出是SP-2
绿框是显示SP-2后,栈中的被压入的值,12被补充为 12 00 ,即 WORD 值 = 12
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示