汇编语言检测点3.1

汇编语言检测点3.1


建议先自己思考问题的答案,不懂则返回看书

在这里插入图片描述下面的程序执行前,AX = 0, BX = 0,写出每条汇编指令执行完后相关寄存器中的值。

Mov ax,1
Mov ds,ax
Mov ax,[0000]		;AX=2662
Mov bx,[0001]		;BX=E626
Mov ax,bx   		;AX=E626
Mov ax,[0000]		;AX=2662
Mov bx,[0002]		;BX=D6E6
Add ax,bx   		;AX=FD48
Add ax,[0004]		;AX=2C14
Mov ax,0    		;AX=0000
Mov al,[0002]		;AX=00E6
Mov bx,0    		;BX=0000
Mov bl,[000C]		;BX=0026
Add al,bl   		;AX=000C

2.内存中的情况如下图所示
在这里插入图片描述
各寄存器的初始值: CS=2000H,IP=0,DS=1000H,AX=0,BX=0;
(1)(2)CPU执行的指令序列,及CS、IP、相关寄存器的值

				;CS=2000H,IP=0H
mov ax,6622H	;执行后CS=2000H,IP=3H,AX=6622H
jmp 0FF0:0100	;执行前(读取后)CS=2000H, IP=8H,执行后CS=0FF0H,IP=0100H (即CS=1000H,IP=0H)
mov ax,2000H	;执行后CS=1000H,IP=3H,AX=2000H
mov ds,ax		;执行后CS=1000H,IP=5H,ds=2000H
mov ax,[0008]	;执行后CS=1000H,IP=8H,AX=C189H
mov ax,[0002]	;执行后CS=1000H,IP=BH,AX=EA66H

(3)程序和数据是没有区别的,都是以二进制的形式保存,如何确定呢。
可以理解为 段地址+偏移地址 指向的是数据,CS+IP 指向的是程序

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值