该如何选择深圳网站建设公司,中小型电子商务网站,あかねさす少女免费,网页特效管理系统实验十 3.数值显示(以下程序附带测试程序) 1 ;名称: dtoc2 ;功能: 将dword型数据转变为表示十进制数的字符串,字符串以0为结尾3 ;参数: (ax)dword型数据低字4 ; (dx)dword型数据高字5 ; ds:si指向字符串的首地址6 ;返回: 无7 assume cs:code8 data segment9…实验十 3.数值显示(以下程序附带测试程序) 1 ;名称: dtoc2 ;功能: 将dword型数据转变为表示十进制数的字符串,字符串以0为结尾3 ;参数: (ax)dword型数据低字4 ; (dx)dword型数据高字5 ; ds:si指向字符串的首地址6 ;返回: 无7 assume cs:code8 data segment9 haha dd 429496729510 tata dd 16 dup(?)11 data ends 12 code segment13 main:14 mov ax,data15 mov ds,ax16 mov si,offset haha17 mov ax,[si]18 add si,219 mov dx,[si]20 mov si,offset tata21 call dtoc22 mov dh,1223 mov dl,3024 mov cl,125 mov si,offset tata26 call show_str27 mov ax,4c00h28 int 21h29 30 dtoc:31 push bx32 push cx33 push si34 mov bx,0 ;bx 用于记录最终的位数35 r: 36 mov cx,1037 call divdw38 push cx ;计算余数,商,余数保存入栈39 inc bx ;位数增加40 41 cmp dx,042 jnz next43 cmp ax,0 44 jz ok ;商为0,则跳出r循环45 next:46 jmp r47 ok: mov cx,bx48 s: pop ax49 add al,30h50 mov [si],al51 inc si52 loop s53 mov byte ptr [si],054 pop cx55 pop bx56 pop si57 ret58 59 divdw:60 push bx 61 mov bx,ax62 mov ax,dx63 mov dx,064 div cx65 push ax ;将int(H/N)入栈66 mov ax,bx67 div cx ;[rem(H/N)*65536L]/N结果商放在dx中,余数放在ax中68 mov cx,dx69 pop dx70 pop bx71 ret72 73 show_str:74 push cx75 push bx76 push ax77 push dx78 push ds79 push es80 push di ;将要使用到的寄存器入栈81 82 mov ax,0b800h83 mov es,ax84 mov al,16085 mul dh86 mov bx,ax ;基址赋值87 mov al,288 mul dl89 mov di,ax ;变址赋值90 91 read: 92 mov ch,[si]93 cmp ch,0 94 jz ok2 ;判断是否遇到字符串尾端95 96 mov ah,cl 97 mov al,[si]98 mov es:[bxdi],ax99 inc di
100 inc di ;指向下一个屏幕显示位置
101 inc si ;指向下一个字符
102 jmp read
103 ok2:
104 pop di
105 pop es
106 pop ds
107 pop dx
108 pop ax
109 pop bx
110 pop cx ;使用到的寄存器出栈
111 ret
112
113 code ends
114 end main 转载于:https://www.cnblogs.com/linyuzhaozhao/p/4172792.html