c.asm
来自「这个程序是我们的大作业,里面有语法分析,词法分析,四原式等等,里面有具体内容和事」· 汇编 代码 · 共 186 行
ASM
186 行
da segment
data dw 300 dup(?)
a dw ?
b dw ?
i dw ?
da ends
code segment
assume cs:code,ds:da
main proc far
start:mov dx,da
mov ds,dx
j0:
mov dx,0
mov i,dx
j1:
mov dx,0
mov a,dx
j2:
mov dx,0
mov b,dx
j3:
mov dx,i
cmp dx,10
jbe jj31
mov dx,0
jmp jj32
jj31:
mov dx,1
jj32:
mov bx,3
mov ax,4
push(dx)
mul bx
pop(dx)
mov bx,ax
mov data[bx],dx
j4:
mov bx,3
mov ax,4
push(dx)
mul bx
pop(dx)
mov bx,ax
cmp data[bx],1
jz j5
jmp j15
j5:
mov dx,i
cmp dx,5
jbe jj51
mov dx,0
jmp jj52
jj51:
mov dx,1
jj52:
mov bx,5
mov ax,4
push(dx)
mul bx
pop(dx)
mov bx,ax
mov data[bx],dx
j6:
mov bx,5
mov ax,4
push(dx)
mul bx
pop(dx)
mov bx,ax
cmp data[bx],1
jz j7
jmp j10
j7:
mov dx,a
add dx,i
mov bx,7
mov ax,4
push(dx)
mul bx
pop(dx)
mov bx,ax
mov data[bx],dx
j8:
mov bx,7
mov ax,4
push(dx)
mul bx
pop(dx)
mov bx,ax
mov dx,data[bx]
mov a,dx
j9:
jmp j12
j10:
mov dx,b
add dx,i
mov bx,10
mov ax,4
push(dx)
mul bx
pop(dx)
mov bx,ax
mov data[bx],dx
j11:
mov bx,10
mov ax,4
push(dx)
mul bx
pop(dx)
mov bx,ax
mov dx,data[bx]
mov b,dx
j12:
mov dx,i
add dx,1
mov bx,12
mov ax,4
push(dx)
mul bx
pop(dx)
mov bx,ax
mov data[bx],dx
j13:
mov bx,12
mov ax,4
push(dx)
mul bx
pop(dx)
mov bx,ax
mov dx,data[bx]
mov i,dx
j14:
jmp j3
j15:
mov dx,a
add dx,b
mov bx,15
mov ax,4
push(dx)
mul bx
pop(dx)
mov bx,ax
mov data[bx],dx
j16:
mov bx,15
mov ax,4
push(dx)
mul bx
pop(dx)
mov bx,ax
mov bx,data[bx]
mov ah,02h
mov cx,4
mov dl,bh
shr dl,cl
call putdl
mov dl,bh
shl dl,cl
shr dl,cl
call putdl
mov dl,bl
shr dl,cl
call putdl
mov dl,bl
shl dl,cl
shr dl,cl
call putdl
j17: mov ah,4ch
int 21h
main endp
putdl proc near
mov ah,2
cmp dl,9
jbe put1
sub dl,10d
add dl,'a'
int 21h
ret
put1:
add dl,'0'
int 21h
ret
putdl endp
code ends
end start
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?