问题 5.1
指令和内存地址 21000H~21007H 存储单元所存储的数据情况如下:
mov ax,2000H 数据 地址
mov ds,ax BE 21000H
mov bx,1000H 00 21001H
mov ax,[bx] 21002H
inc bx 21003H
inc bx 21004H
mov [bx],ax 21005H
inc bx 21006H
inc bx 21007H
mov [bx],ax
inc bx
mov [bx],al
inc bx
mov [bx],al
指令执行后,21000H~21007H 内存单元中存储的内容会是什么?
inc bx 指令的含义是 BX 寄存器存储的数据加 1 后存回 BX 寄存器中。例如:
mov bx,1
inc bx
这两条指令执行后,(bx) 等于 2。
指令执行的情况如下:
mov ax,2000H ; 向 AX 寄存器存入数据 2000H
mov ds,ax ; 将 AX 寄存器中存储的数据 2000H 存入寄存器 DS 中
mov bx,1000H ; 向 BX 寄存器存入数据 1000H
mov ax,[bx] ; 将地址 DS:BX 中存储的字数据存入 AX 寄存器,(ax)=((ds)*16+(bx))=(21000H)=00BEH
inc bx ; (bx)=(bx)+1=1000H+1=1001H
inc bx ; (bx)=(bx)+1=1001H+1=1002H
mov [bx],ax ; 将 AX 寄存器的内容存入字型内存单元 [DS:BX],((ds)*16+bx)=(ax),(21002H)=00BEH
inc bx ; (bx)=(bx)+1=1002H+1=1003H
inc bx ; (bx)=(bx)+1=1003H+1=1004H
mov [bx],ax ; 将 AX 寄存器的内容存入字型内存单元 [DS:BX],((ds)*16+bx)=(ax),(21004H)=00BEH
inc bx ; (bx)=(bx)+1=1004H+1=1005H
mov [bx],al ; 将 AL 寄存器的内容存入字节型内存单元 [DS:BX],((ds)*16+bx)=(al),(21005H)=BEH
inc bx ; (bx)=(bx)+1=1005H+1=1006H
mov [bx],al ; 将 AL 寄存器的内容存入字节型内存单元 [DS:BX],((ds)*16+bx)=(al),(21006H)=BEH
指令执行后,21000H~21007H 内存空间存储的内容如下:
数据 地址
BE 21000H
00 21001H
BE 21002H
00 21003H
BE 21004H
BE 21005H
BE 21006H
21007H