我正在尝试循环此代码,该代码将字符“Q”写入由 es:[di] 指定的视频内存段 b800 中的地址
在这里,我尝试将循环增加 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