assume ds:data, cs:code data segment db 'welcome to masm!' db 2H,24H,71H data ends code segment start: mov ax,data mov ds,ax mov ax,0B800H mov es,ax call print_string_attr_1 call print_string_attr_2 call print_string_attr_3 mov ax,4c00h int 21h print_string_attr_1: mov cx,10h mov bx,0 mov si,0 s0: mov ax,[bx] mov es:[0720h+si+bx],ax mov al,2h mov byte ptr es:[0721h+si+bx],al inc bx inc si loop s0 ret print_string_attr_2: mov cx,10h mov bx,0 mov si,0 s1: mov ax,[bx] mov es:[07c0h+si+bx],ax mov al,24h mov byte ptr es:[07c1h+si+bx],al inc bx inc si loop s1 ret print_string_attr_3: mov cx,10h mov bx,0 mov si,0 s2: mov ax,[bx] mov es:[0860h+si+bx],ax mov al,71h mov byte ptr es:[0861h+si+bx],al inc bx inc si loop s2 ret code ends end start
时间: 2024-02-14 08:07:00 浏览: 74
STACK1_SEGMENT_STACK.rar_STACK1 SEGMENT_stack segment stack
5星 · 资源好评率100%
这段代码是用 MASM 语言编写的,主要功能是在屏幕上输出三行不同的字符串,并且每行字符串的颜色不同。其中,data segment 定义了一个字符串数组,里面存放了欢迎语和三个不同的颜色,code segment 定义了三个函数,分别用于输出三个不同颜色的字符串。程序的入口点是 start 标签,程序最后通过 int 21h 中断退出。
阅读全文