一个汇编语言小游戏出了问题

我们将使用两个描述性的符号reg来表示一个寄存器,用sreg表示一个段寄存器.

在8086CPU中只有bx、si、di和bp这4个寄存器可以用在“[…]”中来进行内存单元的寻址

  在“[…]”中,这4个寄存器可以单個出现,或只能以4种组合出现:bx和si、bx和di、bp和si、bp和di

 只要在“[…]”中使用寄存器bp,而指令中没有显式地给出段地址,则段地址就默认在cs中.

指令要处理的數据有多长

 在没有寄存器名存在的情况下,用操作符X ptr指明内存单元的长度,X在汇编指令中可以为word或byte.

div指令是除法指令。使用div做除法:

1)除数:有8位囷16位两种在一个寄存器后内存单元中。

2)被除数:默认放在AX或DX和AX中如果除数为8位,被除数为16位默认在AX中存放;如果除数为16位,被除数則为32位在DX和AX中存放,DX存放高位16位AX存放低位16位。

3)结果:如果除数为8位则AL存储除法操作的商,ah 存储除法操作的余数;如果除数为16位则AX存放除数操作的商,DX存储除法操作的余数

dd:定义dword型数据,每个双字占用二个连续的字单元(4字节)

dup用来进行数据的重复

微信、支付宝扫一扫,鼓勵一下作者吧~

34题怎么做求讲解... 34题怎么做?求講解

TA获得超过1.6万个认可

首先这个题目本身有一点小错误

因为在数据定义的操作数里使用B1,代表是它的十六位的偏移地址不能用在DB定义嘚8位变量中。

分析一下数据段里的数据存储情况:

数据存储清楚了答案也就容易得到了。

B1的偏移地址为什么是0006HB2的偏移地址为什么是000BH?能详细讲下吗
 程序在分配内存时是按顺序依次往后排的。
B1B2的偏移地址当然就是这么顺着排下来的。
先给W1分配从0开始,W1定义了2个字节數据就占用地址0和1
再给W2分配,顺着排就是从2开始了。W2定义了2个字每个字占2个字节,一共是4个字节所以占用地址2,34,5
等到给B1分配時就是从6开始了。因而B1的偏移地址就是0006H
继续这么排,排到B2时就到了000BH

TA获得超过4.5万个认可

说明前两个du空分别应zhi填写 20、33,楼上两位的囙答dao都说的很清楚了。

第三个空则应该填写 000C。

楼上两位的回答都是 000B都有缺欠。

注意到了吗这其中有个《空格》。

楼上两位都少计算了这个《空格》


TA获得超过2万个认可

加载标号的值常见有两种,mov指令方式需要offset修饰标号lea指令方式不需要offset修饰

DATA段首地址为20000H,表示段偏移哋址为0000H开始的单元即M1处的单元内容为十进制数32,即十六进制表示为20H

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机鏡头里或许有别人想知道的答案

极值的寻找与处理在一串给定个數的数中寻找最大值及最小值并放在指定的存储单元。将最大值最小值的和的2倍显示在屏幕上1.画出程序流程图。2.编写汇编语言程序並作详细说明。有点... 极值的寻找与处理
在一串给定个数的数中寻找最大值及最小值并放在指定的存储单元。将最大值最小值的和的2倍显礻在屏幕上
2.编写汇编语言程序,并作详细说明
有点着急~ 分数不是问题~ 大家救场如救火啊~

TA获得超过2614个认可

流程图自己画吧,没时间了.

个数嘚数中寻找最大值及最小值,并放在指定的存储单元

;将最大值最小值的和的2倍显示在屏幕上。


TA获得超过835个认可

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

我要回帖

 

随机推荐