10、实验十

1、显示字符串

主要需解决的问题:字符串在显存中的地址定位

代码及注释如下:

;LAB10-1.asm
assume cs:code
data segmentdb 'Welcome to masm!',0
data endscode segment
start:      mov dh,10        ;行mov dl,15         ;列mov cl,2      ;颜色mov ax,data mov ds,ax mov si,0call show_strmov ax,4c00hint 21hshow_str: push ax push bxpush espush si mov ax,0b800hmov es,axmov ax,160        ;一行160Bmul dh            ;计算出(dh)行对应的显存起始地址,结果存放于ax中mov bx,ax          ;bx=ax=160*dh mov ax,2mul dl              ;计算(dl)列对应的显存单元地址,ax=dl*2add bx,ax        ;mov bx, (160*dh + dl*2)设置es:bx指向显存首地址mov al,cl        ;把颜色cl赋值almov cl,0s0:         mov ch,[si]       ;待显示的源数据jcxz s1             ;(ds:si)=0时,转到show1执行mov es:[bx],ch     ;显示字符mov es:[bx].1,al  ;显示字符颜色inc si            ;ds:si指向下一个字符地址add bx,2         ;es:bx指向下一个显存地址jmp s0s1:          pop sipop espop bx pop axret
code ends
end start

运行结果

2、解决除法溢出的问题

没看懂

https://blog.csdn.net/Skies_/article/details/122230794

https://blog.csdn.net/shaco_/article/details/105472170

https://blog.csdn.net/qq_60829702/article/details/123582250

3、数值显示

assume cs:codedata segmentdb 10 dup (0)
data endscode segment
start:  ;mov ax,317ah       ;12666mov ax,64h            ;100mov bx,datamov ds,bxmov si,0            call dtocmov dh,8h          ;行号mov dl,3h            ;列号mov cl,2h            ;颜色call show_strmov ax,4c00hint 21hdtoc: mov bx,0ah         ;将16位除数放在bx中,32位/16位mov dx,0         ;DX为被除数的高16位,低16位为AXdiv bxmov cx,ax          ;将商赋给cx来判断算法是否结束add dx,30h          ;DX存放余数+30H正好对应数字的ASCII值mov [si],dl            ;将所得余数存放在data段中(逆序存放)inc sijcxz okk           ;判断是否结束jmp short dtoc       ;如果没结束就继续okk: retshow_str:sub dh,1h         mov al,dhmov bl,0a0h            ;一行160Bmul bl               ;bl存放的为显示字符在显存中第一行地址mov di,axadd di,4hmov ax,0b800hmov es,axmov ah,cls:  mov cl,-1[si]      ;-1[si]=[-1+si],注意汇编语言中不能[si-1]mov ch,0mov al,clmov es:[di],axsub si,1mov cx,sijcxz ok                ;以si是否为0来判断是否结束(注意jcxz只能判断cx的值我这里写si是更好理解结束的位置)add di,2jmp short sok: retcode ends
end start

汇编语言实验十-《汇编语言-王爽老师》相关推荐

  1. 读书笔记:汇编语言 第三版 王爽 清华出版社 前言 章一 章二 章三 章四 章五

    汇编语言 第三版 王爽 清华出版社文档记录创建 2020年8月9日15:21:11初稿完成 2020年9月5日15:38:22前言汇编语言,CPU提供的机器指令的助记符的集合不同处理器,机器指令可能不 ...

  2. 汇编语言 第3版 王爽 检测点习题部分—答案及详细解析

    第一章 基础知识 检测点1.1 (1)1个CPU的寻址能力为8KB,那么它的地址总线的宽度为()位. (2)1KB的存储器有() 个存储单元,存储单元的编号从()到() . (3)1KB的存储器可以存 ...

  3. 汇编语言实验十完整代码和详细解析

    汇编语言实验十完整代码和详细解析 建议先自己思考问题的答案,不懂则返回看书 扩展建议: [非必要内容,个人经验感悟] 从这儿开始,我们正式接触子程序,主要是通过 call和 ret 来实现的.这样就涉 ...

  4. 汇编语言 (第2版) 王爽 中文高清PDF版下载

    汇编语言 (第2版) 王爽 中文高清PDF版下载 转载于:https://www.cnblogs.com/gavinhughhu/archive/2009/12/10/1620783.html

  5. 汇编语言学习:使用王爽写的《汇编语言》第三版(编程环境配置)

    汇编语言学习 参考书:使用王爽写的<汇编语言>第三版 学习工具(win7 x64): DOSBox 0.74.masm.exe.link.exe.debug.exe. 另外需要一款编辑器, ...

  6. 汇编语言实验二 汇编语言程序设计(顺序、多分支、循环)

    **实验二 汇编语言程序设计(顺序.多分支.循环)** 一. 实验目的 1.掌握顺序和循环程序结构和设计方法: 2.熟悉在PC机上建立.汇编.连接.调试和运行8086/8088汇编语言程序的过程. 二 ...

  7. 王爽老师的汇编语言 实验8 jmp是如何实现跳转的

    jmp short 标号 jmp near ptr 标号 jcxz 标号 loop 标号 书中给出的几种汇编指令,它们对I的修改是根据转移目的地址和转移起始地址之间的位移来进行的. 在它们对应的机器码 ...

  8. 汇编语言实验一-《汇编语言-王爽老师》

    1.实验一 1.预备知识:debug的使用 r :查看寄存器值 r ax :修改寄存器ax值 d :查看内存中的值,d 段地址:偏移地址(从指定位置,默认显示128个内存单元内容) d 1000:0 ...

  9. 汇编语言实验五-《汇编语言-王爽老师》

    5.实验五 (1).输入程序,debug调试跟踪 问题一:data段中数据不变 问题二:cs=076C.ss=076B.ds=076A 问题三:X-2.X-1 (2) 数据段以及栈均定义了两个字的数据 ...

最新文章

  1. 用Git上传删除本地项目到gitlab---图文解析
  2. unity 角色 动画脚本_Unity Animation --动画剪辑(外部来源的动画)
  3. 【分析】浅谈C#中Control的Invoke与BeginInvoke在主副线程中的执行顺序和区别(SamWang)
  4. elasticsearch运维实战之2 - 系统性能调优
  5. jzoj3512-游戏节目【树状数组,双向dfs】
  6. 和可被 K 整除的子数组
  7. 使用双栈实现一个队列
  8. 字符串中最长不重合子串长度
  9. ubuntu14.04 配置jdk环境变量
  10. 刚刚申请的博客,自己也是新手!
  11. 【读书笔记】IOS帝国-Apple Ⅱ/Mac/皮克斯/iPod/iTunes/iPhone/App Store/iPad,苹果教父:史蒂夫·乔布斯传_2020.02.15
  12. msvcr100.dll不存在
  13. 怎么用一套键鼠控制两个电脑
  14. 天津大学计算机学院李晨曦,李晨曦-天津大学-生物医学光子成像实验室
  15. 【OFDM】AWGN 信道下 BPSK 调制 (卷积码) 性能对比仿真实验 (Matlab 实现)
  16. win7右下角显示此windows副本不是正版
  17. win7+Ubuntu双系统安装
  18. 支付宝周期扣款Java逻辑代码
  19. oracle 取1条记录,oracle 获取第一条数据
  20. 无法与域“xxxx.com”的Active Directory域控制器(AD DC)连接 之DNS故障

热门文章

  1. python如何找出声母韵母声调出现次数最多的成语
  2. java显示爱心标志的程序_java命令行显示爱心形的源程序
  3. 理清Activity、View及Window之间关系
  4. CDA数据分析师 - SQL数据库基础 查询连接
  5. 活该?清白?用数据可视化告诉你,3400多万人眼中的孙杨
  6. QQ未解之谜——GIPS是何方神圣?
  7. acfun网站400W用户数据分析和pyecharts可视化
  8. 迅雷BT方式的路由器设置
  9. 基于VR预约与菜品识别的鼎食城餐饮软件的设计与实现
  10. 手游项目开发实用工具