十进制调整指令
[逻辑指令]
一、逻辑运算
24、逻辑与 AND (logic and)
指令的汇编格式:AND dst,src
指令的基本功能:(dst)<-(dst)与(src)
指令支持的寻址方式:两个操作数不能同时为存储器寻址。即为除源操作数为立即数的情况外,源操作数和目地操作数必须有一个寄存器寻址方式。
指令对标志位的影响:指令执行后 CF 和 OF 置零,AF无定义。
SF=1 指令执行后的结果为负数(符号位为1)
SF=0 指令执行后的结果为正数(符号位为0)
...
- [游客] 补充一下,还有可能在数据段中定义数组时超过了一个段长 07/22 16:20
- [infosecer] 受教了 07/17 00:16
- [游客] 顶一下。 05/06 19:00
- [maxm] 收藏了先 02/17 15:50
- [jcw2008] 谢谢,这对我很有用! 10/21 11:05
- [ding2843] 好文章。。。。。。。。。。。。。。。。。 07/01 16:39
- [ding2843] 好文章。。。。。。。。 07/01 16:22
- [starrynight] 一笑而过 管自己的水,让别人喝去吧 06/27 13:25
- [游客] "别理他"那可不行,不能让不实之言,任意泛滥。 知情人应该发言,不要让“谣言”有成长的空间。 06/27 12:55
- [yjll] 顶! 06/26 13:31
- [lonely200808] 你好!我的汇编语言的初学者,在论坛里看到你发言,想和你交个朋友,因为我才开始自学,要自考,有没有QQ 03/26 17:19
- [gecko] 接触到汇编语言是一年后的事情了。才知到有一种语言更低级。 这话有双关语的感觉..哈哈 11/21 19:42
- [lbhn] 我已修改了,这东西不注意还真不好找*-* 10/18 16:04
- [lbhn] 多谢了,对了问一下你的照片是怎么上传的?为什么我现在连自己的资料都不能修改了? 10/17 18:28
- [lbhn] 我第二天又做了一遍这次没出错,可能是V86运行程序不是很稳定,多谢你关注啊!! 10/15 16:22
- [lbhn] 你是在纯DOS下还是ms-dos窗口下?是自已的机子吗? 我这是在网吧里做的!! 10/13 13:50
[2007-12-14 17:09] 【汇编转帖】逻辑指令和移位指令
阅读全文 |
评论次数(4) |
浏览次数(2535) |
所属类型(汇编自留地)
[2007-10-29 16:44] 【转贴】汇编伪指令五
类似于高级语言中用户自定义复合数据类型,MASM允许将若干个相关的单个变量作为一个组来进行整体数据定义,然后通过相应的结构预置语句得变量分配空间。
1、结构
结构(STRUCTURE)把各种不同类型的数据组织到一个数据机构中,便于某些变量的处理。
(1)结构类型的说明
结构名 STRUCT
....
结构名 ENDS
如:学生成绩结构
student struct
sid dw ?
sname db 'abcdefgh'
Math db 0
English db 0
student ends
结构类型中所含的变量,...
1、结构
结构(STRUCTURE)把各种不同类型的数据组织到一个数据机构中,便于某些变量的处理。
(1)结构类型的说明
结构名 STRUCT
....
结构名 ENDS
如:学生成绩结构
student struct
sid dw ?
sname db 'abcdefgh'
Math db 0
English db 0
student ends
结构类型中所含的变量,...
阅读全文 |
评论次数(4) |
浏览次数(2104) |
所属类型(汇编自留地)
[2007-10-29 16:43] 【转贴】汇编伪指令四
完整段定义格式的伪指令
1、完整段定义伪指令
完整段定义由SEGMENT和ENDS这一对伪指令实现,格式如下:
段名 segment [定位类型] [组合类型] [段字/寻址方式] ['类别']
。。。。。
段名 ends
段定义后的4个关键字由来确定段的各种属性,堆栈段要使用stack组合类型,代码段应具有‘code’类别,其他为可选性参数。
(1)定位类型(align)——指定逻辑段在主存储器中的边界,该关键字可为:
BYTE:段开始为下一个可用的字节地址(xxxx xxxxB),属性值为1
WORD:段开始为下一个可用的偶数地址(xxxx xxx0B...
1、完整段定义伪指令
完整段定义由SEGMENT和ENDS这一对伪指令实现,格式如下:
段名 segment [定位类型] [组合类型] [段字/寻址方式] ['类别']
。。。。。
段名 ends
段定义后的4个关键字由来确定段的各种属性,堆栈段要使用stack组合类型,代码段应具有‘code’类别,其他为可选性参数。
(1)定位类型(align)——指定逻辑段在主存储器中的边界,该关键字可为:
BYTE:段开始为下一个可用的字节地址(xxxx xxxxB),属性值为1
WORD:段开始为下一个可用的偶数地址(xxxx xxx0B...
阅读全文 |
评论次数(0) |
浏览次数(848) |
所属类型(汇编自留地)
[2007-10-29 16:41] 【转贴】汇编伪指令三
程序段的定义和属性
一、DOS的程序结构
DOS操作系统的两种可执行程序是EXE和COM
1、EXE程序
EXE程序可以有独立的代码、数据和堆栈段,还可以有多个代码段和多个数据段,程序长度可以超过64KB,执行起始地址可以任意指定。规则的EXE文件在磁盘上由两部分组成:文件头和装入模块。装入模块就是程序本身。文件头则是由连接程序生成,包含有文件的控制信息和重定位信息,供DOS装入EXE文件时使用。实际上大EXE文件还可能包含一个附加部分,此部分由开发者用连接程序以外的工具附加到程序末尾,不属于装入模块,也不直接装入主存,仅供程序本身使用。当DOS装入或执行一个程序时,DOS确定当时主存...
一、DOS的程序结构
DOS操作系统的两种可执行程序是EXE和COM
1、EXE程序
EXE程序可以有独立的代码、数据和堆栈段,还可以有多个代码段和多个数据段,程序长度可以超过64KB,执行起始地址可以任意指定。规则的EXE文件在磁盘上由两部分组成:文件头和装入模块。装入模块就是程序本身。文件头则是由连接程序生成,包含有文件的控制信息和重定位信息,供DOS装入EXE文件时使用。实际上大EXE文件还可能包含一个附加部分,此部分由开发者用连接程序以外的工具附加到程序末尾,不属于装入模块,也不直接装入主存,仅供程序本身使用。当DOS装入或执行一个程序时,DOS确定当时主存...
阅读全文 |
评论次数(2) |
浏览次数(949) |
所属类型(汇编自留地)
[2007-10-29 16:32] 【转贴】汇编伪指令二
变量定义伪指令为变量申请固定查长度的存储空间,并可以同时将相应的存储单元初始化。
一、变量定义伪指令,格式如下:
变量名 伪指令 初值表
变量名为用户自定义标识符,表示初值表首元素的逻辑地址,即用这个符号表示地址,常称为符号地址。
初值表是用逗号分隔的参数,主要由数值常数、表达式或?、DUP组成,?代表初值不确定,即未付初值,重复初值可以用DUP进行定义。DUP格式:
重复次数 DUP (重复参数)
变量定义伪指令有DB/DW/DD/DF/DQ/DT
(1)、DB——定义字节单元伪指令,用于分配一个或多个字节单元,每个数据一定是字节量(Byte),可以是0~255的无...
一、变量定义伪指令,格式如下:
变量名 伪指令 初值表
变量名为用户自定义标识符,表示初值表首元素的逻辑地址,即用这个符号表示地址,常称为符号地址。
初值表是用逗号分隔的参数,主要由数值常数、表达式或?、DUP组成,?代表初值不确定,即未付初值,重复初值可以用DUP进行定义。DUP格式:
重复次数 DUP (重复参数)
变量定义伪指令有DB/DW/DD/DF/DQ/DT
(1)、DB——定义字节单元伪指令,用于分配一个或多个字节单元,每个数据一定是字节量(Byte),可以是0~255的无...
阅读全文 |
评论次数(1) |
浏览次数(961) |
所属类型(汇编自留地)
[2007-10-29 16:28] 【转贴】汇编伪指令一
相对于硬指令,伪指令完成诸如程序存储模式、主存变量、子程序、宏及段定义等一些不产生CPU动作的说明性工作,正确透彻的理解伪指令,对于理解汇编程序,程序结构,运行机制等至关重要。
一、参数、变量和标号
在源程序语句格式的4个组成部分中,参数是指令的操作对象,参数之间用逗号分隔。,汇编语言中,指令参数有数值型,它的主要形式是常数和数值表达式;还有地址型,主要形式是标号和名字(变量名、段名、过程名等)。我们知道,硬指令的参数有立即数、寄存器和存储单元,其中立即数要用数值型参数表达式,存储单元应该用地址型参数。
1、常数:表示一个固定的数值,分多种形式:
(1)十进制常数——0~9组成...
一、参数、变量和标号
在源程序语句格式的4个组成部分中,参数是指令的操作对象,参数之间用逗号分隔。,汇编语言中,指令参数有数值型,它的主要形式是常数和数值表达式;还有地址型,主要形式是标号和名字(变量名、段名、过程名等)。我们知道,硬指令的参数有立即数、寄存器和存储单元,其中立即数要用数值型参数表达式,存储单元应该用地址型参数。
1、常数:表示一个固定的数值,分多种形式:
(1)十进制常数——0~9组成...
阅读全文 |
评论次数(1) |
浏览次数(2141) |
所属类型(汇编自留地)
[2007-10-18 10:19] 初学汇编易犯的N个错误
1.段的定义不完整:
定义一个段空间的格式为:
segName segment
....
segName ends
一般首行很少出错,但是,有时候段体内容多了,忘了段结束的 edns了。^_^
2.代码段的起始指令错误:
code segment
start:
mov ax ,1
s:
mov ax , 2
code ends
end s
在上面这段代码中,程序执行从标号s开始,因为在源代码的最后一行“end s”指明了代码开始的位置是s处,而不是start处。做过检测题的朋友们,应该还有印象吧。start只是个标号,没有之外的任何意思,反倒是“end”定义了...
定义一个段空间的格式为:
segName segment
....
segName ends
一般首行很少出错,但是,有时候段体内容多了,忘了段结束的 edns了。^_^
2.代码段的起始指令错误:
code segment
start:
mov ax ,1
s:
mov ax , 2
code ends
end s
在上面这段代码中,程序执行从标号s开始,因为在源代码的最后一行“end s”指明了代码开始的位置是s处,而不是start处。做过检测题的朋友们,应该还有印象吧。start只是个标号,没有之外的任何意思,反倒是“end”定义了...
阅读全文 |
评论次数(8) |
浏览次数(2822) |
所属类型(汇编自留地)
页码数(1):
1