cseg segment
assume cs:cseg
start:
mov ax, 20 ; 计算
add ax, 40 ; 20+40
mov bx, ax ;保存计算结果到bx中,供下面打印2进制使用
mov cx,16 ;2进制,16位寄存器,共16个bit,需要循环16次
mov ah,0eh ;使用int 10h的输出功能
p1:
rol bx,1 ;把bx最高1位,移到最低1位,供输出用
mov al,bl ;把bl拷贝到al,供输出用
and al,1 ;只保留最低1位的值,即刚才bx中最高位的值
xor al,30h ;转换为ascII值'0',或'1'
int 10h ;调用10h中断,输出到屏幕上
loop p1 ;循环
mov ah,4ch ;程序执行完毕,退出到系统
int 21h
cseg ends
end start