bx、si、di 和 bp】的更多相关文章

转载自:https://www.cnblogs.com/youxin/archive/2012/05/29/2524780.html 如果你看到这篇博客时正在做第七章问题,强烈建议先去把8.1~8.4看了,因为你在这章写代码踩的有关[...]的坑,在8.1~8.4都有说明, 下面都是8.1的内容 通用寄存器的主要用途 寄存器的分类 寄存器 主 要 用 途 通 用 寄 存 器 数据 寄存器 AX 乘.除运算,字的输入输出,中间结果的缓存 AL 字节的乘.除运算,字节的输入输出,十进制算术运算 AH…
bx.si.di 和 bp 在 8086CPU 中,只有这 4 个寄存器可以用在 "[...]" 中来进行内存单元的寻址. mov ax, [bx] mov ax, [bx+si] mov ax, [bx+di] mov ax, [bp] mov ax, [bp+si] mov ax, [bp+di] 而下面的指令是错误的 mov ax, [cx] mov ax, [ax] mov ax, [dx] mov ax, [ds] 这四个寄存器可以单个出现,或者以 4 种组合出现:bx 和…
一.汇编语言中,为什么SI和DI不能同时使用汇编 其实你可以想一下,这两个寄存器的意思,SI源变址寄存器,DI目地变址寄存器,既然是变址寄存器,那么他们肯定是在某个地址的基础上进行偏移变化,由此我们就得出了需要基址寄存器. 你要是把这两个寄存器同时使用,那你地址变化的基址都没有,你该怎么变化呢?你在谁的基础上变化(也就是地址偏移)? 对于这些汇编中的规定,其实有时并不需要书上详细的介绍,我们都应该可以从中推导出这些规则,书上的那些介绍个人认为只是用来验证我们的推测的.或是对我们所掌握的知识的进行…
首先,都可以单独使用. 另外,组合使用的情况下: 记住这张图片就行了=_= 意思就是,bx只能和si,di组合.bp只能和si,di组合.…
这个很简单: sp:表示栈顶指针,指向栈顶地址.与SS相配合使用.ss为栈段. bp:是基址指针,段地址默认在SS中.可以定位物理地址,比如:"mov ax,[bp+si+6]/mov ax,[bp+di+6]. DI:是目的变址寄存器.一般情况下与ds联用,来确定某个储存单元的地址. SI:是源变址寄存器,默认段地址和DI一样,在DS中.和DS联用. 这四个寄存器,都是16位的,不可以分割为八位. 要注意,1,sp和bp段地址默认在SS中.2..sp指向栈顶元素地址.有自加和自减能力,而bp没…
By brant-ruan Yeah, I feel very happy When you want to give up, think why you have held on so long. Just fight. Somebody may ask you: Why would you want to do that? Yeah, because I want to know how it works. Assembly language programming is about mem…
一.寻址方式 1.概念: 一条指令由操作码和操作数构成,操作码是系统定义好的符号,执行指定的操作,操作数即是指令的对象,而寻址方式就是操作数的指定方式 操作码 目的操作数,源操作数 2.寻址方式的三种情况: (1)CPU中(2)储存器(3)I/O中 3.寻址方式分类 (1)隐含寻址: 指令中只有操作码没有指定的操作数,但是根据操作码就可确定相应的操作数 MUL BL; DIV BL; (2)立即寻址: 指令中直接给出要操作的数 ADD AL, 立即寻址只能用在源操作数上 (3)寄存器寻址: A.…
注意:在计算加法时,实在32位的累加器上进行,并注意类型之间的转换,数据的截取问题 一般寄存器:AX.BX.CX.DXAX:累积暂存器,BX:基底暂存器,CX:计数暂存器,DX:资料暂存器 索引暂存器:SI.DISI:来源索引暂存器,DI:目的索引暂存器 堆叠.基底暂存器:SP.BPSP:堆叠指标暂存器,BP:基底指标暂存器 EAX.ECX.EDX.EBX:為ax,bx,cx,dx的延伸,各為32位元ESI.EDI.ESP.EBP:為si,di,sp,bp的延伸,32位元 eax, ebx, e…
0.写在前面 本文中总结于王爽老师的汇编语言,建议有兴趣的都买一本,以支持王爽老师的辛勤付出.再者,这本书写的确实很nice. 8086CPU共有14个registers:AX, BX, CX, DX, SI, DI, SP, BP, IP, CS, SS, DS, ES, PSW, 所有寄存器都是16位的. [1]通用寄存器: AX, BX, CX, DX 通常用于存放一般性的数据: [2]CS和IP (code segment and instruction pointer) - 代码段寄存…
1- 对于汇编程序员来说,CPU中主要的部件是寄存器,这些寄存器是:AX BX CX DX SI DI SP BP IP CS SS DS ES PSW. 2- 8086CPU所有寄存器都是16位的,可以存放2个字节. 3- AX BX CX DX 通常存放一般性的数据, 被称为通用寄存器. 4- 8086CPU寄存器的AX BX CX DX 可以分为两个独立的8位寄存器.如 AX 分为 AH AL 低8位(0-7) 高8位(8-15) 5- 字节: byte, 一个字节由8个bit组成,可以用…