(将给定的数值以十进制形式显示在屏幕上)王爽汇编语言第三版实验10.2

功能

给定六个数值 要求以十进制显示在屏幕上
大体思路:首先我们要知道显示在屏幕上是以字符的形式(ascii码),我们首先要将给定的数值一位一位的转换成字符存在一个地方,然后再在屏幕上显示出来

代码部分

1.清理屏幕
clear_screen:
		mov dx,0700h	;相当于黑底空字符
		mov cx,2000	;循环次数
		mov bx,0b800h
		mov es,bx
		mov di,0
		
clearscreen:
		mov es:[di],dx
		add di,2
		loop clearscreen

		ret	
2.初始化寄存器

设定string段,将每个数值转换成字符,存在其中

init_reg:
		mov bx,data
		mov ds,bx

		mov bx,string
		mov es,bx
		ret
3.处理数值(外循环)

这个函数的作用就是遍历每个给定的数值

show_number:
		mov bx,0
		mov si,9	;es:[si]
		mov di,160*10+30*2

		mov cx,6

;相当于外循环每次处理一个值
shownumber:			
		call show_word
		add di,160	;代表屏幕中显示的位置每次加一行
		add bx,2	;代表data段中的数据每次换成下一个数据
		loop shownumber

		ret
4.除法求余

将给定数值存在ax寄存器当中,然后先将ax赋值给cx,然后判断cx是否为0,每次将余数dx存放到string段中

short_div:
		mov cx,10	;除数
		div cx
		add dl,30h	;dl是余数
		mov es:[si],dl	;放到我们设定好的字段
		mov cx,ax	;判断是否被除到0
		jcxz short_div_ret
		dec si
		mov dx,0	;重置dx(做除法时dx会被改变)
		jmp short_div

short_div_ret:

		ret
5.初始化显示字符

将ds寄存器指向初始好的string段&#x

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

White boy&

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值