zoukankan      html  css  js  c++  java
  • 汇编语言 实验10.1 显示字符串

    汇编语言 实验10.1 显示字符串

    问题

    显示字符串是现实生活中经常要用到的功能,应该编写一个通用的子程序来实现这个功能。我们应该提供灵活的调用接口,是调用者可以决定显示的位置(行、列)、内容和颜色。
    

    子程序描述

    名称:show_str
    功能:在指定的位置,用指定的颜色,显示一个用0结束的字符串。
    参数:(dh)=行号(取值范围0~24),(dl)=列号(取值范围0~79),(cl)=颜色,ds:si指向字符串的首地址
    返回:无
    应用举例:在屏幕的8行3列,用绿色显示data段中的字符串。
    

    代码

    assume cs:code,ss:stack
    data segment
        db 'Welcome to masm!',0
    data ends
    stack segment
        dw 8 dup (0)
    stack ends
    code segment
    start:  
        mov ax,stack
        mov ss,ax
        mov sp,16
        mov dh,8
        mov dl,3
        mov cl,2
        mov ax,data
        mov ds,ax
        mov si,0
        call show_str
    
        mov ax,4c00h
        int 21h
        ;以下为编写的子程序
    show_str:
        push dx
        push cx
    
        mov ax,0b800h
        mov es,ax
        mov al,160;注意!!
        sub dh,1
        mul dh
        mov bx,ax
        mov al,2
        mul dl
        add bx,ax;bx存放的是显存地址
        mov dh,cl
    
    s:  mov ch,0
        mov cl,ds:[si]
        jcxz ok
        mov dl,cl
        mov es:[bx],dx
        inc si
        add bx,2
        jmp short s
    
    ok: pop cx
        pop dx
        ret
    code ends
    end start

    总结:

    主要是锻炼两个内存段之间的数据交换,以及寄存器内容的保存。
    
  • 相关阅读:
    MySQL之SELECT用法
    Linux中find常见用法示例
    date命令
    backupMysql.sh
    Shell脚本中使用function(函数)示例
    zabbix邮件告警
    Zabbix系统数据采集方法总结
    TOMCAT原理详解及请求过程
    tomcat-users.xml 配置
    zabbix_sender用法实例
  • 原文地址:https://www.cnblogs.com/litlife/p/7512775.html
Copyright © 2011-2022 走看看