. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->[bx]和loop指令
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  add ax,2等于 两个 inc ax 吗?  [已解决] 回复[ 3次 ]   点击[ 397次 ]  
ghost2003
[帖 主]   [ 发表时间:2010-04-07 11:42 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:8
注册日期:2010-04-03 11:03
读下面代码理解其inc存在的道理

图我就不抄了;请打开书第97页图

Mov ax,20000h

Mov ds,ax

Mov bx,1000h

Mov ax,[bx]

Inc bx;试想一下当没有这两条这令会发生什么变化?

Inc bx

Mov [bx],ax

Inc bx

Inc bx ;

Mov [bx],ax

Inc bx

Mov [bx],al

Inc bx

Mov [bx],al

结论:当向[X](“X”是指寄存器但肯定不是ds,SS等段寄存器)写入数据后,一定不要忘了让“X”寄存器的内容加2h,否则….“试想一下当没有这两条这令会发生什么变化?”
Inc bx 就是指 让bx寄存器中的内容加1

这个“1”应该是16进制吧?


问题是:

能不能 add bx,2h 来代替

inc bx

inc bx

?
versaariel
[第1楼]   [ 回复时间:2010-04-07 13:34 ]   [引用]   [回复]   [ top ] 
荣誉值:62
信誉值:0
注册日期:2009-12-03 13:14
1.不知道你想要表达啥
2.add ax,2 从结果上等于 inc ax inc ax 但是从本质上来说是不同的,inc不会影响标志位
3.这个“1”应该是16进制吧?  
16进制10进制2进制再好好复习下吧^-^
74839yis
[第2楼]   [ 回复时间:2010-04-09 22:40 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:0
注册日期:2010-03-02 19:37
第一行应该是mov ax,2000h吧
ghost2003
[第3楼]   [ 回复时间:2010-04-10 19:32 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:8
注册日期:2010-04-03 11:03
此贴由 贴主 于 [ 2010-04-10 19:32 ] 结贴。 结贴原因:问题已解决
得分情况:
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved