汇编-数据处理的两个基本问题

数据处理的两个基本问题

bx,si,di和bp

只有bx,si,di和bp可以放在[  ]中进行内存单元的寻址
可以单个出现和组合出现
组合的方式:bx + si,bx + di, bp + si, bp + di,bx + si + idata,bx + di + idata, bp + si + idata, bp + di + idata

机器指令处理的数据在什么地方

数据存放的位置:CPU内部、内存、端口

汇编语言中数据位置的表达

立即数(idata):直接包含在机器指令中的数据(执行前在CPU的指令缓冲器);如:mov ax,1
寄存器:指令要处理的数据在寄存器中,在汇编指令中给出相应的寄存器名; 如:mov ax,bx
段地址(SA)和偏移地址(EA):指令需要处理的数据在内存中,在汇编指令中用 [ ]给出,EA,SA在某寄存器
段地址默认在ds中:[idata],[di],[bx + idata],[bx + si],[bx + si + idata]
段地址默认在ss中:[bp + idata],[bp +si],[bp +si + idata]

寻址方式

直接寻址 :[idata]
寄存器寻址 :[ bx ]、[ bp ]、[ si]、[ di]
寄存器相对寻址 :[ bx + idata ]、[ bp + idata ]、[ si + idata ]、[ di + idata ]
基址变址寻址 :[ bx + si ]、[ bp + di ]、[ bp + si ]、[ bp + di ]
相对基址变址寻址:[ bx + si + idata ]、[ bp + di + idata ]、[ bp + si + idata ]、[ bp + di + idata ]

指令要处理的数据又多长

以字为处理单位 mov word ptr ax, [0]
以字节为处理单位 mov byte ptr ax,[0]

寻址方式的综合应用

div指令

除数:有8位和16位两种,在一个reg或者内存单元中
被除数:默认放在AX或DX和AX,除数是8位,被除数则为16位,放在AX中,除数16位,被除数32位,则高16位在DX,低8位放在AX中
结果:除数是8位,AL存储商,AH存余数,除数16位,AX存商,DX存余数
mov ds,·1
mov ax,86a1h
mov bx,100
div bx

伪指令dd

dd表示double型数据,dd 10000占4个字节

dup

db 重复的次数 dup (重复的字节型数据)
dw 重复的次数 dup (重复的字型数据)
dd 重复的次数 dup (重复的双字型数据)

版权声明:本文为m0_37552138原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。