0
我想这个循环的代码,在显存段B800写入字符“Q”到一个地址,由指定ES:[二]循环在大会:TASM 8086(DOSBox中)
这里我试图将循环加2(因为每个屏幕位置由两个字节,颜色和属性组成),但代码仅在第一个位置生成字符。我想我不明白如何使用cx,因为我认为这应该循环100次。
.model small
.stack
.code
main:
sub cx, cx
mov cx, 100
dates:
mov ax,0B800h
mov es,ax
sub di, di
mov di, 200
add di, 2
mov ah, 5
mov al, 'Q'
mov es:[di], ax
loop dates
mov ax,4C00h
int 21h
end main
感谢,:移动日期这就说得通了。我没有装配经验,所以这真的很有帮助。如果循环需要这样一个计数器,那么循环指令有什么用处? – user2241226 2013-04-07 22:04:01
惊人的它完美地工作 – user2241226 2013-04-07 22:08:44
好吧,好吧,玩得开心:-)让我想起了这样的错误杀死整个机器的日子。但是,那些那些时间,当PC有一个真正的重置按钮和MS-DOS从软盘启动比现在的Windows从固态硬盘更快;-) – 2013-04-07 22:12:19