汇编语言 怎么把al的值放到ax里

如题所述

AL本身是AX的一部分。所以,你的问题实际上是如何将AL中的8位数扩展成16位。

如果AL中的数是无符号数,那么,只需要将AH清零就可以了。
这需要一条指令: MOV AH, 0
改用SUB AH, AH 或者XOR AH, AH也同样可以达到目的。

如果AL中的是有符号数(补码数),则扩展成16位需要采用符号扩展的方法,若是正数要将AH清零,若是负数则要将AH中的8位全部置1
这可以通过一条指令实现:
CBW
这条指令是的作用就是将AL中的8位有符号数扩展成16位的有符号数。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-12-09
一条指令即可,cbw

汇编语言 怎么把al的值放到ax里
AL本身是AX的一部分。所以,你的问题实际上是如何将AL中的8位数扩展成16位。如果AL中的数是无符号数,那么,只需要将AH清零就可以了。这需要一条指令: MOV AH, 0 改用SUB AH, AH 或者XOR AH, AH也同样可以达到目的。如果AL中的是有符号数(补码数),则扩展成16位需要采用符号扩展的方...

汇编语言如何交换al寄存器中某两位?
在汇编语言中,可以使用XCHG(Exchange)指令来实现两个寄存器或内存单元的交换。该指令的语法格式为:XCHG destination, source,其中destination表示目的地操作数,source表示源操作数。例如,如果要交换AX寄存器中的低8位AL和次低8位AH,则可以使用以下指令:```XCHG AL, AH ```执行该指令后,AL和AH...

汇编语言中OUT和IN的用法
读端口用IN指令,写端口用OUT指令。例子如下:IN AL,21H;表示从21H端口读取一字节数据到AL IN AX,21H;表示从端口地址21H读取1字节数据到AL,从端口地址22H读取1字节到AH MOV DX,379H IN AL,DX ;从端口379H读取1字节到AL OUT 21H,AL;将AL的值写入21H端口 OUT 21H,AX;将AX的值写入端口地...

汇编语言中 OUT DX,AL 指令操作过程是什么? OUT操作码实现的功能是什么...
功能为把AL\/AX的数据送到IO地址,IO地址如果大于FFH,则地址需要放入DX,要输出字节,默认使用AL寄存器,要输出字,默认使用AX寄存器。例如:MOV AL,10H \/\/(将字节10H 从 I\/O端口70H 输出)OUT 70H,ALMOV AX,0010H \/\/(将 字0010H 从I\/O端口37FH 输出。)MOV DX,37FH OUT DX,AX ...

汇编语言中LEA,AX,AL,BX等等什么意思
) AX,AL(CPU的16位数据寄存器AX,运算时将操作数从内存取出放入寄存器进行计算AX保存16位2进制数 AX也可分为两个8位寄存器 AH,AL 分别为高8位和低8位)即把AL的偏移地址送入AX寄存器,BX,BL,DI都是寄存器,汇编里面必会的,在MASM5.0环境下运行 汇编语言是汇编指令集、伪指令集和使用它们规则...

如何用汇编语言编写将一个数组里的数据复制到另一个空的数组
该程序把buffer1中的'assembly'传到了附加段中的buffer2 需要注释可以留言给我。DATAS SEGMENT BUFFER1 DB 'assembly'DATAS ENDS EXTRA SEGMENT BUFFER2 DB 8 DUP(?)EXTRA ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,ES:EXTRA START: MOV AX,DATAS MOV DS,AX MOV AX,EXTRA MOV ES,AX LEA...

汇编语言中,关于mov ax,[bx] 和mov al,[bx]的一些疑惑。
mov ax,[bx]将ffff:0中和ffff:0001中的值一起放到ax中 mov al,[bx]将ffff:0放到al中

如何用汇编语言求AX中数的绝对值,并存AX中
你说一个思路,如果AX的最高位是0,则AX的内容就是它的绝对值,如果AX的最高位是1,那么就把AX按位取反,末尾+1,就得到了AX的绝对值 ---Solutions--- so easy code segment assume cs:code start: and ax,0111111111111111b mov ah,4ch int 21h code ends end start ---Solutions--- ...

汇编语言中MOV AX与MOV AL的区别在哪里?
1、MOV AL,[BX]:MOV AL,[BX]的传送目的为将内存[BX]里存放的内容传送到AL寄存器去。2、MOV [BX],AL:MOV [BX],AL的传送目的为将AL寄存器里存放的内容传送到内存[BX]去。三、地址类型不同 1、MOV AL,[BX]:MOV AL,[BX]指向的地址类型是逻辑地址。2、MOV [BX],AL:MOV [BX],AL指向...

汇编语言程序设计
MOV AL,'A' \/\/要查找的字母A放入AL中 CLD\/\/清除方向标志位 REPNE SCASB\/\/以上都是指令REPNE SCASB的指令要求。。。可以参考该指令用法,作用是不相等则重复比较 JZ FOUND \/\/有条件跳转转移 CX为零则执行标号FOUND处的指令 MOV DI,00H\/\/赋值DI为00H FOUND: MOV BX,DI\/\/DI值赋给BX HLT\/\/...

相似回答