初学汇编。。
ASSUME CS:CODE
CODE SEGMENT
MOV AX,0FFFFH
MOV DS,AX ;DS=0FFFF
MOV BX,0
MOV CX,12 ;循环次数
MOV DX,0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;HERE
LP: MOV AL,[BX]
MOV AH,0
ADD DX,AX
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;HERE ENDS
INC BX ;BX=BX+1
LOOP LP
MOV AX,4C00H
INT 21H
CODE ENDS
END
为什么在我标记的地方,为什么要把DS:[BX]的值赋给AL,
然后为什么又把AX赋给DX,直接DS:[BX]给AX不行吗
那什么时候应该赋给低八位什么给高八位?谢谢
汇编语言中ah和AH代表什么?
ah和AH是一个意思,只是大小写区分 意思是AX(16位)寄存器的高八位,低八位是AL寄存器\/al 逻辑运算 这部分指令用于执行算术和逻辑运算,包括加法指令ADD\/ADC、减法指令SUB\/SBB、加一指令INC、减一指令DEC、比较操作指令CMP、乘法指令MUL\/IMUL、除法指令DIV\/IDIV、符号扩展指令CBW\/CWDE\/CDQE、十进制调...
汇编语言 AX, AL 是什么意思?
AX是16位寄存器累加器,可分成AH、AL两个8位寄存器单独使用 AL是8位寄存器累加器,因为这样可以向下兼容8位程序,BX、CX、DX也一样,字母H就是高HIGH,字母L代表低LOW
汇编语言中寄存器AL有什么作用
汇编语言中寄存器AX和AL通常称为累加器(Accumulator),用累加器进行的操作可能需要更少时间。累加器作用:用于乘、除、输入\/输出等操作,使用频率很高。
汇编中ax与a区别
是不一样的。ax 与a虽然都是累加器。但ax是16位cpu中的累加器,占16位,两个字节,可分为高低字节两部分,即ah和al。a是单片机中的累加器,占8位,一字节,可以进位寻址。这两个寄存器在使用中功能有很大的区别,你仔细看看单片机中的寻址指令就应该差不多能区分出来。
汇编语言中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环境下运行 汇编语言是汇编指令集、伪指令集和使用它们规则...
高八位低八位怎么计算
根据汇编语言,AX为16位寄存器,AH和AL分别为AX的高八位和低八位,AX=AHAL,AH=0AF,AL=07B,故AX=0AF7BH。二进制依次是2的(n-1)次幂,第16位为2的15次幂,将各位数(1或0)依次乘以所对应的幂,加起来就可以。
汇编语言 or ah,al 意义
ah, al就是高位和低位进行or运算将结果高存在ah里面 计算得到的结果就是 ax = 3634h or会改变一些标志寄存器的值-除了运算有的时候也会被当做判断使用 例如 cmp al, 0就可以写作 or al, al-比较短小精悍 cmp eax, eax=or eax, eax 之类的可以参考一下。《Intel汇编语言程序设计》等书籍 ...
汇编语言 假如AX是123h那么ah和al是多少?
ebx是32位的,bx是16位的,所以要把12345h分成高、低两部分,以16进制的角度来说就是两个4位(等价于2进制的16位)。即 12345H = 0001 2345H bx装低位,就是2345H。把这种问题扩展到64位也是一样的,此时使用rbx这个64位的寄存器。以上以intel的小尾处理器为例,具体问题要具体分析。
汇编语言中,CBW指令有何功能?
AL符号扩展为AX。在8086中CBW指令将AL的最高有效位D7扩展至AH,即:如果AL的最高有效位是0,则AH = 00,AL的最高有效位为1,则AH = FFH。AL不变。(即将AL的符号位移至AH)CBW属符号扩展指令,它可以把8位扩展到16位,扩展前后两数的真值不变,主要用于数据类型不同时用符号扩展指令可以使得...
x ax是什么意思?
如al, ah, bl, bh等,它们分别表示ax寄存器的低字节和高字节。现代处理器已经发展了各种各样的指令集,并且有更多的寄存器可供使用,但ax寄存器仍然有其重要性。很多计算机程序仍然使用它来进行一些基本的操作,在程序设计的时候如果你想要编写汇编语言程序,了解ax寄存器的用法是至关重要的。