Assembly 使用DOS或BIOS调用将控制台设置为50行模式?
我从一个名为43line.com的文件中反汇编了以下代码,该文件在dosbox中重置cmd中的行数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
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会做什么:)