📜  8086程序,用于将一个段的内容添加到另一段

📅  最后修改于: 2021-06-28 14:58:54             🧑  作者: Mango

问题–编写一个程序,将存储位置2000:0500的内容与存储位置3000:0600的内容相加,并将结果存储到5000:0700存储位置。

例子 –

算法 –

  1. 将2000移至CX寄存器
  2. 将CX移到DS段(现在我们在2000数据段中)
  3. 将500的值移入AX寄存器
  4. 将3000移至CX寄存器
  5. 将CX移到DS段(现在我们在3000个数据段中)
  6. 将AX(累加器)的值与存储器600的值相加
  7. 将5000移入CX寄存器
  8. 将CX移至ES细分市场(现在我们在5000的额外细分市场中)
  9. 将AX的内容移至700个存储位置
  10. 停止

程序 –

Memory Mnemonics Operands Comment
1000 MOV CX, 2000 [CX] <- 2000
1004 MOV DS, CX [DS] <- [CX]
1006 MOV AX, [500] [AX] <- [500]
100A MOV CX, 3000 [CX] <- 3000
100E MOV DS, CX [DS] <- [CX]
1010 ADD AX, [600] [AX] <- [AX] + [600]
1014 MOV CX, 5000 [CX] <- 5000
1018 MOV ES, CX [ES] <- [CX]
101A MOV [700], AX [700] <- [AX] RESULT
101E HLT Stop

解释 –

注册用于一般用途的AX,CX。
细分受众群使用DS,ES来更改细分受众群。
MOV用于传输数据
ADD用于加法
HLT用于暂停程序