汇编语言中,如何将一个单元的内容取反

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编语言中,如何将一个单元的内容取反相关的知识,希望对你有一定的参考价值。

方法1.用逻辑非运算指令(not指令,指令格式:NOT
OPRD),可以对目标操作数的二进制全部位取反,比如取反ax,则not
ax即可.
方法2.用异或逻辑(xor指令,指令格式:XOR
OPRD1,OPRD2,异或逻辑就是两个逻辑值不同则输出结果为真,相同则输出假).与非运算一般区别是:可用于对特定位取反.
把目标操作数(即要取反的对象)要取反的二进制位与1进行异或逻辑即可实现,比如对ax寄存器内容低8位取反则可以:xor
ax,00ff;实现.
参考技术A 1:CPL
A
直接对累加器取反
2:XRL
A,#0FFH,异或FFH也可以达到取反的目的。本回答被提问者采纳

汇编实验1

1.debug的启动,退出和常用指令。

 技术分享图片

 

r命令修改寄存器AX中的内容

 技术分享图片

 

debugD查看内存中的内容

 技术分享图片

 

查看10009单元中的内容

 技术分享图片

 

e命令修改从10000开始的10个单元的内容

 技术分享图片

 

e命令将机器码写入内存

技术分享图片

u命令将内存单元中的内容翻译为汇编指令显示

 技术分享图片

 

使用t命令执行csip指向的指令

 技术分享图片

 

使用a命令向从10000开始的内存单元中写入指令

 技术分享图片

 

2.试验任务

1)使用debug将下面的程序段写入内存,逐条执行观察每条指令执行后CPU中相关寄存器中内容的变化。

技术分享图片

使用a命令写入内存

 技术分享图片

 

使用t命令执行

 技术分享图片

 

2)将下面三条指令写入从20000开始的内存单元,利用这三条质量计算28次方

 技术分享图片

技术分享图片

技术分享图片

3)查看内存中的内容

 技术分享图片

 

可见生产日期为01/01/92

4)向内存从B8100H开始的单元中填写数据,观察产生的现象。

 技术分享图片

 

修改数值,颜色会发生变换,修改地址,颜色位置发生变化。

实验小结:学会了debug的调试与使用,学会了各种不同的汇编指令,这一章节的实验也让我对汇编语言有了初步的了解,希望以后能更认真对待这门课程,并不断深入探索。

 

以上是关于汇编语言中,如何将一个单元的内容取反的主要内容,如果未能解决你的问题,请参考以下文章

汇编语言MOV AX,NOT 0F0FH具体啥意思?

汇编语言-05[BX]和loop指令

汇编语言-05[BX]和loop指令

汇编neg指令?

汇编语言第三章总结

汇编语言中 LOAD与STORE有啥区别?