欢迎广大喜欢编程朋友加入进来。如果是大神请分享你的经验,带领广大小伙伴一起打怪升级得经验;如果是编程新人,那么这里是你不二的选择,分享,奉献是我们追求的目标;我们之中大部分是有一年多工作经验的热血编程爱好者!希望有朝一日小伙伴们都能写出自己的软件,为中国的软件事业做点贡献(有点说大了 囧)..当然有兴趣那么我们行动吧,群103197177需要爱好编程的有为青年!!
16位补码:
_DATA SEGMENT 'DATA'
X1 DW 3
_DATA ENDS
_TEXT SEGMENT 'CODE'
ASSUME CS:_TEXT, DS:_DATA
START:MOV AX, _DATA
MOV DS, AX
MOV CX, 1; 设初值
MOV AX, X1; 用X1给AX赋值
REP1:MOV BX, 8000H; 既二进制的 1000 0000 0000 0000
AND BX, AX; BX和AX
CMP BX, 0
JA LOC1; 大于跳转
MOV DL, 48 ; 即设置字符0
JMP LOC2
LOC1:MOV DL, 49; 即设置字符1
LOC2:PUSH AX; AX入栈 保护AX中的内容
MOV AH, 02H; DOS 2号功能调用
INT 21H
POP AX; 还原AX中的内容
SHL AX, 1 ; 逻辑左移一位
INC CX ; 自加1
CMP CX, 16
JLE REP1 ; 小于等于16 跳转
MOV AX, 4C00H
INT 21H
_TEXT ENDS
END START