汇编程序36:课程设计1简单分析程序(非全)

 1 assume cs:code,ds:data,ss:stack
 2 //①实现32位/16位非溢出②十六进制传十进制并保存显示
 3 data segment
 4     dd 123456h,7891011h,12131415h
 5 data ends
 6 
 7 stack segment
 8     dd 16 dup(0)
 9 stack ends
10 
11 code segment
12     start:
13           mov ax,data
14           mov ds,ax //定位数据段
15           mov ax,0020h
16           mov es,ax //临时储存段
17           mov ax,stack
18           mov ss,ax
19           mov sp,20h //定位栈段
20           mov si,0 //遍历每个数据开始
21           mov di,0 //转化成的数字串遍历
22           mov cx,03h //需要转化3个字符
23         s:
24           push cx
25           mov dx,ds:[si+2] 
26           mov ax,ds:[si]
27           mov bp,1
28           mov cx,0ah
29        s1:
30           call spi_div //非溢出除法
31           push cx //对每次运算余数压栈
32           push dx
33           push ax
34           add ax,dx //把低位与高位数相加,溢出?
35           mov cx,ax 
36           jcxz s2 //判断商是否为0,为0则结束除
37           mov cx,0ah
38           inc bp
39           pop ax
40           pop dx
41           jmp short s1 //持续除10,取余
42        s2:
43           pop ax
44           pop dx
45           call dis_tra //显示字符串
46           add si,4
47           pop cx
48           loop s
49           call copy_to //复制到目的地
50           mov ax,4c00h
51           int 21h
52   spi_div:
53           push ax
54      main:
55           mov ax,dx
56           mov dx,0
57           div cx
58           mov bx,ax
59           pop ax
60           div cx
61           mov cx,dx
62           mov dx,bx
63        ok:
64           ret
65   dis_tra:
66           pop bx
67           mov cx,bp
68     main1:
69           pop ax
70           add al,30h
71           mov byte ptr es:[di],al
72           inc di
73           loop main1
74       ok1:
75           push bx
76           ret
77   copy_to:
78           mov si,0
79           mov cx,di
80        s3:
81           mov al,es:[si]
82           mov ds:[si],al
83           inc si
84           loop s3
85       ok2:
86           ret
87 code ends
88 
89 end start

 

posted on 2018-02-02 18:20  叶倾仙  阅读(157)  评论(0编辑  收藏  举报

导航