‘壹’ 汇编语言中LEA,AX,AL,BX等等什么意思
这几个汇编语言LEA(由编译器计算出data变量的地址,然后替换掉指令中出现data变量标识
) AX,AL(CPU的16位数据寄存器AX,运算时将操作数从内存取出放入寄存器进行计算AX保存16位2进制数 AX也可分为两个8位寄存器 AH,AL 分别为高8位和低8位)即把AL的偏移地址送入AX寄存器,BX,BL,DI都是寄存器,汇编里面必会的,在MASM5.0环境下运行
汇编语言是汇编指令集、伪指令集和使用它们规则的统称,使用具有一定含义的符号为助忆符,用指令助忆符、符号地址等组成的符号指令称为汇编格式指令。
汇编语言是一门重要的程序设计语言。下面列举了至少4本名叫《汇编语言》的图书和教材,并简要介绍了高校计算机相关专业在开设“汇编语言”课程方面的一些情况。
不知道你用什么芯片,这里就拿计算机的汇编来演示一下怎么算吧
因为单片机没有乘法运算,所以不能用乘法指令,但是我们可以用移位指令实现
mov al,31h
mov ah,30h
shl al,1 ;左移一位
rcl ah,1 ;带进位循环左移
这样就可以了,因为单片机都是8位的寄存器,所以我也用8位来演示,命令你可以对照你的芯片的命令稍作改变就可以了,左移一位就是乘 2
‘叁’ 将AL寄存器的内容乘以2,用合适的指令完成!
应该是SHL AL
即左移一位
则每一位的权都乘了2
最高位则进入了进位位CF
我们刚学了微机原理,这是典型的题,很常见。
希望对你有帮助。
‘肆’ 汇编语言 (AL)=08H-09H=FFH 这个FFH是什么怎么来的
FFH是08H减09H的运算结果,放在AL寄存器中。
用二进制表示,08H=0000 1000B,09H=0000 1001B
以下讨论二进制,0000 1000 - 0000 1001,从最低位算起,0-1,小数减大数,借上位1,则10-1=1,上位本为0,被借1后也变为1,该位1-0,得1,依次计算,最后得1111 1111B,即FFH,同时最高位还向其上位借了1,但数据存在AL中,AL只有8位,因此该借位的1 没有表示出来。
‘伍’ 在汇编中将AL寄存器清0、将AL寄存器高2位清0分别是用什么指令实现的
1、AND AX,0FF00H。
2、AND AX,0FF3FH。
指令是计算机能够识别和执行的操作命令,由二进制数“0”、“1”组成。每条指令的编码格式由机器指令系统规定。通常,一条指令包含操作码和操作数两部分内容。
操作码用来说明指令操作的性质与功能,常用OP表示。操作码是指令中不可缺少的部分,通常由1~2个字节组成,机器通过译码电路来识别指令。操作数用于提供指令中要处理的数据或数据所在的地址信息。
(5)单片机中al运算扩展阅读:
算数运算类指令包括加减乘除、比较与调整指令。可进行8位、16位和32位的运算。参加运算的操作数可以说二进制数和十进制数(BCD码),这些数可以是无符号数,也可以是带符号数。算术运算指令的主要特点是执行结果影响标志寄存器的状态标志位OF、SF、ZF、AF、PF、CF。
ADD: 加法。
ADC: 带进位加法。
INC: 加 1。
AAA: 加法的ASCII码调整。
DAA: 加法的十进制调整。
SUB: 减法。
SBB: 带借位减法。
DEC: 减 1。
NEG: 取补。
CMP: 比较。(两操作数作减法,仅修改标志位,不回送结果)
AAS: 减法的ASCII码调整。
DAS: 减法的十进制调整。
‘陆’ 汇编语言 mov [ebp+49],al 是什么意思 ,尤其是 al
MOV这个指令是传输数据的。那么传输数据,肯定有源和目标。源和目标有哪些表示方法呢,想一下这个就明白了。
在CPU内部运算过程中,数据无非放到内存或者寄存器中。放在内存中就要指明内存的地址,放在寄存器中用寄存器的名字表示。
实例
MOV [epb+48],al
例中的 [ebp+48]是内存地址,由一个变量EBP加一个常量48所得
例中的al,是寄存器名。
本例意思是,把寄存器AL中的数据,送到地址为epb+48的内存中
‘柒’ 微机原理的逻辑运算问题,MOV AL,75H and al,32H 为什么AL=30H解释详细点
MOV AL,75H 后Al=01110101
and al,32H 即AL中的01110101和00110010作与运算结果送回AL,根据与运算法则A*B,有0出0,全1出1,竖式如下
01110101
&00110010
=00110000
所以最后结果AL=00110000,即30H
‘捌’ 汇编中“al”是什么意思
意思是汇编语言。