实验十 3.数值显示(以下程序附带测试程序)

 ;名称: dtoc
;功能: 将dword型数据转变为表示十进制数的字符串,字符串以0为结尾
;参数: (ax)=dword型数据低字
; (dx)=dword型数据高字
; ds:si指向字符串的首地址
;返回: 无
assume cs:code
data segment
haha dd
tata dd dup(?)
data ends
code segment
main:
mov ax,data
mov ds,ax
mov si,offset haha
mov ax,[si]
add si,
mov dx,[si]
mov si,offset tata
call dtoc
mov dh,
mov dl,
mov cl,
mov si,offset tata
call show_str
mov ax,4c00h
int 21h dtoc:
push bx
push cx
push si
mov bx, ;bx 用于记录最终的位数
r:
mov cx,
call divdw
push cx ;计算余数,商,余数保存入栈
inc bx ;位数增加 cmp dx,
jnz next
cmp ax,
jz ok ;商为0,则跳出r循环
next:
jmp r
ok: mov cx,bx
s: pop ax
add al,30h
mov [si],al
inc si
loop s
mov byte ptr [si],
pop cx
pop bx
pop si
ret divdw:
push bx
mov bx,ax
mov ax,dx
mov dx,
div cx
push ax ;将int(H/N)入栈
mov ax,bx
div cx ;[rem(H/N)*65536+L]/N结果商放在dx中,余数放在ax中
mov cx,dx
pop dx
pop bx
ret show_str:
push cx
push bx
push ax
push dx
push ds
push es
push di ;将要使用到的寄存器入栈 mov ax,0b800h
mov es,ax
mov al,
mul dh
mov bx,ax ;基址赋值
mov al,
mul dl
mov di,ax ;变址赋值 read:
mov ch,[si]
cmp ch,
jz ok2 ;判断是否遇到字符串尾端 mov ah,cl
mov al,[si]
mov es:[bx+di],ax
inc di
inc di ;指向下一个屏幕显示位置
inc si ;指向下一个字符
jmp read
ok2:
pop di
pop es
pop ds
pop dx
pop ax
pop bx
pop cx ;使用到的寄存器出栈
ret code ends
end main

王爽<汇编语言>实验十的更多相关文章

  1. 王爽<<汇编语言>> 实验十四

    ;以"年/月/日 时:分:秒"的格式, 显示当前的日期, 时间 assume cs:code code segment main: out 70h,al ;告诉CMOS RAM将要 ...

  2. 王爽< 汇编语言>实验十二

    ;此乃安装程序 ;功能:将8086cpu中断类型码为0 的中断向量设置为我们编写的中断服务程序入口地址 ;该中断在除法发送溢出的时候产生 assume cs:code code segment mai ...

  3. 王爽<汇编语言>实验十一 (附测试代码)

    ;名称: letterc ;功能: 将以0为结尾的字符串中的小写字母转变成大写字母 ;参数: ds:si指向字符串首地址 assume cs:code data segment db data end ...

  4. 王爽汇编语言(第三版)环境搭建(附PDF及工具下载)

    一.前言 最近在学习汇编语言,使用的是读者评价非常高的王爽老师写的<汇编语言>(第三版),为了适应现在各个版本的windows操作系统,所以采用VMWare虚拟机来搭建纯DOS环境. 二. ...

  5. 201671010438王奕晗实验十四 团队项目评审&课程学习总结

    个人学习总结博客 项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 作业链接地址 作业学习目标 完成个人软件心得总结 一.结合本学期课程学习内容,对比<实验一 软件工 ...

  6. 王爽-汇编语言-综合研究四-不使用main函数编程

    (一) 研究目的 使用C语言编程,我们一定要使用main函数么? (二) 研究过程 1) 最初的程序 首先,我们编写一个不写main函数的C语言程序. 程序如下: 在编译的过程中,没有发现错误.在链接 ...

  7. 王爽-汇编语言-综合研究一-搭建简易C环境

    (一) 学习过程: 整个过程分为两个部分: 第一:将TC2.0的环境使用虚拟软盘复制到DOS虚拟机中: 打开WinImage,fileànew,由于TC2.0的环境解压后为2.02M,所以我们在Sta ...

  8. 关于《汇编语言(王爽)》程序6.3使用16个dw 0的问题

    在学习王爽老师<汇编语言>的第6.2节时,在程序6.3代码中,给出了如下的代码: assume cs:code code segment dw 0123h, 0456h, 0789h, 0 ...

  9. Linux下学习王爽老师的汇编语言

    坐起来非常容易,找到这条路确实非常曲折,为了后来的同志们不再纠结,特记录如下: 这几天看汇编语言时,很多人都推荐王爽老师的<汇编语言>,老师的书的确写的很好,但是讲的是ms的汇编,但是总不 ...

随机推荐

  1. 读IT小小鸟有感

           第一次阅读<我是一只IT小小鸟>是在老师的推荐下的,我是一名软工大一新生,那天在课堂上听到了这本书,由于是10年前的老书,要找到它非常不易,终于在网上看到一些部分电子档.   ...

  2. X3850M2安装CertOS 7 KVM 2--DMMP

    1,在DS8000中调整vg为单台服务器.检查另一台服务器内已经没有磁盘信息. 2,在余下的服务器中安装DMMP. 参考:http://edwin-wang.com/2012/08/device-ma ...

  3. Excel的python读写

    实际工作中可能需要整理一些文档,或者记录一些数据,这时候使用python来操作Excel可能会帮得上你. 读操作: # encoding : utf-8 #设置编码方式 import xlrd #导入 ...

  4. 服务器列表里找不到OracleOraDb10g_home1TNSListener

    先安装的ORACLE DB,后配置的数据库,TNSNAMES.ORA, LISTENER.ORA配置完毕,客户端连接不上TNS服务器,发现服务列表里没有OracleOraDb10g_home1TNSL ...

  5. alpha值的问题

    但凡图像都会涉及到透明度问题.使用透明度之后就可以看到多层图像.Alpha值就是用于描述透明度的参量.Alpha值是一个百分数,alpha=1表示源文件发出的光全部被观察者观察到. 既然是透明度,那么 ...

  6. 第三次作业 GIThub操作

    一.Git 客户端操作 1.在project文件夹初始化一个repository 2.添加并提交readme.txt 3.修改并查看状态 4.多次修改并提交 5.创建分支mv1并checkout至该分 ...

  7. java经典题目

    /***********Ryear.java begin********************/ import java.util.Scanner;public class Ryear { /** ...

  8. SpringMvc静态资源加载出错

    使用mvc:resource配置 web.xml配置是rest风格的/ 服务器启动没问题 访问地址是报404 另外用了default-servlet的方法加载,服务器启动没错,jsp页面加载静态资源要 ...

  9. calender 软文

    http://www.cnblogs.com/cloudgamer/archive/2008/08/23/1274459.html

  10. [原创]IIS7.5下配置ASP+PHP环境及错误处理(0xc0000135)

    IIS7.5下配置ASP+PHP环境及错误处理(0xc0000135) http://user.qzone.qq.com/93701178/blog/1398155812 操作系统更新至Win7或Wi ...