汇编语言怎么得到屏幕大小的长,宽,它的长,宽放在哪个寄存器
时间: 2024-01-08 22:03:44 浏览: 42
在汇编语言中,可以使用BIOS中断来获取当前视频模式下的屏幕大小。具体方法如下:
1. 将 AH 寄存器的值设置为 0Fh,表示获取当前视频模式信息。
2. 调用 INT 10h 中断,BIOS会返回一个包含当前视频模式信息的数据结构。
3. 从返回的数据结构中读取屏幕的列数和行数,分别存储在 CX 和 DX 寄存器中。
下面是获取屏幕大小的汇编代码:
```
MOV AH, 0Fh ; 设置 AH 寄存器为 0Fh
INT 10h ; 调用 INT 10h 中断,获取当前视频模式信息
MOV CX, COLS ; 将列数存储在 CX 寄存器中
MOV DX, ROWS ; 将行数存储在 DX 寄存器中
```
其中,COLS 和 ROWS 是预定义的存储变量,在获取到屏幕大小后,将屏幕列数和行数存储在这两个变量中。
需要注意的是,不同的操作系统和硬件平台可能有不同的获取屏幕大小的方法和数据结构,上述代码只是一种通用的方法,具体实现需要根据具体情况进行调整。
相关问题
汇编语言中,怎么得到已经设置过的屏幕显示的长,宽大小
在汇编语言中,可以通过调用 BIOS 中断来获取已经设置过的屏幕显示的长和宽大小。具体步骤如下:
1. 设置 AH 寄存器为 0Fh,表示获取当前视频模式信息。
2. 调用 INT 10h 中断,获取当前视频模式信息。
3. 从返回的信息中获取屏幕的列数和行数,分别存储到变量 COLS 和 ROWS 中。
下面是示例代码:
```
MOV AH, 0Fh ; 设置 AH 寄存器为 0Fh
INT 10h ; 调用 INT 10h 中断,获取当前视频模式信息
MOV COLS, CX ; 将列数存储在 COLS 变量中
MOV ROWS, DX ; 将行数存储在 ROWS 变量中
```
其中,COLS 和 ROWS 分别是存储列数和行数的变量,在实际应用中需要根据具体情况进行调整。
汇编语言怎么实现得到画图屏幕的长,宽?并写出代码
在汇编语言中,可以通过BIOS中断来获取屏幕的长和宽。具体来说,可以使用INT 10h中断来获取当前视频模式下的屏幕大小。
下面是获取屏幕大小的汇编代码:
```
MOV AH, 0Fh ; AH = 0Fh,表示获取当前视频模式信息
INT 10h ; 调用BIOS中断
MOV CX, COLS ; COLS 存储列数(即屏幕宽度)
MOV DX, ROWS ; ROWS 存储行数(即屏幕高度)
```
其中,COLS和ROWS是定义好的变量,用于存储获取到的屏幕宽度和高度。
需要注意的是,获取屏幕大小的方法可能因操作系统和硬件而异,需要根据具体情况进行调整。