[017][汇编语言]问题5.1 mov ax,[bx] 与 mov [bx],ax

约定

(ax) 表示寄存器AX里面的内容

  • ADR1X16+ADR2 : ((ds)*16+(bx))
  • 字节型 8位 : (al) (bl) (ch)
  • 字型 16位 : (ds) (ax) (bx)

idata 表示常量

  • 合法指令:mov ax,[idata] mov bx,idata
  • 非法指令:mov ds,idata

mov ax,[bx]

  • 将一个内存单元的内容送入ax
  • 这个内存单元的长度为2字节(字单元),存放一个
  • 寄存器bx中存放的数据作为偏移地址EA段地址SA默认在DS寄存器
  • 内存单元SA:EA处的数据送入寄存器ax
  • 即 : (ax)=((ds)*16+(bx))

mov al,[bx]

  • 将一个内存单元的内容送入al
  • 这个内存单元的长度为1字节(字节单元),存放一个字节

mov [bx],ax

  • 寄存器bx中存放的数据作为偏移地址EA段地址SA默认在DS寄存器
  • 寄存器ax中的数据送入内存单元SA:EA
  • 即 : ((ds)*16+(bx))=(ax)

inc bx

  • 寄存器bx 中的数据 +1
  • 等价 add bx,1
  • (bx)=(bx)+1

[BX]

  • BX表示的是偏移地址
  • 偏移地址需要用16位表示,
  • [ ] 里面从来都是写BX,不能写BL或者BH

问题5.1

问题5.1 mov ax,[bx] 与 mov [bx],ax

你可能感兴趣的:([017][汇编语言]问题5.1 mov ax,[bx] 与 mov [bx],ax)