汇编中的数据处理
数据处理的两个基本问题:
1、处理的数据在什么地方
2、要处理的数据是多长
reg表示寄存器 sreg表示段寄存器
8086CPU中reg:ax,bx,cx,dx,ah,al,bh,bl,ch,cl,dh,dl,sp,bp,si,di
sreg: ds,ss,cs,es
在8086CPU中只有bx,bp,si,di 可以在[ ] 中来进行内存单元的寻址 (* bx+bp si+di 语法错误)
汇编语言中数据位置的表达
立即数(idata) 寄存器 段地址(SA)+偏移地址(EA)
指令要处理的数据在内存中,在汇编指令可以通过[EA],再加上某个寄存器中的SA (SA可以隐性给出,[bx]表示SA在ds中,[bp]表示SA在ss中)
寻址方式
指令要处理的数据有多长
8086CPU中的指令,可以处理两种尺寸的数据 byte word
1、通过寄存器指明数据长度
2、用byte/word ptr 显性给出数据长度 mov byte ptr ds:[0],1 mov word ptr ds:[0],2 1->01(byte) 2->0002(word)
3、push/pop 只进行字单元操作
寻址方式的综合应用
本文来自博客园,作者:pie_thn,转载请注明原文链接:https://www.cnblogs.com/pie-o/p/12623479.html