. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(CPU工作原理)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  关于sub指令~~  [待解决] 回复[ 3次 ]   点击[ 572次 ]  
zhtao315
[帖 主]   [ 发表时间:2008-07-28 08:21 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-07-25 10:35
前一章和2章都没介绍过sub指令的用法,怎么突然出现过sub指令,大家帮忙介绍下他啊.比如sub ax,100H是什么意思?
mouse
[第1楼]   [ 回复时间:2008-07-28 17:28 ]   [引用]   [回复]   [ top ] 
荣誉值:472
信誉值:12
注册日期:2007-10-16 15:34
这个减法指令sub,虽然书上没有讲,不过我们可以通过上网找到他的使用。和mov这些指令差不多,是最基本的指令之一

减法指令SUB(SUBtract) 
指令格式:SUB OPRD1,OPRD2 
本指令的功能是进行两个操作数的相减,即从OPRD1中减去OPRD2,其结果放在OPDR1中。指令的类型及对标志位的影响与ADD指令相同,注意立即数不能用于目的操作数,两个存储器操作数之间不能直接相减。操作数可为8位或16位的无符号数或带符号数。 
例如:SUB DX,CX 
SUB [BX+25],AX 
SUB DI,ALFA[SI] 
SUB CL,20 
SUB DATA1[DI][BX],20A5H

楼主学完debug之后可以自己验证一下sub指令得使用,具体得不难,我就不多说了:-)

如果用debug做完上面得内容,不仅对debug得使用还有对类似sub指令得理解都会让你更上一层。
lixupeng
[第2楼]   [ 回复时间:2008-07-30 22:21 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-07-30 22:10
学习下
dnq2008
[第3楼]   [ 回复时间:2008-12-11 09:40 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-12-10 22:54
这个剑法指令sub,虽然书上没有讲,不过我们可以通过上网找到他的使用。和mov这些指令差不多,是最基本的指令之一

减法指令SUB(SUBtract) 
指令格式:SUB OPRD1,OPRD2 
本指令的功能是进行两个操作数的相减,即从OPRD1中减去OPRD2,其结果放在OPDR1中。指令的类型及对标志位的影响与ADD指令相同,注意立即数不能用于目的操作数,两个存储器操作数之间不能直接相减。操作数可为8位或16位的无符号数或带符号数。 
例如:SUB DX,CX 
SUB [BX+25],AX 
SUB DI,ALFA[SI] 
SUB CL,20 
SUB DATA1[DI][BX],20A5H

楼主学完debug之后可以自己验证一下sub指令得使用,具体得不难,我就不多说了:-)

如果用debug做完上面得内容,不仅对debug得使用还有对类似sub指令得理解都会让你更上一层。
------------------
回复:我在看一段汇编代码,扫描的电子版,我敲下内容吧:
push   %ebp
move   %esp,    %ebp
sub    $0x18,   %esp
sub    $0x8,    %esp
...
和你说的“注意立即数不能用于目的操作数”不是很符合啊
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved