8086汇编语言WriteString
时间: 2023-05-30 19:04:18 浏览: 310
WriteString是一个8086汇编语言程序,用于将字符串输出到屏幕上。
该程序首先将字符串存储在数据段中,然后使用INT 10H中断向屏幕输出字符串。该程序使用了DOS中断21H来获取打印字符串的系统调用,以及INT 10H中断来设置光标位置和显示字符串。
以下是WriteString程序的示例代码:
```
; WriteString.asm
; 输出字符串到屏幕上
.model small
.stack 100h
.data
; 定义字符串
msg db 'Hello, World!', '$'
.code
main proc
mov ax, @data
mov ds, ax
; 调用DOS中断21H获取打印字符串的系统调用
lea dx, msg
mov ah, 09h
int 21h
; 调用INT 10H中断设置光标位置和显示字符串
mov ah, 02h
mov bh, 0
mov dh, 0
mov dl, 0
int 10h
; 退出程序
mov ah, 4ch
int 21h
main endp
end main
```
在上面的程序中,我们首先定义了一个字符串“Hello, World!”,并在其末尾添加了一个'$'字符,以便INT 21H中断能够正确地打印该字符串。
然后,我们将数据段的地址加载到AX寄存器中,并将其移动到DS寄存器中,以便程序可以访问数据段中的字符串。
接下来,我们调用DOS中断21H的09h函数来打印字符串。我们将字符串的地址加载到DX寄存器中,并将AH寄存器设置为09h来指示该函数。
然后,我们调用INT 10H中断的02h函数来设置光标位置和显示字符串。我们将BH寄存器设置为0来指示显示器页面,DH寄存器设置为0,以指示行数,DL寄存器设置为0,以指示列数。最后,我们调用INT 10H中断以显示字符串。
最后,我们使用DOS中断21H的4ch函数退出程序。
该程序在DOS模拟器中运行时,将在屏幕上输出“Hello, World!”字符串。
阅读全文