汇编语言中MOV时和如何使用,急 求助汇编语言中mov指令和add指令用法

2021-03-11 06:02:42 字数 2112 阅读 3366

1楼:匿名用户

#后面跟的是立即数,@则代表着间接寻址,比如:

mov a,#30h

mov a,30h

第一句是将30h也就是48这个数送给版累加器a

第二权局是将ram地址30h中的数送给累加器a

@的用法有以下几种:

mov @r0,a ;也可以是r1,将a的值送入r0(r1)值所代表的ram地址

mov a,@r0 ;也可以是r1,r0(r1)值所代表的ram地址值送入a

movx @r0,a ;也可以用r1,将a送入r0(r1)值所代表的外部ram地址

movx a,@r0 ;也可以用r1,读取r0(r1)外部地址的值

movx @dptr,a ;将a送入外部地址中

movx a,@dptr ;读取外部地址值入a

movc a,@a+dptr ;读rom中的值

2楼:乱七胡说八糟乱想

不知你指的bai这二个符号是在什么机器

du上用的zhi时候。如是在51单片机中用它们都dao有准确的名字,专# 号叫立即符,它

属表示它后跟的是一个立即数,这个数是死的,写程序时就固定了,不可变的了。@号叫间接符,实际上的意思就是指它后跟的是一个地址指针,内的数是一个地址,操作时只是对这个地址内的数进行操作。我这样说不知你明白没有?

那不清楚再追问。

3楼:王敏郭浩

传送中怎么会出现#和@呢

急~~~求助汇编语言中mov指令和add指令用法

4楼:匿名用户

1、linux和windows的**编写是不一样的,linux上的汇编风格是at&t风格,而windows上的汇编风格是intel风格。 其中的一个区别是intel 风格是关于源操作数和目的操作数的。以第一个为例

//windows上的写法

mov eax, data4

//linux上的写法

movl data4, eax

所以,你使用的哪个平台你得闹明白。

2、如果是汇编**,直接用标识符就好,还是不同的风格问题,如果按你写的立即数模式。

//windows上的写法

mov eax, -1000

//linux上的写法

movl $-1000, eax

在linux的at&t汇编风格中,它这个立即数是必须要加上$ 表示一个常量。 这个也是为什么你在c语言中一般不能使用$来做为标识符的一个原因哦。

建议:查一下intel风格和at&t风格的汇编区别点。问题都很简单,为了更好的帮助你,我上传了一份,详细介绍intel汇编语言程序设计的电子书,中文版的,希望能帮到你!

汇编语言mov指令是什么?

5楼:匿名用户

在汇编语言中,mov指令是数据传送指令,也是最基本的编程指令,用于将一个数据从源地址传送到目标地址(寄存器间的数据传送本质上也是一样的)。其特点是不破坏源地址单元的内容。

例如:mov ax,2000h;将16位数据2000h传送到ax寄存器

mov al,20h;将8位数据20h传送到al寄存器

mov ax,bx;将bx寄存器的16位数据传送到ax寄存器

mov al,[2000h];将2000h单元的内容传送到al寄存器

需要注意的是:

(1)两个存储单元之间不能直接传送数据,即:mov指令只允许一个操作数在存储器中。mov [si],[2000h];这是错误的

(2)mov指令中立即数不能直接传送给段寄存器(cs、ds、ss、es)和ip;段寄存器之间不能直接传送。mov ip,2000 h ;这是错误的

(3)cs和ip不能作为目的操作数。mov cs,ax ;这是错误的

(4)mov指令中立即数不能作目标操作数。mov 2000h,[si] ;这是错误的

6楼:疏罡绪暖梦

我感觉你有误区。。

计算机必须保证操作运算的对象数据类型是一样的才可以进行正常的操作。。除非有特殊的规定,八位的跟

八位的运算,十六位的跟十六位的运算。。。本身第二句就是错了,第三句也没

有理由是完全正确的你说呢?

汇编中的dec指令是什么指令,汇编语言中的DEC是什么意思?

1楼 魔界刺客 dec a 14 a减1 dec rn 18 1f 寄存器减1 dec dircet 15 dircet 直接字节减1dec ri 16 17 间接ram减1 汇编语言中的dec是什么意思 2楼 凌乱心扉 dec decrement 减1指令 格式 dec opr byte word...

跪求,用简便方法算平均数,汇编语言计算平均数 急求。。跪求各位高人指点。。

1楼 天高飞 再一堆数中找到众数或接近平均的数,然后各数和此众数相减,将差值累加起来,在除以个数,得到的结果再加上此众数,就是平均数了。 2楼 匿名用户 这是我个人的方法,希望对你有用。算一列数的平均数,所有大的依次减去最小的数,然后把结果加起来,再除以这列数的个数,然后在加上最小的。就是平均数。 ...