汇编语言 第三版 王爽 实验10-1 编写子程序 之 显示字符串
来源:互联网 发布:新海典软件怎么用 编辑:程序博客网 时间:2024/06/06 04:02
题目:
注意事项:
1.计算偏移地址的时候,以bx作为偏移量,ax不行
例如 es:[bx+si] 而不是 es:[ax+si]
2.子程序开始的时候把所有的寄存器入栈,方便接下来使用,结束的时候出栈
3.计算数组偏移地址的时候,用mul
4.参考博客
代码:
assume cs:code,ds:data,ss:stackdata segmentdb 'welcome to masm!',0data endsstack segmentdw 8 dup (0)stack endscode segmentstart: mov dh,8mov dl,3 ;第八行,第三列mov cl,2 ;颜色mov ax,datamov ds,ax ;ds指向数据段mov si,0call show_strmov ax,4c00hint 21hshow_str:push dxpush cxpush axpush sspush si ;子程序开始所有寄存器入栈mov ax,0B800hmov es,ax ;es指向显示的起始地址;计算行偏移量mov al,0a0h ;160个字节一行dec dh ;行号减一,00 - dh-1 共dh行mul dh ;相乘 结果放在ax里mov bx,ax ;偏移量mov al,2 ;一列两个字符dec dl ;列号减一,00 -dl-1 共dl列mul aladd bx,ax ;偏移地址计算完成mov di,0 ;di字符读取时候每次的偏移 每次加1mov si,0mov al,cl ;颜色暂时保存在al里 线面cx需要用到s1:mov ch,0 ;置0mov cl,ds:[di] ;字符放在cl里jcxz okmov ch,al mov es:[bx+si],cx ;字符颜色一起放入显示位置add si,2inc dijmp short s1ok: pop si ;子程序开始所有寄存器入栈pop sspop axpop cxpop dxretcode endsend start
结果:
0 0
- 汇编语言 第三版 王爽 实验10-1 编写子程序 之 显示字符串
- 1.显示字符串-汇编语言(王爽)-实验10 编写子程序
- 王爽 汇编语言 第三版 实验10 编写子程序
- 汇编语言 第三版 王爽 实验10-2 编写子程序 之 解决除法溢出问题 divdw
- 实验10:编写子程序之显示字符串
- 3.数值显示-汇编语言(王爽)-实验10 编写子程序
- 王爽《汇编语言》实验10:编写子程序show_str
- 王爽《汇编语言》第10章 实验10 编写子程序
- 王爽《汇编语言》实验10:编写子程序show_str 解答
- 王爽《汇编语言》实验10:编写子程序divdw 解答
- 王爽《汇编语言》实验10:编写子程序dtoc 解答
- 王爽《汇编语言》实验10:编写子程序divdw 解答
- 汇编语言(王爽)实验十 编写子程序
- 汇编语言 第三版 王爽 实验10 显示字符串 show_str 独立完成
- 王爽《汇编语言》实验11:编写子程序letterc 解答
- 王爽《汇编语言》实验11——编写子程序
- 王爽 汇编语言 实验十 1、显示字符串
- 2.解决除法溢出问题-汇编语言(王爽)-实验10 编写子程序
- Spring+SpringMVC+mybatis+easyui整合-----注解方式的mybatis的使用
- 检查android应用权限是否被禁止--悬浮窗权限
- QT5入门之6 - Qt提示对话框
- activit流程引擎启动流程报错
- ViewPager 的使用技巧的心得
- 汇编语言 第三版 王爽 实验10-1 编写子程序 之 显示字符串
- C# 简单通信(实现文件传输)
- 游戏清除用户数据
- NSMutableArray Class Reference
- Otto开发初探——微服务依赖管理新利器
- Java核心技术第6章(3)
- HBase Java API类介绍
- ActionContext(Action上下文)
- property动画