显示字符串的子程序
来源:互联网 发布:大数据平台架构图 编辑:程序博客网 时间:2024/05/16 11:49
王爽汇编语言第二版,实验10.1
一、实验要求
编写一个显示用0结束字符串的子程序,要求向外提供与显存结构无关的接口
二、子程序接口
名称:show_str
功能:在指定位置,用指定的颜色,显示一个用0结束的字符串
参数:(dh)=行号(取值范围0-24),
(dl)=列号(取值范围0-79),
(cl)=颜色,
ds:si指向字符串的首地址
返回值:无
三、实现代码
show_str:
push ax ;保存调用前寄存器环境
push bx
push cx
push dx
push es
push bp
push si
mov ax,0b800h
mov es,ax
mov al,80*2
mul dh
mov dh,0
add ax,dx
add ax,dx
mov bp,ax
mov al,cl
mov cx,0
mov cl,ds:[si]
inc si
show_str_s:
mov es:[bp],cl
inc bp
mov es:[bp],al
inc bp
mov cl,ds:[si] ;每次将一个字节的数据读入cl中,如果这个字节为0,循环结束
inc si
inc cx
loop show_str_s
pop si ;恢复调用前寄存器环境
pop bp
pop es
pop dx
pop cx
pop bx
pop ax
ret
四、测试代码
assume cs:code
data segment
db 'Welcome to masm!'
data ends
stack segment
dw 8 dup (0)
code segment
start:
mov dh,8 ;第八行
mov dl,13 ;第13列
mov cl,2 ;颜色值00000010b黑底绿字
mov ax,data
mov ds,ax
mov si,0
call show_str
mov ax,4c00h
int 21h
code ends
五、测试结果
- 显示字符串的子程序
- 170412 汇编-显示字符串的子程序
- 实验10:编写子程序之显示字符串
- masm 显示字符的子程序
- 汇编语言数值显示 的子程序dtoc.asm
- 在显存显示字符串(调用子程序实现)
- 1.显示字符串-汇编语言(王爽)-实验10 编写子程序
- Fortran分割字符串和字符串替换的子程序
- 编写输出C风格字符串的汇编子程序
- [Hb-IX] 编写子程序(显示字符串、数值,除法溢出问题)
- 汇编语言 第三版 王爽 实验10-1 编写子程序 之 显示字符串
- 编写子程序的原则
- 子程序级重构的理由
- 高质量的子程序
- 高质量的子程序
- perl的子程序
- 高质量的子程序
- 写子程序的注意事项
- 用SetUpDi系列函数获得系统设备信息
- linux内核模块解析
- 实现 Dispose 方法:
- shellnotifyicon,托盘图标气泡提示问题
- 算法分析
- 显示字符串的子程序
- SQL除重复数据
- 我最近的项目
- ext ComboBox 连动
- 用NERO刻录ISO文件制作启动盘
- 数据泵导入中table_statistics长时间等待问题
- 码、反码、补码
- 两个不同的类相互引用的情况下头文件包含问题
- (十四)中央首长来访 - 3