汇编 (七) 数据处理的两个基本问题

本文介绍了8086CPU中处理数据的两个基本问题:数据位置和数据长度。数据可能存在于CPU内部、内存或端口。在内存寻址中,bx, si, di和bp寄存器起到关键作用。8086支持字节和字两种尺寸的数据,通过寄存器名或操作符如byte ptr, word ptr指明数据尺寸。此外,详细讲解了div除法指令的使用及伪指令db, dw, dd和dup用于定义数据的语法。" 117759552,10542768,HTML+JS动态添加删除UL-LI节点示例,"['前端开发', 'HTML', 'JavaScript']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

两个基本问题

  • 处理的数据在什么地方?
  • 处理的数据有多长?

寄存器seg:    ax,bx,cx,dx,ah,al,ch,cl,dh,dl,sp,bp,si,di;

段寄存器sreg: (segment register)  ds,ss,cs,es

 

1.1 bx,si,di,bp

  • 在8086CPU中,只有这4个寄存器可以在“[...]”中进行内存单元的寻址。
  • 在“[...]”中,这4个寄存器可以单个出现,或只能以4种组合出现:
[bx]

[si]

[di]

[bp]

[bx+si]

[bx+di]

[bp+si]

[bp+di]

[bx+si+idata]

[bx+di+idata]

[bp+si+idata]

[bp+di+idata]
  • 只要在“[...]”中使用bp,而指令中没有显式的给出段地址,段地址就默认在ss中:
mov ax,[bp+si+idata]     //(ax)=((ss)*16+(bp)+(si)+idata)

 

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

指令在执行前,所要处理的数据可以在3个地方:

CPU内部,内存,端口。

汇编指令                       指令执行前数据的位置

mov bx,[0]                    内存,ds:0 单元

mov bx,ax                     CPU内部,ax寄存器

mov bx,1                      CPU内部,指令缓冲器

1.3 寻址方式

可以用多种方式来给定这个内存单元的偏移地址,这种定位内存单元的方式成为   寻址方式。

8086CPU寻址方式如下:

寻址方式 含义 名称
[idata] EX=idata;SA=(ds) 直接寻址
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值