STOS指令的使用示例
时间: 2023-07-11 14:37:12 浏览: 60
下面是一个使用STOS指令存储数据的示例程序,该程序将字符串"Hello, world!"存储到内存中:
```
.MODEL SMALL
.STACK 100h
.DATA
MESSAGE DB 'Hello, world!',0
.CODE
MOV AX, @DATA
MOV DS, AX
LEA SI, MESSAGE ;将MESSAGE的地址放入SI寄存器中
MOV CX, 13 ;13是MESSAGE字符串的长度
MOV AL, ' ' ;将空格字符放入AL寄存器中
MOV ES, AX ;将段地址放入ES寄存器中
MOV DI, 0 ;将偏移地址放入DI寄存器中
REP STOSB ;使用STOSB指令循环将空格字符存储到ES:DI指向的内存单元中
MOV CX, 13 ;13是MESSAGE字符串的长度
MOV AL, 0 ;将结束符放入AL寄存器中
MOV ES, AX ;将段地址放入ES寄存器中
MOV DI, 0 ;将偏移地址放入DI寄存器中
REP STOSB ;使用STOSB指令循环将结束符存储到ES:DI指向的内存单元中
LEA SI, MESSAGE ;将MESSAGE的地址放入SI寄存器中
MOV CX, 13 ;13是MESSAGE字符串的长度
MOV ES, AX ;将段地址放入ES寄存器中
MOV DI, 0 ;将偏移地址放入DI寄存器中
REP MOVSB ;使用MOVSB指令循环将MESSAGE字符串存储到ES:DI指向的内存单元中
MOV AX, 4C00h
INT 21h
END
```
该程序使用REP STOSB指令将字符串的每个字符存储到指定的内存地址中,最终在屏幕上输出"Hello, world!"。