Assembly 如何用汇编语言在另一个盒子上打印一个盒子?
我的目标是用汇编语言制作一个国际象棋棋盘,所以我试图在一个较大的白色方框上打印一个灰色的小方框,但一旦灰色方框在屏幕上打印出来,白色方框就会消失。我试着在谷歌上搜索,但找不到答案。此外,有没有更好的方法来制作一个棋盘使用汇编 这是我的密码Assembly 如何用汇编语言在另一个盒子上打印一个盒子?,assembly,Assembly,我的目标是用汇编语言制作一个国际象棋棋盘,所以我试图在一个较大的白色方框上打印一个灰色的小方框,但一旦灰色方框在屏幕上打印出来,白色方框就会消失。我试着在谷歌上搜索,但找不到答案。此外,有没有更好的方法来制作一个棋盘使用汇编 这是我的密码 dosseg .model small .stack 0100h .data .code mov ax, @data mov ds, ax mov ah, 0 mov al, 11h int 10h mov
dosseg
.model small
.stack 0100h
.data
.code
mov ax, @data
mov ds, ax
mov ah, 0
mov al, 11h
int 10h
mov ah, 02h
mov bh, 00h
mov dh, 0Ch
mov dl, 28h
int 10h
mov cx, 10
mov dx, 10
mov ah, 0ch
colcount:
inc cx
int 10h
cmp cx, 450
JNE colcount
mov cx, 10
inc dx
cmp dx, 450
JNE colcount
mov ax, @data
mov ds, ax
mov ah, 0
mov al, 13h
int 10h
mov ah, 02h
mov bh, 00h
mov dh, 0Ch
mov dl, 28h
int 10h
mov cx, 10
mov dx, 10
mov ah, 0ch
colcount2:
inc cx
int 10h
cmp cx, 30
JNE colcount2
mov cx, 10
inc dx
cmp dx, 30
JNE colcount2
end
您可以在操作之间重置视频模式!难怪第一个盒子不见了
- 如果只在屏幕上放置图形像素,为什么还要设置光标
- 你似乎并没有在任何地方设置颜色。函数0Ch进入AL
- 如果只在屏幕上放置图形像素,为什么还要设置光标
- 你似乎并没有在任何地方设置颜色。函数0Ch进入AL
你画的第一个盒子必须是白色的。现在你是偶然获得的!正如@Fifoernik所说,您需要在AL寄存器中指定一种颜色
mov cx, 10
mov dx, 10
mov ah, 0ch
mov al, 1 ;This is white on a 2-color screen!
colcount:
...
要解决此问题,请首先删除以下5行:
mov ax, @data
mov ds, ax
mov ah, 0
mov al, 13h
int 10h
现在通过指定AL=0来绘制较小的黑框
mov cx, 10
mov dx, 10
mov ah, 0ch
mov al, 0 ;This is black on a 2-color screen!
colcount2:
...
您已选择640x350双色屏幕。
你画的第一个盒子必须是白色的。现在你是偶然获得的!正如@Fifoernik所说,您需要在AL寄存器中指定一种颜色
mov cx, 10
mov dx, 10
mov ah, 0ch
mov al, 1 ;This is white on a 2-color screen!
colcount:
...
要解决此问题,请首先删除以下5行:
mov ax, @data
mov ds, ax
mov ah, 0
mov al, 13h
int 10h
现在通过指定AL=0来绘制较小的黑框
mov cx, 10
mov dx, 10
mov ah, 0ch
mov al, 0 ;This is black on a 2-color screen!
colcount2:
...
如何在不重置视频模式的情况下更改小盒子的颜色?如何在不重置视频模式的情况下更改小盒子的颜色?