汇编语言中BX与BL.BH的有什么关系?

作者&投稿:裔废 (若有异议请与网页底部的电邮联系)
汇编语言是一种( )~

汇编语言是一种面向机器的程序设计语言。
汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。

扩展资料
1、汇编语言和机器语言的关系:机器语言是一种数字语言,只有计算机的处理器(CPU)才能理解它。汇编语言同机器语言是一对一的关系:一条汇编指令对应一条机器语言指令。
2、汇编语言和高级语言C++、java等的关系:C++、java等高级语言与汇编语言和机器语言之间是一对多的关系。一条简单的C++语句会被扩展成多条汇编语言或机器语言指令。
3、汇编语言应用场景:需要高度优化的程序、一些驱动程序、一些嵌入式程序等。
参考资料来源:百度百科-汇编语言

汇编语言是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。
比起机器语言,汇编语言具有更高的机器相关性,更加便于记忆和书写,但又同时保留了机器语言高速度和高效率的特点。
汇编语言仍是面向机器的语言,很难从其代码上理解程序设计意图,设计出来的程序不易被移植,故不像其他大多数的高级计算机语言一样被广泛应用。所以在高级语言高度发展的今天,它通常被用在底层,通常是程序优化或硬件操作的场合。



扩展资料:
在许多程序的设计当中,高级语言和汇编语言可以相互交叉调用,进行参数传递,共享数据信息,这便是所谓的混合编程。
程序员往往在高级语言程序中直接嵌入汇编语句,以实现对硬件直接进行控制的功能,这是混合编程中常见的做法。也可以在高级语言程序中使用汇编语言中定义的变量和常量,或使用内部函数对汇编语句进行调用。
简而言之,这类混合编程的方法可以让高级语言与汇编语言互相取长补短,各自发挥各自优势,同时减少各自缺点所带来的不便,善用这个方法可以使开发和编程工作达到事半功倍的效果。

从功能上来讲,BX,BH,BL三个是相互独立的寄存器,其中BX是十六位的寄存器,而BH,BL都是八位的寄存器,功能上来看互不相干。但是从位置上来看,BH恰好是BX的高八位,BL则是其低八位。所以三者关系的特殊性应该只是体现在他们的位置上。实际应用中应该把BL,BH看作八位寄存器,把BX看作十六位寄存器。

要注意的是,由于这三者位置的特殊性,BX任意时刻的内容都=高八位BH,第八位BL

BX是一个16位的寄存器,也就是说BX是两字节,而BX的这两个字节分别是BH和BL,BH是高字节,BL是低字节。换句话说,BH是BX的高8位,BL是BX的低8位!

如果BX寄存器是n位的,n是2的指数次幂,那么BL是BX寄存器的低n/2位,BH是BX的高n/2位。比如如果BX是8位的,BL就是低四位,BH就是高四位。


几个汇编语言问题.高手帮忙解答下..
1.MOV [SI],'A';有错,应该指定内存的属性为字节,改为MOV BYTE PTR [SI],'A'2.MOV AL,BX;有错,类型不匹配,AL为8位,BX为16位 3.MOV BL,SI+2;有错,应该改为MOV BL,[SI+2]4.INC [BX];正确 5.MOV 256,AL;有错,立即数256不能作为目的操作数 6.MOV AX,BYTE PTR ALFA;...

汇编的编程题
;第1题 计算bl乘以20 ;将乘积结果存放在bx中 mov bh,0 mov ch,0;记录移位次数 mov al,20 s1:shr al,1;把al中内容逻辑右移一位 test cf,1 jz s2;cf为0的话直接跳到s2 mov cl,ch sal bx,cl s2:inc ch cmp ch,8 jnz s1 ret;结束,乘积结果放在bx中 ;第2题 传输字符 code ...

请问汇编语言 这道题是什么思路?al bl ah bh 这是什么意思? 还有怎么...
al属于低位累加器,ah属于高位累加器,bl属于低位基址寄存器,bh属于高位基址寄存器,h表示十六进制数 mov ax,001AH \/将001a存入ax中,此时al为1A,ah为00 mov bx,0026H \/将0026存入bx中,此时bl为26,bh为00 add al,bl \/求al+bl,结果存入al中,al=40 add,ah,bl \/求ah+bl,...

关于汇编语言的改错题 ,,,要考试勒 急...
1. ADD AX , BL 错误 8位不能加16位寄存器 2. MOV [ BX+Di ] , String 错误 内存之间不能直接传送数据 3. XCHG DX ,100H 没学 4. XCHG AX ,7BH 5. MOV [BX] , 78H 错误 需要byte ptr 6. OUT 200H ,AL 错误 al最大为255=FFH 7. ...

编写8086汇编语言程序,将寄存器BX的高8值传送到寄存器DH,低8位传 ...
8086是16位的,你问的应该是把BH(或者BL)的低八位和高八位分别送至DL和DH之中吧,下面我就举例把BH的高八位送至DH,低八位送至DL,(假如你想把BL拆分的话,只要把BH换为BL就可以了)只写主要部分给您,其他的不写 MOV AH,BH AND BH,0F0H MOV DH,BH AND AH,0FH MOV DL,BH 假如你真...

汇编问题,MOV BX, [1234H] 是将1234H这个地址赋给BX,还是将存放1234H值 ...
MOV BX, [1234H] 不是将1234H这个地址赋给BX。而是将数据段中有效地址为1234H的存储器单元的内容(操作数)送给寄存器BX的低8位字节BL;将将数据段中有效地址为1235H的存储器单元的内容(操作数)送给寄存器BX的高8位字节BH。是数据字传送。可以表示成: (1234H)--->(BX)呵呵 满意 ...

汇编语言abb bx,0指令是什么意思?
没有 abb 指令,应该是 sbb 指令,用来进行高位字的减法计算。sbb bx, 0 是带借位标志(c标志)的减法计算。通常可能是这样:sub ax, dx sbb bx, 0 ax 中放置被减数的低16位,bx 中存放被减数的高16位, 而减数只是一个16位数。

XOR BX,BX MOV BL,AL MOV AX,TAB[BX*2]\/\/为什么这里会报错,而如何用EB...
MOV AX,TAB[EBX*2]\/\/正确!MOV XXX,AX 从这几句看出你在编写32码段(即32位地址),MOV XXX,AX,其中下XXX应为地址。另外MOV AX,TAB[EBX*2]\/\/正确!说明编译器支持。3、XOR BX,BX MOV BL,AL MOV AX,TAB[BX*2]报错说明编译器不支持。--- 页635--- MOV—传送 操作码 指令 6...

汇编语言MOV AH,[BX]是什么意?
汇编语言中的MOV AH,[BX]是一条指令,它的意思是将内存地址为BX的内存单元中的值赋给寄存器AH。具体来说,这条指令的操作是将内存地址为BX的内存单元中的值读取到AH寄存器中。在x86汇编语言中,寄存器AH和BX都是通用寄存器,可以存储各种数据类型的值。内存单元则是计算机中存储数据的物理内存位置,...

汇编语言中ebx和bx的区别是什么?
ebx寄存器是32位 而且比 是BX的两倍 在80386以上的指令集才可使用EBX EBX是一个32-bit寄存器。同时,它的低16-bit又可以通过BX这 个名字来访问;BX又被分为高、低8bit两部分,分别由BH和BL来表示。80386是Intel推出的第一款IA-32系列处理器,所有的寄存器都被扩充为32位。为了 能够兼容以前的16...

兴仁县19412871208: 汇编语言中BX与BL.BH的有什么关系? -
察山先倍: 从功能上来讲,BX,BH,BL三个是相互独立的寄存器,其中BX是十六位的寄存器,而BH,BL都是八位的寄存器,功能上来看互不相干.但是从位置上来看,BH恰好是BX的高八位,BL则是其低八位.所以三者关系的特殊性应该只是体现在他们的位置上.实际应用中应该把BL,BH看作八位寄存器,把BX看作十六位寄存器.要注意的是,由于这三者位置的特殊性,BX任意时刻的内容都=高八位BH,第八位BL

兴仁县19412871208: 基址寄存器和变址寄存器有什么区别?
察山先倍: 基址寄存器(BX),由BH,BL组成,常用来存放访问内存时的基地址或用做间接寻址时的地址寄存器.还有基址指针寄存器(BP). 变址寄存器分为源变址寄存器(SI)和目的变址寄存器(DI),他们常常用在变址寻址方式中.

兴仁县19412871208: 汇编语言中ebx和bx的区别是什么? -
察山先倍: ebx是32位,是bx的2倍.8086汇编中只有bx 在32位汇编中有ebx

兴仁县19412871208: 汇编语言中寄存器的英文全称 -
察山先倍: AH&AL=AX(accumulator):累加寄存器 BH&BL=BX(base):基址寄存器 CH&CL=CX(count):计数寄存器 DH&DL=DX(data):数据寄存器 SP(Stack Pointer):堆栈指针寄存器 BP(Base Pointer):基址指针寄存器 SI(Source Index):源变址寄存器...

兴仁县19412871208: 求汇编语言中表示循环次数的指令 -
察山先倍: 汇编语言中表示循环次数的指令是什么?用dx存放循环次数,这里是50,你也可以用其他的寄存器,比如bx,bl,bh,都可以,或者自己定义:db count 50 定义一个字节名字为count,在用dec或者inc指令控制.用dec实现自减一,不为零则跳转到step1

兴仁县19412871208: 请问汇编语言 这道题是什么思路?al bl ah bh 这是什么意思? 还有怎么计算啊? -
察山先倍: 这几条汇编指令其实并没有完成任何结构性的功能,最多只是给学习者演示一下CPU寄存器在汇编指令的执行过程中如何变化,如何运算而已,故谈不上什么思路. AL:AX寄存器(16位寄存器)的低位字节; BL:BX寄存器(16位寄存器)的低...

兴仁县19412871208: 汇编语言每个专有名词的意思是什么啊? -
察山先倍: 8个通用寄存器: 数据寄存器:AX,BX,CX,DX 指针寄存器:SP(堆栈指针),BP(基址指针) 变址寄存器:SI(原地址),DI(目的地址) 1、通用寄存器 数据寄存器,指针寄存器和变址寄存器统称为通用寄存器.这些寄存器除了各自专门...

兴仁县19412871208: 汇编语言: MOV ES,BX MOV BX,80H MOV CL,ES:[BX] 是什么意思? -
察山先倍: 第一条ES是附加段寄存器,具体意思是把BX中的值赋给ES, 第二条是把80H这个值赋到BX这个寄存器中, 第三条是把内存单元(段地址在ES中,偏移地址在BX中)的值赋给CL(8位) PS:不同的CPU都会有不同的汇编指令,我的是按照8086来说的,上头的CL我给你细说一下 8086是16位机,8088是8位机,为了兼容8088就把8086的四个寄存器AX,BX,CX,DX分别用 AX,AH表示高八位,AL表示第八位 BX,BH表示高八位,BL表示第八位 CX,CH表示高八位,CL表示第八位 DX,DH表示高八位,DL表示第八位 希望对你有帮助

兴仁县19412871208: 汇编语言中LEA,AX,AL,BX等等什么意思 -
察山先倍: LEA AX,AL即把AL的偏移地址送入AX寄存器,BX,BL,DI都是寄存器,汇编里面必会的,在MASM5.0环境下运行

兴仁县19412871208: 汇编语言MOV BX,00FFH,执行完后BL的内容是什么? -
察山先倍: BH=00h BL=FFh

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