汇编语言程序设计-课程设计资料(2)

2019-01-19 12:02

mov cl,00000111b call show_str

pop cx ;这两段输出平均收入

add si,4 add bx,2 inc dh inc ax

loop so ;循环21次,增加参数

mov ax,4c00h int 21h ;名称:ice

;功能:在ds:si开始,以“数据”“0”的格式用新数据替换旧数据(即年份字符串) ;参数:(ax)=word型的数据,es:si指向字符串的首地址 ;返回:无

;说明:把字符串的年份转化为word型数据,并以0结尾,方便dtoc1函数的调用 ice:push bx mov ds:[si],ax mov bx,0 mov ds:[si+2],bx pop bx ret ;名称:dtoc1

;功能:将一个word型数转化为字符串,数应不大于65535 ;参数:(ax)=word型的数据,es:si指向字符串的首地址 ;返回:es:[si]放此字符串,以0结尾

;说明:因为ds放了数据段,为免混淆,把字符串放在es里,下面的函数也相同 dtoc1:push cx push bx push dx mov dx,0 push di push si mov di,0 cir1:mov cx,10 div cx add dx,30h mov bx,dx push bx inc di mov dx,0 mov cx,ax jcxz ow jmp short cir1 ow:mov cx,di s:pop bx mov es:[si],bx

inc si loop s pop si pop di pop dx pop bx pop cx ret ;名称:dtoc2

;功能:将一个dword型数转化为字符串,数不应大于FFFFFFFFFFFFFFFF ;参数:(ax)=dword型的数据的低16位,(dx)=dword型的数据的高16位,es:si指向字符串的首地址

;返回:es:[si]放此字符串,以0结尾 dtoc2:push cx push bx push si push di mov di,0 cir2:mov cx,10 call divdw add cx,30h mov bx,cx push bx inc di

mov bx,dx add bx,ax mov cx,bx jcxz ox jmp short cir2 ox:mov cx,di s8:pop bx mov es:[si],bx inc si loop s8 pop di pop si pop bx pop cx ret ;名称:divdw

;功能:除法,被除数32位,除数16位,商32位,余数16位,不会溢出 ;参数:(dx)=被除数高16位,(ax)=被除数低16位,(cx)=除数 ;返回:(dx)=商高16位,(ax)=商低16位,(cx)=余数 divdw:push bx push ax mov ax,dx mov dx,0 div cx

mov bx,ax pop ax div cx mov cx,dx mov dx,bx pop bx ret ;名称:show_str

;功能:在指定的位置,用指定的颜色,显示一个用0结束的字符串

;参数:(dh)=行号(1~25),(dl)=列号(1~80),(cl)=颜色,es:si指向字符串的首地址 ;返回:无 show_str:push di push si mov di,0 push ax push dx dec dh

dec dl ;这里采用习惯上的叫法,放在显示缓冲区最开头就是1行1列

mov al,160 ;1行80个字符,一个字符2个字节 mul dh

add dl,dl ;一个字符2个字节 mov dh,0


汇编语言程序设计-课程设计资料(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:电气配管作业指导书

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: