欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【汇编程序】将寄存器内容依次取反

程序员文章站 2022-03-10 09:47:25
...

这里写自定义目录标题

【汇编程序】将寄存器内容依次取反

需求:将AX寄存器中的内容以相反的顺序传送到DX寄存器中,并要求AX中的内容不被破坏,然后统计DX寄存器中‘1’的个数并存入BL中。
实现思路:先定义一个数据段,存放题目中的内容如1234H,然后定义个BL统计‘1’出现的次数、定义DX来接受AX的值 ,总体思路是先将AX入栈保护AX,然后将AX的值按位左移,移入CF 然后用循环右移RCR将CF的值推入DX中,如果是1则INC BL。

CODE SEGMENT
    ASSUME CS:CODE
STARTMOV AX,1234H
		PUSH AX
		MOV DX,0
		MOV CX,16
   NEXT:SHL AX,1
   		JNC L1;如果结果为CF=0则跳转L1
   		INC BL
   	 L1:RCR DX,1
   	 	LOOP NEXT
   STOP:POP AX
        CODE ENDS
  END START 

【个人学习,仅供参考】