汇编语言中如何在屏幕上显示一组双字
时间: 2024-02-12 10:05:14 浏览: 23
在汇编语言中,可以使用DOS中断0x10来在屏幕上显示一组双字。下面是一个例子:
```
mov ax, 0xb800 ; 将文本模式显存地址赋给ax寄存器
mov es, ax ; 将显存地址赋给es寄存器
mov di, 0 ; 将偏移量设置为0,从屏幕左上角开始显示
mov ax, 0x1234 ; 将要显示的双字赋给ax寄存器
mov bx, ax ; 复制一份到bx寄存器
shr ax, 8 ; 将ax寄存器右移8位,得到高位字节
shr bx, 0 ; 将bx寄存器右移0位,得到低位字节
mov ah, 0x0f ; 设置字符属性,白底黑字
mov al, ah ; 复制一份到al寄存器
mov word ptr [es:di], ax ; 将ax寄存器的值存入显存中
add di, 2 ; 偏移量加2,指向下一个字符位置
mov ah, 0x0f ; 设置字符属性,白底黑字
mov al, bh ; 将bx寄存器的高位字节存入al寄存器
mov word ptr [es:di], ax ; 将ax寄存器的值存入显存中
add di, 2 ; 偏移量加2,指向下一个字符位置
mov ah, 0x0f ; 设置字符属性,白底黑字
mov al, bl ; 将bx寄存器的低位字节存入al寄存器
mov word ptr [es:di], ax ; 将ax寄存器的值存入显存中
add di, 2 ; 偏移量加2,指向下一个字符位置
```
这段代码将一个双字(0x1234)按照高位字节、低位字节的顺序依次显示在屏幕上。需要注意的是,这段代码只能在文本模式下运行,如果在图形模式下运行会出现错误。