使用汇编语言显示字符串
2012-10-23 13:02
260 查看
assume cs:code, ds:data data segment db 'welcome to masm!', 0 data ends code segment start: mov ah, 8 mov al, 3 mov cl, 2 mov ax, data mov ds, ax mov si, 0 call show_str mov ax, 4c00h int 21h ; 名称:show_ptr ; 功能:在指定的位置,用指定的颜色,显示一个用0结束的字符串。 ; 参数:(dh)=行号(1~25), (dl)=列号(1~80) ; (cl)=颜色, ds:si指向字符串的首地址 show_str: push cx push si mov al, 0A0h ; 每行是80*2 dec dh ; 行号在显存的下标从0开始 mul dh ; (ax) = (al)*(dh) mov bx, ax mov al, 2 mul dl sub ax, 2 ; 行号在显存的下标从0开始 add bx, ax ; bx存放的是行和列的偏移地址 mov ax, 0b800h mov es, ax ; es中存放的是显存的第0页(共0-7页)的起始段地址 mov di, 0 ; di指向显存的偏移地址 mov al, cl ; al保存颜色 mov ch, 0 s: mov cl, ds: [si] jcxz ok mov es:[bx][di], cl ; 偶数地址存放字符 mov es:[bx][di+1], al ; 奇数地址颜色属性 inc si add di, 2 jmp short s ok: pop si pop cx ret code ends end start
相关文章推荐
- 汇编语言: 从键盘上输入一串字符(用回车键结束,使用10号功能调用。),将其中的小写英文 字母变换为大写英文字母,其他字符保持不变。然后将变换后的字符串显示出来。
- 80x86 汇编语言:输入字符串、显示其中数字
- 汇编语言: 试编写一段程序,要求比较两个字符串 string1 和 string2 所含字符是否相等,如相 等则显示“MATCH”, 若不相同则显示“NO MATCH”。
- 王爽 汇编语言 实验十 1、显示字符串
- 汇编语言: 试编写一段程序,要求输入两个字符串,如两个字符串相等则显示“MATCH”, 否则 显示“NO MATCH”。
- 汇编语言:实验10 根据材料编程—1.显示字符串
- 汇编语言 实验10.1 显示字符串
- 汇编语言 第三版 王爽 实验10 显示字符串 show_str 独立完成
- 汇编语言实现在80*25彩色字符模式下显示字符串
- 【JAVA语言程序设计基础篇】--图形--使用FontMetrics类居中显示字符串
- [汇编语言]-第九章 在屏幕中间分别显示绿底红色,白底蓝色字符串"welcome to masm!"
- 汇编语言 第三版 王爽 实验10-1 编写子程序 之 显示字符串
- 多语言环境下,使用SimpleDateFormat格式化时间字符串的时候,不能正确显示阿拉伯数字
- 汇编语言——统计一个字符串中的大写字母、小写字母、数字和其他字符的个数,并显示
- 汇编语言: 从键盘上输入一串字符(用回车键结束,使用 10 号功能调用。)放在 STRING 中,试 编制一个程序测试字符串中是否存在数字。如有,则把 CL 的第 5 位置 1,否则将该位置置 0。
- go语言练习 : 编写一个非递归版本的comma函数,使用bytes.Buffer代替字符串链接操作。
- C 语言中使用字符串
- C 语言使用特定字符分割字符串
- 汇编语言笔记17-使用BIOS进行键盘输入和磁盘读写
- 使用MASM02 - Win32汇编语言010