现在的位置: 首页 > 综合 > 正文

汇编学习笔记(1)

2018年04月15日 ⁄ 综合 ⁄ 共 344字 ⁄ 字号 评论关闭

问题描述:已知变量X的值为2767,请编程统计变量X的二进制中有多少个一,并记入ONE变量。

分析:数值在内存中的存储本来就是二进制,所以不需要再做转换,使用移位指令统计每一位即可。

代码:

data segment
	x dw 2767
	one dw 0
data   ends

code segment
start:
	assume ds:data,cs:code

    
    mov ax,data
    mov ds,ax
    mov cx,16
    mov bx,x
    
   loop1:
         shl bx,1
         jc L1
         loop loop1
         jmp next
   
   L1:
      inc one
      loop loop1
      
   next:
        mov dx,one 
        add dx,30h
        mov ah,02h
        int 21h
        
        mov ax,4C00H
        int 21h
        
    
        
code ends
end start

2767的二进制位:0000101011001111

结果

抱歉!评论已关闭.