汇编高手请进:设计一个简单的逻辑运算器

来源:百度知道 编辑:UC知道 时间:2024/05/27 12:46:16
功能:【1】有简单的操作界面;
【2】输入两个十进制个位数;
【3】两数进行逻辑运算“非”,并显示结果
[提示]按我个人理解,可能需要先编一个汇编程序将十进制数转换成2进制,然后再编取反程序进行“非”运算,再编一个将2进制转换成十进制的小程序,最后显示结果。
哦,写错了,是输入一个十进制个位数

既然是个位数,那很容易啊

数字输入进来是以ASCII码保存,转成2进制数只要把高4位置0即可,因为十进制数x的ASCII码即为3xh。比如输入后,ASCII码保存在AL中,那么执行一条指令“AND AL, 0FH”即可。

不过两个数怎么进行“非”运算?“非”运算是指对一个数的每位进行取反,只有一个操作数,如何两个数进行“非”运算?如果是“与”、“或”、“异或”等双操作数运算那没问题,很简单,把前面输入的两个转换后的数分别存在两个寄存器里,然后执行一条相应的指令即可,比如“XOR AL, AH”

最后是显示结果。根据前面的运算,结果已经保存在AL中,要输出,先要把它转换成ASCII码。转换很简单,跟第一步相反,把高4位置为3即可,即“OR AL, 30H”。接下来调用中断输出AL即可。

逻辑运算非貌似只需要一个数吧?
还是说两个数分别非运算?

用C写一个按位取反的再看它的汇编,用来研究研究吧.