当前位置:首页 » 服务存储 » 我们存储的汇编指令存储在哪
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

我们存储的汇编指令存储在哪

发布时间: 2022-06-05 18:46:51

Ⅰ 关于汇编语言的基本数据存储问题

mov
ax,1
;寄存器赋1这个我知道,
mov
ds:[0],1
;这个是内存还是硬盘??
--------------内存
push
ax
;我提前定义了栈段,把ax压入栈里,那么我想问
,我们的栈是在内存,还是在硬盘存储器里?
------------------------内存
pop
ax
;把栈顶值赋给ax,sp+2指向了下一个栈顶,那么我们原是的(sp+2)-2的数据还在吗?
;也是就出栈后在栈里的数据还在吗?
---------在
问题二,我们汇编指令处理的数据idata
可以是各种数制吗?
mov
ax,1
mov
bx,27
;这指令合法吗?
------------合法
add
ax,bx
;这里运行后结果是10进制的数还是16进制数?----------------计算机只认二进制的数

Ⅱ 计算机指令主要存放在哪

计算机指令主要存放在存储器。存储器单元实际上是时序逻辑电路的一种。按存储器的使用类型可分为只读存储器(ROM)和随机存取存储器(RAM),两者的功能有较大的区别,因此在描述上也有所不同。存储器是许多存储单元的集合,按单元号顺序排列。

每个单元由若干三进制位构成,以表示存储单元中存放的数值,这种结构和数组的结构非常相似,故在VHDL语言中,通常由数组描述存储器。

为提高存储器的性能,通常把各种不同存储容量、存取速度和价格的存储器按层次结构组成多层存储器,并通过管理软件和辅助硬件有机组合成统一的整体,使所存放的程序和数据按层次分布在各存储器中。

主要采用三级层次结构来构成存储系统,由高速缓冲存储器Cache、主存储器和辅助存储器组成。图中自上向下容量逐渐增大,速度逐级降低,成本则逐次减少。

(2)我们存储的汇编指令存储在哪扩展阅读:

回顾计算机的发展历史,指令系统的发展经历了从简单到复杂的演变过程。早在20世纪50-60年代,计算机大多数采用分立元件的晶体管或电子管组成,其体积庞大,价格也很昂贵。

因此计算机的硬件结构比较简单,所支持的指令系统也只有十几至几十条最基本的指令,而且寻址方式简单。到60年代中期,随着集成电路的出现,计算机的功耗、体积、价格等不断下降,硬件功能不断增强,指令系统也越来越丰富。

Ⅲ 汇编语言中的指令应该在计算机的什么地方编写,如何运行

如果是单个汇编指令,可以用debug中的a命令来进行输入指令,用t命令单步执行或者用g命令连续执行;
如果是完整的汇编语言源程序,就需要用文本编辑器(dos命令行中的edit或者windows的记事本都行)编辑成文件,记得扩展名是.asm,然后用masm.exe汇编生成obj文件,接着用link.exe生成exe文件就能运行了。
不过大部分汇编语言源程序都不编写输出代码,所以生成exe文件之后,需要用到debug调试。建议学习一下debug的常用命令。用debug调试程序,很有趣的。
另外,masm.exe和link.exe这两个文件操作系统里没有的,需要到网上找一下。推荐汇编网www.asme.net给你,对于初学者来说,王爽的《汇编语言》+汇编网,是不错的选择。

Ⅳ 用汇编语言编写51单片机程序,指令程序存储在ROM里还是RAM里

程序指令智能存在ROM里,数据变量存在RAM里

Ⅳ 在汇编语言中调用函数后,函数返回值存储在哪里

调用函数后返回值都是存储在EAX中
下面来看一下执行过程
在主程序中每次调用函数时,先依次把各参数以相反的顺序入栈;
然后call func_name, 这里call要做两件事: 一是把函数的返回地址入栈,二是让指令执行指针%eip指向函数开始处。

开始执行
现在函数要开始执行了,但它执行函数代码前还要做一点小事,首先把原来的基地址寄存器%ebp值入栈,因为在程序执行中%ebp要另作它用, 接着堆栈指针%esp的值复制给%ebp, 此后在函数执行中%ebp一直保持不变,可以由此寻址获得函数参数。
pushl %ebp
movl %esp, %ebp
下面开始执行函数代码了。函数先要把它的局部变量保存在栈中,这很简单。比如要保存一个long型数据,只要把%esp指针向下移动4个字节(因为栈增长方向是由高地址到低地址),再根据%esp把该数据移入. 下面是保存两个局部变量long后的堆栈内容:
Parameter #N <--- N*4+4(%ebp)
...
Parameter 2 <--- 12(%ebp)
Parameter 1 <--- 8(%ebp)
Return Address <--- 4(%ebp)
Old %ebp <--- (%ebp)
Local Variable 1 <--- -4(%ebp)
Local Variable 2 <--- -8(%ebp) and (%esp)
从上可以看出通过%ebp基地址寻址可以访问所有的函数参数和局部变量. 当然也可以不用
%ebp而用其它的寄存器进行同样的基地址寻址。但对于x86结构使用%ebp寄存器可能会更
快一点。
执行结束:

Ⅵ 汇编指令保存在哪里

汇编语言中用3个概念来表达数据的位置。
(1)立即数(idata):包含在指令中的数据,执行前在cpu的指令缓冲器中。
(2)寄存器
指令要处理的数据在寄存器中,在汇编指令中给出相应的寄存器名。
(3)段地址(SA)和偏移地址(EA)
指令要处理的数据在内存中,在汇编指令中可用[x]的格式给出EA, SA在某个段寄存器中。
存放段地址的寄存器可以是默认的

Ⅶ 汇编语言存储

不是汇编存放数据。是汇编可以告诉你计算机是怎么在内存中存放数据的

我们学习汇编一般把内存看做平坦的,因为这样便于操作,实际情况是根据操作系统不同,计算机在内存中存放数据是很复杂的,最基础的像实际地址,逻辑地址什么的

建议先学学8086的汇编指令,和dos的内存结构。

Ⅷ 汇编语言以___形式存储在内存中,指令ADD BX,CX占内存___个字节。

存储单元会为bx和cx各分配两个字节

Ⅸ 汇编语言中指令END最终要存储在程序存储器中吗

data segment
block db 16 p(?)
average db 0
data ends

code segment
start: mov ax,data
mov ds,ax
xor ax,ax
lea si,block
mov cx,16
_Add: mov bl,[si]
add al,bl
adc ah,0
inc si
loop _Add
div ax,16
mov average,al

mov ax,4c00h
int 21h
code ends
end start