【汇编语言/底层开发】8、数据处理的两个基本问题
2014-12-30 23:15
274 查看
标题中所指的两个基本问题是:(1)处理的数据在什么地方?(2)要处理的数据有多长?要使得计算机正常工作,这两个问题必须给予说明,否则无法工作。
(1)在8086中只有这四个寄存器可以用于[]中进行内存单元寻址。也就是说,指令: mov ax, [bx]是正确的,而mov ax, [cx]是错误的。
(2)在[]寻址中,这四个寄存器可以单独出现,也可以按照以下四种组合出现:bx+si, bx+di, bp+si, bp+di。以下使用时错误的: mov ax, [bx+bp]; mov ax, [si+di]。
(3)若在[]中使用了bp,而指令中没有显式指出段地址,则段地址默认保存于ss(即ss等同于sp)。
(1)通过寄存器名说明;即通过ax等寄存器获取数据则表示字操作,通过al、ah等寄存器则是表示字节操作;
(2)在没有寄存器名的情况下,通过word ptr或byte ptr指明字操作或字节操作;
(3)通过指令默认制定操作方式;如push、pop等只进行字节操作。
(1)除数:可能为8或16位,保存于内存单元或寄存器中;
(2)被除数:被除数的位数一定是除数的2倍;16位的被除数保存于AX中,32位的被除数保存于DX+AX中,前高后低;
(3)商和余数:商保存于AL或AX中(根据除数为8或者16位),余数保存于AH或DX中(根据除数为8或者16位);
如:db 3 dup(0)——表示定义三个字节,值均为0;db 3 dup(0,1,2)——表示定义三个字节,其值分别为0,1,2;
最前面的伪指令表示定义数据的类型,dup前面的数字表示括号内的值重复的次数,括号中表示定义的数据。
1、bx, si, di, bp
这四个寄存器用于内存寻址的规则有:(1)在8086中只有这四个寄存器可以用于[]中进行内存单元寻址。也就是说,指令: mov ax, [bx]是正确的,而mov ax, [cx]是错误的。
(2)在[]寻址中,这四个寄存器可以单独出现,也可以按照以下四种组合出现:bx+si, bx+di, bp+si, bp+di。以下使用时错误的: mov ax, [bx+bp]; mov ax, [si+di]。
(3)若在[]中使用了bp,而指令中没有显式指出段地址,则段地址默认保存于ss(即ss等同于sp)。
2、机器指令处理数据的所在位置
基本上所有的机器指令的分类大致分为读取、写入、运算三类,其运行所最关心的问题是执行指令前一刻要处理数据的位置(通常来自于三个地方:CPU内部、内存和端口)。3、数据位置的表达
三个概念:(1)立即数;(2)寄存器;(3)段地址和偏移地址。4、寻址方式
表示数据放在内存中时确定数据位置的方式,主要有:直接寻址、寄存器间接寻址、寄存器相对寻址、基址编址寻址、相对基址编址寻址。5 、指令处理的数据的长度
80X86指令可以处理字和字节两种尺寸的数据,指定数据长度的方法主要有三种:(1)通过寄存器名说明;即通过ax等寄存器获取数据则表示字操作,通过al、ah等寄存器则是表示字节操作;
(2)在没有寄存器名的情况下,通过word ptr或byte ptr指明字操作或字节操作;
(3)通过指令默认制定操作方式;如push、pop等只进行字节操作。
6、div指令
注意的问题:(1)除数:可能为8或16位,保存于内存单元或寄存器中;
(2)被除数:被除数的位数一定是除数的2倍;16位的被除数保存于AX中,32位的被除数保存于DX+AX中,前高后低;
(3)商和余数:商保存于AL或AX中(根据除数为8或者16位),余数保存于AH或DX中(根据除数为8或者16位);
7、伪指令dd
类似于定义字型数据的伪指令dw,dd用于定义一个双字节结构,即define double。8、操作符dup
操作符dup为duplicate的简称,配合db、dw、dd等伪指令,进行数据的重复。如:db 3 dup(0)——表示定义三个字节,值均为0;db 3 dup(0,1,2)——表示定义三个字节,其值分别为0,1,2;
最前面的伪指令表示定义数据的类型,dup前面的数字表示括号内的值重复的次数,括号中表示定义的数据。
相关文章推荐
- [汇编语言]-第八章 数据处理的两个基本问题
- 汇编语言——第八章(数据处理的两个基本问题)
- 汇编语言:第八章 数据处理的两个基本问题
- 汇编语言07——数据处理的两个基本问题
- 汇编语言复习摘要八——数据处理的两个基本问题
- 汇编语言入门:数据处理的两个基本问题
- 汇编语言笔记08-数据处理的两个基本问题(阶段总结)
- 汇编语言第八章学习笔记——数据处理的两个基本问题
- 汇编语言学习第八章-数据处理的两个基本问题
- 汇编学习笔记--数据处理的两个基本问题
- 汇编语言(王爽) 第8章数据处理的2个基本问题
- 数据处理的两个基本问题02 - 零基础入门学习汇编语言39
- 汇编第八节-数据处理的两个基本问题
- [汇编学习笔记][第八章数据处理的两个基本问题]
- [置顶] [汇编学习笔记][第八章数据处理的两个基本问题]
- 数据处理的两个基本问题02 - 零基础入门学习汇编语言39
- 数据处理的两个基本问题03 - 零基础入门学习汇编语言40
- 数据处理的两个基本问题04 - 零基础入门学习汇编语言41
- 数据处理的两个基本问题01 - 零基础入门学习汇编语言38
- 数据处理的两个基本问题04 - 零基础入门学习汇编语言41