苹果使用教程 写出寄存器AX,BX,CX、DX、SI的隐含用法?

写出寄存器AX,BX,CX、DX、SI的隐含用法?除了通用寄存器功能外,ax还用作累加器。在与I/O通信时,必须将axbx用作访问内存的基址。默认段为DS,CX段用作Rep、loop等的计数器。。DX

写出寄存器AX,BX,CX、DX、SI的隐含用法?

除了通用寄存器功能外,ax还用作累加器。在与I/O通信时,必须将axbx用作访问内存的基址。默认段为DS,CX段用作Rep、loop等的计数器。。DX数据寄存器:I/O端口的地址存储在寄存器间接寻址的I/O指令中。在长乘法期间,DX存储运算结果的高16位,Si和di作为索引寻址模式的源和目标的偏移地址。我不知道这些是否是隐式用法

执行下面那些指令后ax、bx、cx是多少,特别是cx是怎么运算出来的?

作为码农,少说话,多编码。

Ax>=BX?Ax:Ax=BX?Ax>=CX?Ax:Ax=CX

我相信我的大多数朋友都会考虑使用if/else来解决这个问题。作为一个老程序员,小编更喜欢使用三元运算符。

无论哪种方式,处理逻辑的原理都是相同的。比较ax和BX的尺寸。如果ax不小于BX,则ax保持不变,否则BX被分配给ax。然后比较ax和CX,ax不小于CX,ax保持不变,否则CX分配给ax。执行之后,ax是最大值。

比较ax,bx,cx三个有符号数大小并将最大数放到ax中?

AX BX CX DX是CPU通用寄存器中的数据寄存器。数据寄存器通常用于存储数据或操作结果。每个数据寄存器是16位(即16个二进制位),但是高8位和低8位可以用作两个独立的8位寄存器。高8位记录为ah、BH、CH、DH,低8位记录为Al、BL、Cl、DL,灵活的使用方法给编程带来极大的方便,可处理16位和8位数据。数据寄存器不仅用作通用寄存器,而且有自己的习惯用法ax,称为累加器。它通常用于存储算术和逻辑运算中的操作数。另外,所有的I/O指令都是用累加器与外设接口传递信息BX,称为基址寄存器,通常用来存储内部访问的基址。CX称为计数寄存器,在循环和字符串操作指令中用作计数器。DX称为数据寄存器,I/O端口的地址存储在寄存器间接寻址的I/O指令中。另外,在进行双字长的乘除运算时,用DX存储I/O口的地址,这是学习汇编语言的基础。如果你是装配新手,建议你买一本装配书好好看看。它不是很抽象。祝你学好组装!