数据处理的两个基本问题
2017-04-11 19:29
295 查看
用于内存寻址的寄存器
8086CPU有14个寄存器:(1)通用寄存器:
AX (Accumulator):累加寄存器
BX (Base):基地址寄存器
CX (Count):计数器寄存器
DX (Data):数据寄存器
(2)变址寄存器:
SI (Source Index):源变址寄存器
DI (Destination Index):目的变址寄存器
(3)指针寄存器:
SP (Stack Pointer):堆栈指针寄存器
BP (Base Pointer):基指针寄存器
(4)段寄存器:
CS (Code Segment):代码段寄存器
DS (Data Segment):数据段寄存器
SS (Stack Segment):堆栈段寄存器
ES (Extra Segment):附加段寄存器
(5)指令指针寄存器: IP
(6)标志寄存器:PSW
使用原则:
(1)bx、bp、di、si寄存器可用于内存单元寻址,其中bx、di、si段地址默认在ds中,bp的段地址默认在ss中
(2)CS寄存器不允许赋值,其他DS,ES,SS可以用通用寄存器给其赋值。
处理的数据在什么地方?
1.立即数对于直接包含在机器指令中的数据(执行前在CPU的指令缓冲器中),称为立即数(idata ),数据包含在指令中
mov ax,1 add bx,2000h or bx,00010000b mov al,'a'
2.寄存器
指令要处理的数据在寄存器中,在汇编指令中给出相应的寄存器名。
mov ax,bx mov ds,ax push bx mov ds:[0],bx push ds mov ss,ax mov sp,ax
3.段地址(SA)和偏移地址(EA)
指令要处理的数据在内存中,可通过[X]的格式给出EA,SA在某个寄存器中
段地址默认在ds中
mov ax,[0] mov ax,[di] mov ax,[bx+8] mov ax,[bx+si] mov ax,[bx+si+8]
段地址默认在ss中
mov ax,[bp] mov ax,[bp+8] mov ax,[bp+si] mov ax,[bp+si+8]
显性的给出存放段地址的寄存器
mov ax,ds:[bp] mov ax,es:[bx] mov ax,ss:[bx+si] mov ax,cs:[bx+si+8]
处理的数据有多长?
1 .通过寄存器名指明要处理的数据尺寸字操作:
mov ax,1 mov bx,ds:[0] mov ds,ax mov ds:[0],ax inc ax add ax,1000
字节操作:
mov al,1 mov al,bl mov al,ds:[0] mov ds:[0],al inc al add al,100
2 . 在没有寄存器的情况下,用操作符X ptr指明内存单元长度
字操作: word ptr
mov word ptr ds:[0],1 inc word ptr [bx] inc word ptr ds:[0] add word ptr [bx],2
字节操作: byte ptr
mov byte ptr ds:[0],1 inc byte ptr [bx] inc byte ptr ds:[0] add byte ptr [bx],2
div 指令
div是除法指令,使用div作除法的时候:div 除数(寄存器或内存单元,内存单元时要指明是字单元还是字节单元)
1. 除数为8位时,被除数则为16位,默认放在AX里,运算结果的商用AL存储,余数用AH存储
2. 除数为16位时,被除数则为32位,高16位放在DX里,低16位放在AX中,运算结果的商用AX存储,余数用DX存储
dup操作符
dup和db、dw、dd 等数据定义伪指令配合使用,用来进行数据的重复。dup的使用格式
db 重复的次数 dup (重复的字节型数据)
dw 重复的次数 dup (重复的字型数据)
dd 重复的次数 dup (重复的双字数据)
eg:
db 3 dup (0)
定义了3个字节,相当于 db 0,0,0
db 3 dup (0,1,2)
定义了9个字节,相当于 db 0,1,2,0,1,2,0,1,2
db 3 dup (‘abc’ , ’ABC’)
定义了18个字节,相当于 db ‘abcABCabcABCabcABC’
相关文章推荐
- [汇编语言]-第八章 数据处理的两个基本问题
- 汇编语言学习笔记(八)数据处理的两个基本问题
- 数据处理的两个基本问题
- 数据处理的两个基本问题(学习汇编)
- 第八章 数据处理的两个基本问题
- [汇编学习笔记][第八章数据处理的两个基本问题]
- 汇编第八节-数据处理的两个基本问题
- 汇编学习笔记(二)--数据处理的两个基本问题
- 王爽《汇编语言》(第二版) 学习笔记 (第八章 数据处理的两个基本问题 )
- 第8章 数据处理的两个基本问题 笔记
- [置顶] [汇编学习笔记][第八章数据处理的两个基本问题]
- 数据处理的两个基本问题
- 汇编语言——第八章(数据处理的两个基本问题)
- 汇编语言学习第八章-数据处理的两个基本问题
- 汇编语言笔记08-数据处理的两个基本问题(阶段总结)
- 《汇编语言》第二版 王爽著 第八章 数据处理的两个基本问题 要点
- 【汇编语言/底层开发】8、数据处理的两个基本问题
- 王爽 《汇编语言》 读书笔记 八 数据处理的两个基本问题
- 汇编语言入门:数据处理的两个基本问题
- 第8章 数据处理的两个基本问题