我大概明白了,我需要研究研究
多谢大神啊,十分感谢了,记得上一年10月也是你帮我,那次其实是vs2017的锅,要创建空项目,那样就能在命令行中实现鼠标点击选择光标位置了。 好了
.model small
.stack
;这是显示数据中出现多少个1的程序
.data
number dw 0000111100001111B ;出现问题的地方
db 1, 2, 3, 4, 5, 0ffh
db 11h, 12h, 13h, 14h, 15h, 0ffh
.code
start:
mov ax, @data
mov ds, ax
mov bx, number
;mov bx,0000111100001111B;本来是想写成 mov bx,offset number
xor dx,dx ;清零dx
again: cmp bx,0 ;比较是不是0
jz done ;是0就退出循环
shl bx,1 ;左移1
adc dl,0 ;加上CF
jmp again
done: cmp dl,10 ;比较是不是10
jb digit ;不是就加'0'之后显示
push dx ;显示'1'
mov dl,'1'
mov ah,2
int 21h
pop dx
sub dl,10
digit: add dl,'0'
mov ah,2
int 21h
mov ah,4ch
int 21h
end start
本帖最后由 899599 于 2019-3-13 23:52 编辑
人造人 发表于 2019-3-13 23:44
好了
成功了,是因为ds没有选中data段吗
顿时明白了,看了看之前的helloworld的例子 899599 发表于 2019-3-13 23:51
成功了,是因为ds没有选中data段吗
嗯 人造人 发表于 2019-3-13 23:51
嗯
db 1, 2, 3, 4, 5, 0ffh
db 11h, 12h, 13h, 14h, 15h, 0ffh
这段的作用是? 899599 发表于 2019-3-13 23:53
db 1, 2, 3, 4, 5, 0ffh
db 11h, 12h, 13h, 14h, 15h, 0ffh
这段的作用是?
用来debug的特殊数据,现在已经没用了
^_^ 人造人 发表于 2019-3-13 23:55
用来debug的特殊数据,现在已经没用了
^_^
真的是太感谢了,我看了两个夜晚了,(书本的源码也是有点错误啊)小细节没注意到,感谢大半夜帮我{:10_266:}{:10_298:}
页:
1
[2]