Assembly 使用DOS或BIOS调用将控制台设置为50行模式?

Assembly 使用DOS或BIOS调用将控制台设置为50行模式?,assembly,dos,x86-16,bios,Assembly,Dos,X86 16,Bios,我从一个名为43line.com的文件中反汇编了以下代码,该文件在dosbox中重置cmd中的行数 0100 B8 12 11 MOV AX,01112 0103 B3 00 MOV BL,0 0105 CD 10 INT 010 0107 29 C0 SUB AX,AX 0109 8E D8 MOV DS,AX 010B

我从一个名为43line.com的文件中反汇编了以下代码,该文件在dosbox中重置cmd中的行数

0100 B8 12 11                MOV AX,01112
0103 B3 00                   MOV BL,0
0105 CD 10                   INT 010
0107 29 C0                   SUB AX,AX
0109 8E D8                   MOV DS,AX
010B FF 36 87 04             PUSH W[0487]
010F 80 0E 87 04 01          OR B[0487],1
0114 B9 00 06                MOV CX,0600
0117 B4 01                   MOV AH,1
0119 CD 10                   INT 010
011B 8F 06 87 04             POP W[0487]
011F BA B4 03                MOV DX,03B4
0122 B8 14 07                MOV AX,0714
0125 EF                      OUT DX,AX
0126 CD 20                   INT 020

如何将控制台设置为50行而不是43行?

我的问题的答案是:

切换回25线模式:

MOV AX,01111
MOV BL,0
INT 010
MOV AX,01112
MOV BL,0
INT 010
MOV AX,01112
MOV BL,3
INT 010
切换到43线模式:

MOV AX,01111
MOV BL,0
INT 010
MOV AX,01112
MOV BL,0
INT 010
MOV AX,01112
MOV BL,3
INT 010
切换到50线模式:

MOV AX,01111
MOV BL,0
INT 010
MOV AX,01112
MOV BL,0
INT 010
MOV AX,01112
MOV BL,3
INT 010

我的问题的答案是:

切换回25线模式:

MOV AX,01111
MOV BL,0
INT 010
MOV AX,01112
MOV BL,0
INT 010
MOV AX,01112
MOV BL,3
INT 010
切换到43线模式:

MOV AX,01111
MOV BL,0
INT 010
MOV AX,01112
MOV BL,0
INT 010
MOV AX,01112
MOV BL,3
INT 010
切换到50线模式:

MOV AX,01111
MOV BL,0
INT 010
MOV AX,01112
MOV BL,0
INT 010
MOV AX,01112
MOV BL,3
INT 010

是的,它可以。随便吧。我好像以前有过这个问题。评论中的一些链接显示了50行代码。那么我应该设置哪个寄存器将其移动到50行??如果您按照我建议的链接进行操作,您会在第页上看到代码。这很清楚。如果有兴趣的话,在50行模式下,我有一个旧的(1995年)程序将屏幕切换到“瘦”字体(单行字体)。链接到的拉链。是的,它可以。随便吧。我好像以前有过这个问题。评论中的一些链接显示了50行代码。那么我应该设置哪个寄存器将其移动到50行??如果您按照我建议的链接进行操作,您会在第页上看到代码。这很清楚。如果有兴趣的话,在50行模式下,我有一个旧的(1995年)程序将屏幕切换到“瘦”字体(单行字体)。链接到的zip。但是我不知道MOV BL,1或MOV BL,2会做什么:)但是我不知道MOV BL,1或MOV BL,2会做什么:)