我是靠谱客的博主 简单钢铁侠,最近开发中收集的这篇文章主要介绍汇编指令:使用汇编指令计算2的8次方预备知识题目介绍回答问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

预备知识

使用汇编语言经典教材 王爽老师的《汇编语言第三版》 对汇编语言进行学习。

在装完DosBox环境之后,就可以用debug模式进行汇编指令的编程了。

下面我们看下在debug模式下常用的命令:

R命令:查看、改变CPU寄存器的内容;

D命令:查看内存中的内容;

E命令:改写内存中的内容;

U命令:将内存中的机器指令翻译成汇编指令;

T命令:执行一条机器指令;

A命令:以汇编指针的格式在内存中写入一条机器指令

题目介绍

在了解这些常用命令之后,我们做道题,是教材上的。

使用下面3条指令写入2000:0开始的内存单元中,利用这3条指令计算2的8次方。

mov ax,1

add ax,ax

jmp 2000:0003

回答问题

逻辑思路:

      执行完第一步后ax= 1;

      执行完第二步后ax  = 2;

执行add 1次 2*2, 执行2次 就是2*2*2就是2的3次方 ,那么2的8次方 就 add 执行 7次

执行之前先将指令指向add语句 这样就会重复执行 add语句,用jmp 指令更改CS、IP寄存器的值,从而

控制CPU执行目标指令

下面看下 代码:


敲完之后,就可执行我们写的汇编指令了,我们要先使用r指令改变 cs 和ip的指向, cs和ip是8086CPU中

2个最关键的寄存器,他们指示了CPU当前要读取指令的地址。cs为代码段寄存器ip为指针寄存器。

在任意时刻,CPU将cs:ip指向的内容当做指令执行。

r cs

2000

r ip

0


现在我们就可用t指令来执行我们的汇编指令了。

思考执行命令t的执行次数?

执行 第一二步执行需 2个t那么执行第三步的t的时候实际上只是改变cs:ip的指向并没执行cs:ip指向内容的机器指令后面的7个jmp 每个需要执行2个t才能执行add方法!

所以共需要执行t 16次才能计算出2的8次方




最后

以上就是简单钢铁侠为你收集整理的汇编指令:使用汇编指令计算2的8次方预备知识题目介绍回答问题的全部内容,希望文章能够帮你解决汇编指令:使用汇编指令计算2的8次方预备知识题目介绍回答问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部