汇编语言 第三版 王爽 实验10 显示字符串 show_str 独立完成
来源:互联网 发布:java 广告位管理系统 编辑:程序博客网 时间:2024/06/05 03:54
assume cs:codedata segment db 'Welcome to masm!',0data endsstack segment db 32 dup ('0')stack endscode segment start: mov dh, 8 mov dl, 3 mov cl, 2 ;可以把2修改成82h,观看闪烁效果 mov ax, data mov ds, ax mov si, 0 ;初始化数据段 mov ax, stack mov ss, ax mov sp, 32 ;初始化栈段 call show_str mov ah, 1 int 21h ;获得键盘输入,使得屏幕可以显示打印的字符串 ;按任意键结束程序,有点像命令行的pause命令 mov ax, 4c00h int 21hshow_str: push cx push dx mov ax, 0b800h mov es, ax ;用es存储显存段地址 sub dh, 1 ; 8 - 1 = 7 mov al, dh ;给al mov bl, 10 ;10行数据 为一个显示行 mul bl ;显示地址b800:第十行第0列,al乘10在ax中 mov bl, 16 ;还得乘以16,一行16个字节 mul bl mov bp, ax ;ax中的行首地址暂存到bp中 sub dl, 1 ;3 - 1 = 2 mov al, dl ;al中值为2 mov dl, 2 mul dl ; 2 * 2 积在ax中,列位置 add ax, bp ;8行3行偏移地址 在ax中 mov di, ax ;显示偏移地址放到di中 mov bp, 0 ;不再使用,清空bp mov bl, cl ;字体颜色放起来 ; mov di, 0464h ;160 * 7 第8行; 测试代码 show: mov al, ds:[si] mov ah, 0 mov cx, ax ;每个数据 放到cx中,jcxz会控制循环结束 mov byte ptr es:[di], al ;显示字符 mov byte ptr es:[di + 1], bl ;显示颜色 ;也可以这样 ;mov ah, bl ;mov word ptr es:[di] ;后面di应该加1了 jcxz ok add di, 2 ;显存每次走两个字节 inc si ;数据每次走一个字节 loop show ok: pop dx pop cx retcode endsend start
阅读全文
0 0
- 汇编语言 第三版 王爽 实验10 显示字符串 show_str 独立完成
- 汇编语言 第三版 王爽 实验七 独立完成
- 王爽《汇编语言》实验10:编写子程序show_str
- 王爽《汇编语言》实验10:编写子程序show_str 解答
- 汇编语言 第三版 王爽 实验10-1 编写子程序 之 显示字符串
- 1.显示字符串-汇编语言(王爽)-实验10 编写子程序
- 《汇编语言》王爽 --实验十 显示字符串
- 王爽 汇编语言 实验十 1、显示字符串
- 王爽《汇编语言》第十章实验十 子程序1(show_str) 题目解答
- 汇编语言 实验10.1 显示字符串
- 王爽 汇编语言 第三版 实验10 编写子程序
- 王爽《汇编语言》(第三版)实验8解析
- 汇编语言 第三版 王爽 实验四
- 汇编语言 王爽(第三版)实验十一
- 汇编语言 王爽(第三版)实验十三
- 汇编语言 王爽(第三版)实验十五
- 汇编语言 王爽(第三版)实验十六
- 汇编语言 王爽(第三版)实验十七
- LeetCode91 Decode Ways
- switch语句
- hadoop之 Hadoop1.x和Hadoop2.x构成对比
- 10.15作业
- Web Service (010---webservice拦截器)
- 汇编语言 第三版 王爽 实验10 显示字符串 show_str 独立完成
- 入栈序列的所有出栈序列
- idea创建maven多模块项目
- 最长公共子串(简化代码)
- Python进阶(三):*args,**kwargs的使用
- iOS获取键盘的高度
- java冒泡实现
- MySQL数据库锁机制之MyISAM引擎表锁和InnoDB行锁详解
- 通俗易懂地讲解Android app国际化实现方式,开发需要注意的地方