王爽《汇编语言》第10章 实验10 编写子程序
来源:互联网 发布:dos 网络映射命令例子 编辑:程序博客网 时间:2024/05/20 19:47
花了三个多小时写出来的东西,真费劲。。。接下来就是本书的两个课程设计之一。
assume cs:codedata segment db 'Welcome to masm!',0data endsnumberdata segment dw 123,12666,1,8,3,38numberdata endscode segmentstart: ;测试显示函数 mov dh,8 mov dl,3 mov cl,2 mov ax,data mov ds,ax mov si,0 call show_str ;测试除法 mov ax,0FFFFH mov dx,0FFFFH mov cx,0FH call divdw ;测试数据转字符 mov ax,data mov ds,ax mov si,0 mov ax,numberdata mov es,ax mov ax,es:[0] call dtoc mov ax,4c00h int 21hdtoc: ;功能:将word型数据转变为表示十进制数的字符串,字符串以0为结尾符 ;参数:(ax)=word型数据 ; ds:si指向字符串首地址 (‘0’:30H,‘9’:39H) push bx push cx push si mov dx,0 k: mov cx,ax jcxz r mov cx,10 call divdw mov bx,30H add bx,cx mov ds:[si],bx inc si loop k r: pop si pop cx pop bx ret divdw: ;功能:进行不会产生溢出的除法运算,被除数为dword型 ; 除数为word型,结果为dword型 ;参数:(ax)=dword型数据的低16位 ; (dx)=dword型数据的高16位 ; (cx)=除数 ;返回:(dx)=结果的高16位,(ax)=结果的低16位,(cx)=余数 push bxpush dxpush di push si ;先算00ax/cx商si余数di,再算00dx/cx商bx余数为dx,然后算dxdi/cx余数dx mov bx,dx mov dx,0 div cx mov di,dx;余数最大为cx-1 mov si,ax;商最大为 0000 FFFF mov ax,bx mov dx,0 div cx ; bx00/cx mov bx,ax;商最大为 0000 FFFF ;余数dx最大为 cx-1 mov ax,di div cx ; dxdi/cx add si,ax;商最大为 0000 FFFF, si不可能溢出 mov cx,dx mov dx,bx mov ax,si pop si pop dipop dxpop bx ret show_str: ;功能: 在指定的位置,用指定的颜色, ; 显示一个用0结束的字符串 ;参数: (dh)=行号(0~24),(dl)=列号(0~79), ; (cl)=颜色,ds:si字符串首地址 ;返回:无 push ax push bx push cx push dx push es push si ;确定输出第一个偏移位置bx mov ax,0B800H mov es,ax mov al,dh mov ah,160 mul ah mov dh,0 add ax,dx add ax,dx mov bx,ax mov ah,cl ;颜色保存在高位 mov ch,0 s: mov cl,ds:[si] jcxz ok mov al,cl mov es:[bx],ax add bx,2 inc si jmp short s ok: pop si pop es pop dx pop cx pop bx pop ax ret code endsend start
- 王爽《汇编语言》第10章 实验10 编写子程序
- 王爽《汇编语言》实验10:编写子程序show_str
- 王爽《汇编语言》实验10:编写子程序show_str 解答
- 王爽《汇编语言》实验10:编写子程序divdw 解答
- 王爽《汇编语言》实验10:编写子程序dtoc 解答
- 王爽 汇编语言 第三版 实验10 编写子程序
- 王爽《汇编语言》实验10:编写子程序divdw 解答
- 1.显示字符串-汇编语言(王爽)-实验10 编写子程序
- 3.数值显示-汇编语言(王爽)-实验10 编写子程序
- 汇编语言(王爽)实验十 编写子程序
- 实验10 编写子程序
- 汇编语言 第三版 王爽 实验10-1 编写子程序 之 显示字符串
- 汇编语言 第三版 王爽 实验10-2 编写子程序 之 解决除法溢出问题 divdw
- 2.解决除法溢出问题-汇编语言(王爽)-实验10 编写子程序
- 王爽《汇编语言》实验11:编写子程序letterc 解答
- 王爽《汇编语言》实验11——编写子程序
- 汇编语言--王爽--实验9 子程序
- 实验10:编写子程序之显示字符串
- iOS核心系统编程最佳实践:安全
- 程序员的成长从开窍开始
- c语言 printf()输出格式控制
- dedecms系统5.7版本中utf-8版验证码无法显示解决
- PHP中并发的使用
- 王爽《汇编语言》第10章 实验10 编写子程序
- 使用js实现贪吃蛇的部分功能
- 遇到的一些算法题
- 黑客与网警的较量
- Qt显示中文(包括QMessageBox、文本框右键菜单等)
- SAX 指定位置添加节点
- jpeg图像的压缩编码与解码
- 一种不安装JRE环境即可运行Java应用程序的方法
- Ubuntu应用Wireshark打开失败的解决办法