社区
汇编语言
帖子详情
有关BX,CX组合使用的问题~~~~
skystar2001
2003-10-18 12:15:42
一般在做双字长运算是把DX和AX组合在一起放一个双字长数,DX用来 存放高字位,AX用来存放低字位。
现在的问题是,BX和CX有没有在一起组合使用的情况?一般什么时候用呢?
哪个用来 存放高字位,哪个用来存放低字位??
还有EBX,ECX?
谢谢大家~~~~~
...全文
144
3
打赏
收藏
有关BX,CX组合使用的问题~~~~
一般在做双字长运算是把DX和AX组合在一起放一个双字长数,DX用来 存放高字位,AX用来存放低字位。 现在的问题是,BX和CX有没有在一起组合使用的情况?一般什么时候用呢? 哪个用来 存放高字位,哪个用来存放低字位?? 还有EBX,ECX? 谢谢大家~~~~~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
skystar2001
2003-10-19
打赏
举报
回复
谢谢啦~~~
SnHnBn
2003-10-18
打赏
举报
回复
我的记忆中好像没有BX和CX合用的情况。
BX做基址效率比较高,CX适合做循环计数(包括+1 -1)
AX和DX因为一个是累加器一个是数据寄存器,所以比较适合组合表示双字,乘法指令常用。除法也用到这两个。
Aofa_lee
2003-10-18
打赏
举报
回复
EBX和ECX都是32位的.
你想用那个就是那个了嘛!
DX和AX都是默认得而已!
汇编设计小实验——小鸟和小车的移动
注释如下: 1.draw1: call clear call bird;调用小鸟子程序 这两句与下文与之对应的小车程序 部分为此程序动画实现的核心。动画的实现是先调用一次清屏,清除到屏幕当前帖,并调用一次重新绘图(call bird,call car),显示图形下一帖,以达到动画的效果。 2.这部分是控制物体运动方向的,按方向键的上、下、左、右可控制物体相应的移动。如: cmp al,48h;是否为向上 jnz draw_d1 dec dx jmp draw1 若按的方向键上键,行位置dx减少1,即在初始位置dx,64h;
cx
,0a0h的基数上,dx减1即为63h.在新的基数上,执行draw ,即清屏,重新绘图。 3.绘图子程序,图形都是由像素构成的,确定像素显示的位置,再调用一次BIOS输出。如下: mov
bx
,5 heng1:inc
cx
;像素初始行位置dx,列位置
cx
确定的前提下,增加或减少dx,
cx
的值,可显示另一个像素,一个像素的
组合
,即形成图形。 int 10h ;调用bios中断输出这个像素。 dec
bx
jnz heng1 第一句mov
bx
,5是用循环控制输出的次数。即在同一行上输出5个像素,构成一行。
汇编语言复习资料——设计性实验
有PPT说明,有益与理解,方便学习。注释如下: 1.draw1: call clear call bird;调用小鸟子程序 这两句与下文与之对应的小车程序 部分为此程序动画实现的核心。动画的实现是先调用一次清屏,清除到屏幕当前帖,并调用一次重新绘图(call bird,call car),显示图形下一帖,以达到动画的效果。 2.这部分是控制物体运动方向的,按方向键的上、下、左、右可控制物体相应的移动。如: cmp al,48h;是否为向上 jnz draw_d1 dec dx jmp draw1 若按的方向键上键,行位置dx减少1,即在初始位置dx,64h;
cx
,0a0h的基数上,dx减1即为63h.在新的基数上,执行draw ,即清屏,重新绘图。 3.绘图子程序,图形都是由像素构成的,确定像素显示的位置,再调用一次BIOS输出。如下: mov
bx
,5 heng1:inc
cx
;像素初始行位置dx,列位置
cx
确定的前提下,增加或减少dx,
cx
的值,可显示另一个像素,一个像素的
组合
,即形成图形。 int 10h ;调用bios中断输出这个像素。 dec
bx
jnz heng1 第一句mov
bx
,5是用循环控制输出的次数。即在同一行上输出5个像素,构成一行。
OD反汇编语言解释.doc
32位CPU所含有的寄存器有: 4个数据寄存器(EAX、E
BX
、E
CX
和EDX) 2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP) 6个段寄存器(ES、CS、SS、DS、FS和GS) 1个指令指针寄存器(EIP) 1个标志寄存器(EFlags) 1、数据寄存器 数据寄存器主要用来保存操作数和运算结果等信息,从而节省读取操作数所需占用总线和访问存储器的时间。 32位CPU有4个32位的通用寄存器EAX、E
BX
、E
CX
和EDX。 对低16位数据的存取,不会影响高16位的数据。 这些低16位寄存器分别命名为:AX、
BX
、
CX
和DX,它和先前的CPU中的寄存器相一致。 4个16位寄存器又可分割成8个独立的8位寄存器(AX:AH-AL、
BX
:BH-BL、
CX
:CH-CL、DX:DH-DL),每个寄存器都有自己的名称,可独立存取。 程序员可利用数据寄存器的这种“可分可合”的特性,灵活地处理字/字节的信息。 寄存器EAX通常称为累加器(Accumulator),用累加器进行的操作可能需要更少时间。可用于乘、 除、输入/输出等操作,
使用
频率很高; 寄存器E
BX
称为基地址寄存器(Base Register)。它可作为存储器指针来
使用
; 寄存器E
CX
称为计数寄存器(Count Register)。 在循环和字符串操作时,要用它来控制循环次数;在位操作中,当移多位时,要用CL来指明移位的位数; 寄存器EDX称为数据寄存器(Data Register)。在进行乘、除运算时,它可作为默认的操作数参与运算,也可用于存放I/O的端口地址。 在16位CPU中,AX、
BX
、
CX
和DX不能作为基址和变址寄存器来存放存储单元的地址, 在32位CPU中,其32位寄存器EAX、E
BX
、E
CX
和EDX不仅可传送数据、暂存数据保存算术逻辑运算结果, 而且也可作为指针寄存器,所以,这些32位寄存器更具有通用性。 2、变址寄存器 32位CPU有2个32位通用寄存器ESI和EDI。 其低16位对应先前CPU中的SI和DI,对低16位数据的存取,不影响高16位的数据。 寄存器ESI、EDI、SI和DI称为变址寄存器(Index Register),它们主要用于存放存储单元在段内的偏移量, 用它们可实现多种存储器操作数的寻址方式,为以不同的地址形式访问存储单元提供方便。 变址寄存器不可分割成8位寄存器。作为通用寄存器,也可存储算术逻辑运算的操作数和运算结果。 它们可作一般的存储器指针
使用
。在字符串操作指令的执行过程中,对它们有特定的要求,而且还具有特殊的功能。 3、指针寄存器 其低16位对应先前CPU中的BP和SP,对低16位数据的存取,不影响高16位的数据。 32位CPU有2个32位通用寄存器EBP和ESP。 它们主要用于访问堆栈内的存储单元,并且规定: EBP为基指针(Base Pointer)寄存器,用它可直接存取堆栈中的数据; ESP为堆栈指针(Stack Pointer)寄存器,用它只可访问栈顶。 寄存器EBP、ESP、BP和SP称为指针寄存器(Pointer Register),主要用于存放堆栈内存储单元的偏移量, 用它们可实现多种存储器操作数的寻址方式,为以不同的地址形式访问存储单元提供方便。 指针寄存器不可分割成8位寄存器。作为通用寄存器,也可存储算术逻辑运算的操作数和运算结果。 4、段寄存器 段寄存器是根据内存分段的管理模式而设置的。内存单元的物理地址由段寄存器的值和一个偏移量
组合
而成 的,这样可用两个较少位数的值
组合
成一个可访问较大物理空间的内存地址。 CPU内部的段寄存器: ECS——代码段寄存器(Code Segment Register),其值为代码段的段值; EDS——数据段寄存器(Data Segment Register),其值为数据段的段值; EES——附加段寄存器(Extra Segment Register),其值为附加数据段的段值; ESS——堆栈段寄存器(Stack Segment Register),其值为堆栈段的段值; EFS——附加段寄存器(Extra Segment Register),其值为附加数据段的段值; EGS——附加段寄存器(Extra Segment Register),其值为附加数据段的段值。 ..................................
allcomb(varargin):输入的所有
组合
(v4.2,2018 年 4 月)-matlab开发
ALLCOMB - 所有
组合
B = ALLCOMB(A1,A2,A3,...,AN) 返回元素的所有
组合
在数组 A1、A2、...和 AN 中。 B 是 P×N 矩阵,其中 P 是乘积N 个输入的元素数量。 这个功能也是称为笛卡尔积。 参数可以是数字和/或字符,也可以是元胞数组。 例子: allcomb([1 3 5],[-3 8],[0 1]) % 数字输入: % -> [ 1 -3 0 % 1 -3 1 %1 8 0 % ... % 5 -3 1 X1 ] ; ×3 数组allcomb('abc','XY') % 字符数组% -> [ aX ; ;
bX
; 经过 ;
CX
; cY] % 6×2 字符数组allcomb('xy',[65 66]) % 一个
组合
% -> ['xA' ; 'xB'; 'yA' ; 'yB'] % 4×2 字符数组allcomb({'
MatrixBot:齿轮网
MatrixBot 齿轮网 输入文件 论文数据库:paper.json 引用数据库:cocitation.txt 输出文件 coAuthorMatrix.txt muCitationMatrix.txt coCitationMatrix.txt finalMatrix.txt(三个矩阵的
组合
) finalMatrix [i] [j] = ax coAuthorMatrix [i] [j] +
bx
muCitationMatrix [i] [j] +
cx
coCitationMatrix [i] [j]; (可以在主功能中更改a,b,c) 环境 Netbeans和Java 转到Oracle网站,选择与操作系统相对应的文件。 下载并安装。 代码文件 转到Github,然后单击“下载ZIP”。
使用
Netbeans打开项目并在src文件夹中运行MatrixBot.java。
汇编语言
21,459
社区成员
41,600
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章