云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 汇编语言实验报告

汇编语言实验报告

  • 62 次阅读
  • 3 次下载
  • 2025/5/7 12:03:52

3. 数值显示:将二进制数据用十进制显示到屏幕 子程序描述: 名称:dtoc

功能:将word型数据转变为表示十进制的字符串,字符串以0结尾。 参数:(ax)=word型数据

ds:si指向字符串的首地址 返回:无

应用举例:编程将数据12666以十进制的形式在屏幕的8行3列,用绿色显示出来。

assume cs:code data segment

db 10 dup (0) data ends

code segment start:

mov ax,12666 ;把被除数看作是32位 mov bx,data mov ds,bx mov si,0 call dtoc

mov dh,8 mov dl,3 mov cl,2

call show_str

mov ax,4c00h int 21h

dtoc:mov bx,10 ;设置除数为10

mov dx,0 ;设置被除数的高位为0

mov cx,ax ;将除法运算后的商存入cx,jcxz跳转据此实现 div bx jcxz dtoc1

inc di ;记录字符个数 add dx,30h ;将余数转化为字符

push dx ;将dx入栈,保证输出的结果是正确的

jmp dtoc

dtoc1:mov cx,di ;将字符数目存入cx,依次决定写入的循环次数

dtoc2:pop dx ;将dx出栈,最先出栈的是最后存入的字符 mov ds:[si],dx;将dx写入数据区域 inc si ;指向下一个单元

loop dtoc2

mov [si],0 ;设置字符串的结尾符0 ret

show_str: mov ax,160 mul dh mov bx,ax mov ax,2 mul dl add bx,ax mov ax,0B800H mov es,ax mov dl,cl mov cl,0 mov si,0 show0:

mov ch,ds:[si] jcxz end1

mov byte ptr es:[bx],ch mov byte ptr es:[bx+1],dl add bx,2 inc si jmp show0 end1: ret

code ends end start

实验11 编写子程序

编写一个子程序,将包含任意字符,以0结尾的字符串中的小写字母转换成大写字母。 子程序描述如下: 名称:letterc

功能:将以以0结尾的字符串中的小写字母转换成大写字母 参数:ds:si指向字符串首地址

assume cs:codesg

datasg segment

db \

datasg ends

codesg segment

begin:mov ax,datasg mov ds,ax mov si,0 call letterc

mov ax,4c00h int 21h

letterc:mov ch,0 ;将寄存器cx的高位置为0 mov cl,ds:[si] ;将ds段中的字符存入cl cmp cl,97 jb s0

cmp cl,122

ja s0 ;判断读入的字符的ASCII码是否在97-122之间,如果是即为 and cl,11011111b ;小写字母

mov ds:[si],cl ;将二进制位的第五位置为0,使得小写字母变大写字母 s0: inc si ;将si自增,指向下一个字符

jcxz end1 ;通过判断读入的字符是否为0,来确定是否结束循环 jmp letterc end1: ret

codesg ends end begin

搜索更多关于: 汇编语言实验报告 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

3. 数值显示:将二进制数据用十进制显示到屏幕 子程序描述: 名称:dtoc 功能:将word型数据转变为表示十进制的字符串,字符串以0结尾。 参数:(ax)=word型数据 ds:si指向字符串的首地址 返回:无 应用举例:编程将数据12666以十进制的形式在屏幕的8行3列,用绿色显示出来。 assume cs:code data segment db 10 dup (0) data ends code segment start: mov ax,12666 ;把被除数看作是32位 mov bx,data mov ds,bx mov si,0 call dtoc <

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com