存储器在汇编语言中的表示是什么啊?

作者&投稿:势曼 (若有异议请与网页底部的电邮联系)
汇编语言中的存储器是什么~

主要用来存放程序和数据,这里指的是内存储器或主存储器,分为:
随机存储器(RAM)
只读存储器(ROM)
存储器由许多存储单元组成,每个单元的位数可以是1位、4位、8位、16位等,其中8位为一个字节(Byte)。
存储器的容量是指存储器所能存储的二进制位数,通常用能存储的字节数来衡量,单位有KB、MB、GB等。
存储器中每个存储单元都有一个编号,称为存储地址,简称地址。微处理器就是按照存储单元的地址来访问内存的。
对存储器的访问操作有读操作和写操作,用于实现从存储器中读出信息和把信息写入存储器。
每当需访问存储器时:
(1)由微处理器给出地址;
(2)通过地址译码器选择相应的存储单元;
(3)微处理器发出读或写控制信号,从而从指定地址的单元读出数据或把数据写入指定地址的存储单元。

这是C的写法,,C是直接赋值 汇编用mov A,#20H

我告诉你:

mov cs, ax是错误的, 因为mov指令不能用于设置cs,ip的值.

修改cs,ip的内容要用jmp命令.

同时修改, jmp 段地址: 偏移地址, 如 jmp 2BE4H: 3 修改后CS=2BE4 IP =0003H

难道不看书吗? 你学intel格式,我学习at&t格式。嘎嘎

我也来答一下,书上将的是:在8086里面是不允许想CS段寄存器直接写东西的,CS的值是由系统加载的时候确定的,应用程序不必关心,也不能直接修改他的值,段间转移除外(也是间接的)。存储器在汇编里面通常可以是一个变量的名字,如果是反汇编的代码的话就看到的是一个内存地址了,就象[00000000]的形式。。你看一下MOV指令里面的介绍,好象是不能两个操作数都是段寄存器,其中代码段寄存器永远也不可以做目的操作数。!这是我看了书后记下的东西。!不放心就自己查哈啊!!

使用存储器一般都是用方括号[]括起来的

mov cs,ax
这句没有错
不知你说的存储器是不是内存,如果是话的,在汇编中存取内存单元可以用这样的形式:
mov [0x1000],ax
即把ax的值放到0x1000的内存单元,当然还可以用其他寻址方式,你可以参考汇编的资料


机器语言和汇编语言写的程序是不是都能够控制硬件??
这就是它与其他高级语言的不同。我们用C语言编程并不知道机器具体做了什么,用汇编却能!举个例子,让计算机求1+2这个问题,用c语言可以直接写a=1+2便可以了,a的值就是我们要的。而用汇编语言不行,汇编语言是要安机器的方式解决这个问题,首先把1从内存移动到cpu中一个寄存器里,然后让这个...

有关汇编的一个简单的问题,会的进
即为40。要注意:一个字(DW类型)的存储单元,包含两个字节(DB类型)的存储单元。所以字类型的10和40之间的地址差值是6个字节,所以BX从TABLE(即10)的位置加上地址差值6个字节之后,就指向了40.处理这种问题时,要对存储器编址很熟悉。我画了一个图,在参考资料中,比较直观,你可以看一下。

单片机原理与应用技术(单片机原理与应用技术第二版课后答案)
单片机原理及应用需要学习低级汇编语言和C语言。学习具有一定难度。但只要有恒心是一定能学好的。1)编程语言:a)汇编语言是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。在不同的设备中,...

汇编语言实现两个32位数相乘怎么放入一个更大的存储器中
比如要将cx与bx的乘积放入32位储存中,你可以使用mov ax,cx mul bx这样得出的结果CPU会自动存储到dx—ax中,当然如果你不用mul指令就要自己将结果存放咯

汇编语言怎么在写进DOS
-D 显示储存器内容 -E 修改储存器内容 -F 修改储存块内容 -G 按预选断点执行 -H 十六进制加减计算 -I 读\\写输入字节 -L 装入绝对文件或磁盘扇区 -M 定义文件参数 -N 定义文件参数 -O 向端口port发出从指定地址开始的byte个字节数据 -Q 结束调试程序 -R ...

8086存储器的特性是什么?谢谢各位大侠了!!堆栈的特点
存 储器容量很小, 只有几百字节, 没有操作系统, 只有汇编语言。 主要用于工业仪表、 过程 控制。它是以 8 位的微处理器为基础。堆栈是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。要点:堆:顺序随意栈:后进先出(Last-In\/First-Out)...

计算机组织与体系结构 和计算机组成原理的区别
2、属性不同 计算机系统的属性通常是指用机器语言编程的程序员(也包括汇编语言程序设计者和汇编程序设计者)所看到的传统属性。例如指令系统体现了计算机的属性,这是属于计算机的结构的问题。3、指令不同 计算机组织包括指令集、数据类型、存储器寻址技术、I\/O机理等,大都是属于抽象的属性由于计算机有多...

麻烦大神用汇编语言编一下这题---从外部数据存储器的3200H
MOVX @R0,A ;;将资料存放在指定位置 INC R0 ;;储存地址加1 NOT_EQU:DJNZ R7,LOOP1 RET ;;总相同笔数在R0内 好久没写汇编语言了,为了你,重操旧业,一定要采纳!!

arm汇编语言中的寄存器R0~R15和我们C语言操作的寄存器有什么关系...
由翻译器(汇编器 \/ 编译器)和指令解释器(CPU在读到机器指令之后要解释这个机器指令是什么意思,指令解释器是内嵌在CPU里面的)来决定这究竟对应于硬件的什么东西 对于程序员而言,不管是“寄存器”还是“变量”都可以理解成可以存储数据或者读取数据的“储物柜”而已 ...

汇编语言中的堆栈段指针是干什么的
系统显示某某程序Access Violation Reading Address(因为程序内存的顶端上有着其他数据)。需要注意的是,在较新的操作系统下汇编其平台下的程序时,程序员将无法修改段寄存器中的值(修改会报错),它们由操作系统自身管理(可以理解为由操作系统编写者的代码管理),其原因是出于安全起见。

恩施市17646401986: 汇编语言中,存储器和寄存器的区别 -
寇杨阿奇: 寄存器B是特殊功能寄存器,地址是F0H Rn是工作寄存器.地址是00H~1FH

恩施市17646401986: 汇编语言的AX,BX,CX,DX,分别表示什么 -
寇杨阿奇: AX寄存器称为累加器(Accumulator),使用时主要用于存放数据,如存放算术、逻辑运算中的操作数或结果.也可临时时用于存放地址. BX寄存器称为基址寄存器(BaseRegister),常用来存放访问存储器时的地址. CX寄存器称为计数寄存...

恩施市17646401986: 汇编语言中的操作数寻址方式问题.存储器和寄存器问题?高手请进 -
寇杨阿奇: 首先内存和寄存器都是可以存放数据的 而寄存器是就那么几个,不可能把所有数据都放在寄存器里 寄存器里面是有值的,如果直接丢给CPU运算,就是寄存器寻址.如果把寄存器里面的数当作地址编号,跟据编号在内存里找到另一个数,就是存储器寻址.CS,DS,ES,SS是CPU的寄存器 MOV AX,DS 都是寄存器寻址方式(它们本身都有值).MOV AX,[2000] 这个指令有两种寻址方式 AX表式寄存器寻址方式,[2000]表示直接寻址方式(存储器寻址方式的一种) 反正只要带上中括号的全是存储器寻址方式,而寄存器寻址就只有一种(例如:AX)

恩施市17646401986: 8086 中所谓的寄存器是用AX BX SI DI 这类的表示,那么存储器又是用什么符号表示的呢 -
寇杨阿奇: 那要看寻址方式了,一般外面加个方括号的都代表存储器寻址例如【1000h】 【bx】 【di】 等等...

恩施市17646401986: 汇编存储器与寄存器
寇杨阿奇: 你说的是DEBUG的D命令吧?那个D命令在默认的情况下只显示128个内存单元,不是存储器只有128个内存单元,D命令显示的内存只是系统内存的一小部分 关于那个显示方式XXXX:XXXX表示的是每一行的第一个内存单元的地址 那个D命令显示出来的00占一个字节

恩施市17646401986: 关于汇编语言:请问[BX]、[DI]等在编写程序时表示地址呢还是存储单元的内容,去掉括号呢,说清楚些,搞混 -
寇杨阿奇: [BX]、[DI]都是寄存器间接寻址,前者是寄存器基址寻址,后者是寄存器变址寻址,它们指出操作数存于这个寄存器指定的内存单元中.若去掉方括号,则表示寄存器直接寻址,表示操作数在指定的寄存器中,不涉及内存储器.两者概念清晰,绝无混淆.

恩施市17646401986: 汇编语言中什么是基址变址寄存器? -
寇杨阿奇: 基址寄存器:寄存器BX称为基地址寄存器(Base Register),它可作为存储器指针来使用.变址寄存器:32位CPU有2个32位通用寄存器ESI和EDI.其低16位对应先前CPU中的SI和DI,对低16位数据的存取,不影响高16位的数据.寄存器ESI、EDI、SI和DI称为变址寄存器(Index Register),它们主要用于存放存储单元在段内的偏移量,用它们可实现多种存储器操作数的寻址方式,为以不同的地址形式访问存储单元提供方便.变址寄存器不可分割成8位寄存器.作为通用寄存器,也可存储算术逻辑运算的操作数和运算结果.它们可作一般的存储器指针使用.在字符串操作指令的执行过程中,对它们有特定的要求,而且还具有特殊的功能.

恩施市17646401986: 汇编语言的基本数据类型
寇杨阿奇: 汇编语言所用到基本数据类型为:字节、字、双字等这些数据类型在以后章节中都有相应类型介绍说明符下面对它们进行最基本描述 1、字节 个字节有8位 2进制组成其最高位是第7位最低位是第0位如右图所示在表示有符号数时最高位就是符号...

恩施市17646401986: 汇编中 存储器地址中“B0000H”的“B”是什么意思 -
寇杨阿奇: B指令 B指令的格式为: B{条件} 目标地址 B指令是最简单的跳转指令.一旦遇到一个 B 指 令,ARM 处理器将立即跳转到给定的目标地址,从那里继续执行.注意存储在跳转指令中的实际值是相对当前PC值的一个偏移量,而不是一个绝对地址,它的值由汇编器来 计算(参考寻址方式中的相对寻址).它是 24 位有符号数,左移两位后有符号扩展为 32 位,表示的有效偏移为 26 位(前后32MB的地址空间).以下指令: B Label ;程序无条件跳转到标号Label处执行 CMP R1,#0 ;当CPSR寄存器中的Z条件码置位时,程序跳转到标号Label处执行 BEQ Label

恩施市17646401986: 汇编语言语言里寄存器表示中的"[ ]""( )"是什么含义?有什么区别? -
寇杨阿奇: "[ ]""一般是偏移地址,,里面可以是寄存器也可以是数值,比如mov ax,[1],其中1是偏移地址,段地址一般默认在ds中,表示将段地址为ds,偏移地址为1的那个内存单元的内容送到ax寄存器中,大小当然为一个字节 "( )"一般表示一个寄存器或一个内存单元的内容,比如(ax)表示ax寄存器中的内容,(al)表示al寄存器中的内容,(10000)表示内存单元为10000里面的内容,及地址为10000里面的内容我也刚学的,讲的不好别见怪啊

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网