汇编语言之数据处理
机器指令数据处理的位置
| 汇编代码 | 指令前数据的位置 |
|---|---|
| mov bx,[0] | 内存单元 ds:0 |
| mov bx,ax | cpu内部,ax寄存器 |
| mov bx,1 | cpu内部,指令缓冲器 |
先来介绍下等下需要用到的名词
SA 表示段地址
EA表示偏移量
段前缀
指令mov ax,[0]中,内存单元的段地址默认为ds,我们可以显示的在访问内存单元的指令中显示的给出内存单元的段地址所在的寄存器,例如
mov ax,ds:[0]
mov ax,cs:[0]
mov ax,ss:[0]
mov ax,es:[0]
这些出现在访问内存单元的指令中,用于显示的指明内存单元的段地址的"ds",:cs",“ss”,“es”,在汇编中成为段前缀
[bx]
mov ax,[bx]
bx中存放的数据作为一个偏移地址EA,他的默认SA为ds 上面则为 (ax) = ((ds)*16+(bx))
[si]、[di]
si和di是和bx功能相近的寄存器,si和di不能够分成两个8位寄存器来使用,下面的三组指令实现的功能相同
mov bx,0
mov ax,[bx]mov si,0
mov ax,[si]mov bi,0
mov ax,[bi]
[dp]
mov ax,[dp]
bx中存放的数据作为一个偏移地址EA,他的默认SA为ss 上面则为 (ax) = ((ss)*16+(dp))
下面是一张cpu寻址方式图

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
