汇编在dos下显示字符串的子程序

Posted joker marvelous

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编在dos下显示字符串的子程序相关的知识,希望对你有一定的参考价值。

assume cs:code,ss:stack,ds:data

data segment
    db welcome to masm,0
data ends

stack segment
    dw 8 dup (0)
stack ends

code segment
start:
    mov dh,8
    mov dl,3
    mov cl,2
    mov ax,data
    mov ds,ax
    mov si,0
    mov ss,stack
    call show_str
    
    mov ax,4c00h
    int 21h


show_str: //显示字符串的子程序
    push ax
    push cx
    push dx    
    push ss
    push si//现场的保留
    
    
    mov ax,0b800h
    mov es,ax
    mov di,0

    mov al,0a0h
    dec dh
    mul dh
    mov bx,almov al,2
    dec dl
    mul dl
    add bx,al
//计算要显示的位置的偏移地址,且用的是ax寄存器的低八位

mov al,ch s: mov ch,0 mov cl,ds:[di] jcxz ok//判断读入的字符是不是0 mov ch,al mov es:[bx+si],cx inc di add si,2 jmp short s ok: pop si pop ss pop dx pop cx pop ax ret//回复现场 end start code ends

王爽老师书上的实验10.1。

以上是关于汇编在dos下显示字符串的子程序的主要内容,如果未能解决你的问题,请参考以下文章

汇编题目:在DOS下,按F1键后改变当前屏幕的显示颜色

在DOS环境下运行汇编程序

汇编int21h,DOS调用(转)

汇编语言实现DOS下的文件目录清单(DIR)

如何用汇编语言写个小程序“HELLO WORD!”

汇编实战准备:DOS调用命令