如何在汇编语言8086中切换低位

时间:2017-05-05 13:41:21

标签: assembly x86 x86-16 emu8086

首先,我是汇编语言的初学者,现在我正在研究微处理器。我们编写了一些小程序。但是,我正在开发名为“基本加密方案(BES)”的程序,其目的是切换用户输入的字符的低位。然后,从1-9获取输入并将其添加到切换的字符。最后,打印出来。例如,如果输入字符为A且输入键值为6.程序应采用ASCIl值A,01000001,切换位[o:o],生成01000000,然后添加输入值键,6。最终输出字符为01000110.这是ASCII值F

好消息是我编写了几乎所有内容: =>我编写了一条消息,其中包含多个字符并将其保存在[si]中 =>我编写了一条消息,它接受输入键值并将其转换为寄存器并将其保存在bl中 =>我编写了一个鳕鱼,它将从[si]和[di]中取出字符串并在屏幕上打印出来。

正是我需要一个应用基本加密方案方法的鳕鱼,从[si]中获取字符串,从(bl)中获取密钥。

谢谢

1 个答案:

答案 0 :(得分:2)

热门:

  

从[si]

中取出字符串
mov dl, [si]
  

切换位[o:o]

xor dl, 1
  

添加输入值键

add dl, bl
  

在屏幕上打印它们。

mov ah, 02h
int 21h

因为你已经

  

编程按摩,其中包含多个字符并将其保存在[si]

您将在一些内存位置或寄存器中保存此字符串的长度。我认为CX注册会是一个好地方。

要处理整个字符串,那么,您:

  • 增加指针SI
  • 递减长度CX
  • 如果长度不为零,则从顶部:
  • 重复