📜  8086程序找到一个数字的平方根

📅  最后修改于: 2021-06-28 23:22:16             🧑  作者: Mango

问题–在8086微处理器中编写汇编语言程序以查找数字的平方根。

例子 –

算法 –

  1. 将输入数据移动到寄存器AX中
  2. 将数据移至CX中的0000和BX中的FFFF
  3. 将0002添加到BX的内容中
  4. 将CX的内容增加1
  5. 减去AX和BX的内容
  6. 如果未设置零标志(ZF),则转到步骤3,否则转到步骤7
  7. 将数据从CX存储到偏移量600
  8. 停止

    程序 –

    OFFSET MNEMONICS COMMENT
    0400 MOV AX, [500] AX <- [500]
    0404 MOV CX, 0000 CX <- 0000
    0407 MOV BX, FFFF BX <- FFFF 040A ADD BX, 02 BX = BX + 02 040E INC CX C = C + 1 040F SUB AX, BX AX = AX – BX 0411 JNZ 040A JUMP to 040A if ZF = 0 0413 MOV [600], CX [600] <- CX 0417 HLT Stop

    解释 –

    1. M0V AX,[500]用于将数据从偏移500移动到寄存器AX
    2. MOV CX 0000用于将0000移动到寄存器CX
    3. MOV BX FFFF用于将FFFF移至寄存器BX
    4. ADD BX,02用于添加BX和02
    5. INC CX用于将CX的内容增加1
    6. SUB AX,BX用于通过BX减去AX的内容
    7. 如果零标志(ZF)为0,则JNZ 040A用于跳转到地址040A
    8. MOV [600],CX用于将CX的内容存储到偏移量600
    9. HLT用于结束程序