汇编网首页登录博客注册
unixandlinux的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新评论
最新留言
好友圈
友情链接

[2023-04-28 16:57] 第5章 问题 5.1

问题 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
评论次数(0)  |  浏览次数(103)  |  类型(问题分析) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码