在 Turbo Pascal 中使用程序集更改屏幕颜色
Change screen color using assembly in Turbo Pascal
我在 Turbo Pascal 中的语法有问题,这在调试中没有问题,但我不能让它在 Turbo Pascal 中工作。
program foo;
begin
asm
mov ah,06h;
mov bh,;
mov cx,[=10=]00;
mov bx,50;
int 10h;
mov ah,00h;
int 16h;
end;
end.
不知道怎么回事
PD:这个东西中的 h、$ 和 b 是什么意思?
INT 10h / AH=06h
还需要 AL
:
中的值
program foo;
begin
asm
mov ah, 06h
mov bh,
mov cx, [=10=]00
mov bx, 50 (* Should it rather be `dx`? *)
mov al, 25 (* Scroll up 25 lines *)
int 10h
mov ah, 00h
int 16h
end;
end.
要清除整个 window,您可以将 AL
设置为零(mov al, 0
或 xor al, al
)。
后缀'h'表示这是一个十六进制数。前缀“$”的意思相同。第一个是汇编符号,第二个是 Pascal 符号。没有后缀或前缀是十进制数。
我在 Turbo Pascal 中的语法有问题,这在调试中没有问题,但我不能让它在 Turbo Pascal 中工作。
program foo;
begin
asm
mov ah,06h;
mov bh,;
mov cx,[=10=]00;
mov bx,50;
int 10h;
mov ah,00h;
int 16h;
end;
end.
不知道怎么回事
PD:这个东西中的 h、$ 和 b 是什么意思?
INT 10h / AH=06h
还需要 AL
:
program foo;
begin
asm
mov ah, 06h
mov bh,
mov cx, [=10=]00
mov bx, 50 (* Should it rather be `dx`? *)
mov al, 25 (* Scroll up 25 lines *)
int 10h
mov ah, 00h
int 16h
end;
end.
要清除整个 window,您可以将 AL
设置为零(mov al, 0
或 xor al, al
)。
后缀'h'表示这是一个十六进制数。前缀“$”的意思相同。第一个是汇编符号,第二个是 Pascal 符号。没有后缀或前缀是十进制数。