汇编语言高手进,求程序每一步的意思!,尤其是一开始我知道MOV AX,DATA是把DATA里的

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-08-30
汇编中,MOV AX,DATA的DATA 是什么意思,怎么用

DATA 是段名,就是通过assume 来告诉汇编程序当前使用的各段的段名,比如
assume cs:code,ds:data
意思就是code是代表代码段cs,data代表数据段ds

read 是读入数据的意思
restore 是储存吧
data 是给出了数据

个人理解:这个AX在这里起到的是一个间接变量的作用。传递DATA的值。DS值改变后,AX里的值依然是DATA的值,当你下次需要用到DATA的值的时候可以直接用AX赋。很多程序都是这样的。

相当于初始化寄存器的填装!变不了地!

用汇编语言写的程序,通常,要编写一个逻辑段,用来存放数据。

这个段的名称,往往命名为:DATA。

程序,在内存执行的时候,首先,就应该把“数据段的起始地址”写入“段寄存器 DS"

 MOV AX,DATA

 MOV DS,AX

这两条指令,就是干这个的。

执行了这两条之后,后边的程序,才能使用该数据段中的内容。

不能直接传送。

理由?

你看看 80x88 的指令系统吧。

----------------

当然,编写程序时,数据段,你也可以使用别的“段名称”。

甚至,你也可能,并不需要数据段。

那么,DS,应该写入什么,你自己确定吧。



图片看不清

图片都看不清楚

  • 这个程序每一步是什么意思?
    答:printf("\n"); 换行 printf("insert a new number:");scanf("%d",&number); 让用户输入一个值 for(i=9;i>=0;i--) 寻找插入位置 { 这里你的程序应该加上括号 if(a[i]>number) a[i+1]=a[i];else break;} a[i+1]=number; 插入新数据 for(i=0;i<11;i++)...
  • 求解释下下面单片机程序的每一步是什么意思,谢谢了
    答:既然你还没学汇编,我就不用专业术语给你解释了,用好理解的方法帮你简单解释下,如果有必要我们再讨论 org 0000h ;表示下一条指令的地址是0000h ljmp 0030h ;跳转到30h处的指令 org 0030h cword:mov a,#0c5h ;cword:人为定义的标号,mov a,#0c5h :把0c5h放入a寄存器里 ...
  • C语言,求指导。。。帮忙分析下每一步的作用以及意思。。谢谢。_百度知...
    答:include <stdio.h>char fun(char ch){ if (ch>='0' &&ch<='9')//判断参数ch的ASCII是否在'0'-'9'之间 return '9'- (ch-'0');//返回字符相减之后的字符 return ch ;//返回原参数 }main(){ char c1, c2; printf("\nThe result :\n"); c1='2';...
  • 麻烦高手给我解答一下这个程序的每一步什么意思,很着急,拜托了!!我...
    答:)*proportion;newarea=Data(y(1):y(2),s);%newarea就是所选的矩形区域在图像矩阵中对应的新矩阵 grayscale=mean(newarea);%新矩阵按列取平均,得每列的灰度值 aver=mean(grayscale);%取灰度值的平均值 figure(2);plot(s*proportion,grayscale);%画出灰度值与横坐标关系的图像 end;end;
  • 请问下面程序的每一步分别是什么意思?谢谢赐教!不好意思,我积分不够了...
    答:Private Sub Form_click()a = 2 b = 3 c = 4 '这三个没什么可说的吧,赋值 Print (Not a <= c Or 4 * c = b ^ 2 And b <> a + c)'a<=c成立,所以not a<=c为false,4*c=b^2也为false,b<>a+c为true false or false and true=false and true,还是false 所以print...
  • 下面的单片机程序的每一步都是什么意思?
    答:DEL3,DEL2,DEL1,DEL 是DELAY延时的循环。时长16*171*167*2us ~=1S CPL P1.0 将端口变反。这是最简单的8051测试程序,通过端口P1.0不断输随时间变化、可肉眼观察到的电平。
  • 问两道有关c语言字符指针的问题,请将程序每一步的意思告诉我,谢谢啦
    答:第一题答案:B。理由:*s与*t都是取出此时地址存储的值,while()语句里面的意思是,当指针s与t都不为空并且s指向的值等于t指向的值。。。当s或者t为空或者t与s指向的值不同时,while()结束,返回此时s指向的值减去t指向的值,所以为比较两个字符串的大小;第二题答案:A。理由:x的地址赋值...
  • 求大神讲一下这个程序是如何运行的,每一步什么意思…单片机老师下午_百度...
    答:不知你外围电路,虽然每一句都 知道啥意思,但整体实现什么功能只能猜 可能 是将P1的状态以十六进制显示在2个数码管上 ORG 0000H 程序开始地址0000 AJMP START 跳转 START: MOV SP,#60H,移SP堆栈指针至#60H MOV SCON,#00H 串口工作方式0 移位寄存器方式 MOV SBUF,#3FH 先让串口发送数据3...
  • 求大神告知这段程序的每一步的意思,感谢
    答:BEEP应该是控制蜂鸣器的引脚,将那个引脚置0;然后死循环里面是每隔500MS播放调用一次播放音乐的函数;
  • 求一高手解析一下单片机源程序,每一步的意思,表达了什么,可追加分数...
    答:include<reg52.h> //头文件,定义硬件相关的寄存器等 define uchar //宏,下面中的uchar 全部用unsigned char替代。编译器处理的第一步 sbit P3_4=P3^4; //sbit单片机特有的位变量地址类型,相当于给p3.4引脚重命名 //数码管的显示编码,要显示5就把tab[5]的值输出到对应引脚;co...