. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->《汇编语言(第2版)》勘误区
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  288页(第二版)int b 不能相当于:inc word prt cs:[8](概念问题很重要)  [已解决] 回复[ 2次 ]   点击[ 381次 ]  
ztf770710
[帖 主]   [ 发表时间:2013-03-21 23:56 ]   [引用]   [回复]   [ top ] 
荣誉值:4
信誉值:2
注册日期:2008-01-16 11:01
code segment 
  a db 1,2,3,4,5,6,7,8 
  b dw 0 
......... 
288页中写道:指令:inc b 相当于:inc word ptr cs:[8]这句话是错误的。int b是将b的地址加1,即b的偏移地址由8变为9;而inc word ptr cs:[8]是将cs:[8]这个单元内的内容加1。 

大家可在debug中跟踪以下2个程序,看我说的是否正确。不管我是否说错,请大家积极回帖,说明自己的观点。这个很重要,关系到后续程序的编写。 
############################## 
assume cs:code 
code segment 
  top dw 1,4,7,9 
start:   mov ax,0 
         mov ax,top 
         inc top 
         mov ax,top 
         inc top 
         mov ax,top 
         inc top 
         mov ax,top 
         mov ax,4c00h 
         int 21h 
code ends 
end start 
############################# 

############################# 
assume cs:code 
code segment 
  dw 1,4,7,9,12,15,19,22 
start:   mov ax,0 
         mov bx,0 
         mov cx,0 
         mov dx,0 
         inc word ptr cs:[0] 
         mov ax,cs:[0] 
         mov bx,cs:[2] 
         inc word ptr cs:[2] 
         mov cx,cs:[2] 
         mov dx,cs:[4] 
         mov ax,4c00h 
         int 21h 
code ends 
end start 

############################
ztf770710
[第1楼]   [ 回复时间:2013-03-22 14:52 ]   [引用]   [回复]   [ top ] 
荣誉值:4
信誉值:2
注册日期:2008-01-16 11:01
指令:inc b 相当于:inc word ptr cs:[8]这句话是正确的。例子没举好,产生误解。
ztf770710
[第2楼]   [ 回复时间:2013-03-22 14:53 ]   [引用]   [回复]   [ top ] 
荣誉值:4
信誉值:2
注册日期:2008-01-16 11:01
此贴由 贴主 于 [ 2013-03-22 14:53 ] 结贴。 结贴原因:问题已解决
得分情况:
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved