;3
data segment
data1 db 'asdfdkfFOCNeko'
length equ $-data1
data ends
code segment
assume cs:code,ds:data,ss:stack,es:data
start: mov ax,data
mov ds,ax
mov cx,length
lea si,data1
mov al,[si]
call trans
mov ah,4ch
int 21h
trans proc
push si
push ax
push cx
lp:
cmp al,61h
jb next
cmp al,7ah
ja next
sub al,20h
mov [si],al
next:
inc si
mov al,[si]
loop lp
return:
pop cx
pop ax
pop si
ret
trans endp
code ends
end start
;7
data segment
valu db 6 ;8
result db 0
data ends
code segment
assume cs:code,ds:data,ss:stack
start: mov ax,data
mov ds,ax
mov ax,1
mov bx,1
mov cl,valu
cmp cl,2
jb exit1
call fib
jmp exit
exit1:
mov ax,1
exit:
mov result,al
mov ah,4ch
int 21h
;ax作为n-1,bx作为n-2
;cx代表
fib proc
push cx
cmp cl,2
ja next_layer
jmp return
next_layer:
dec cx
call fib
add bx,ax
xchg ax,bx
return:
pop cx
ret
fib endp
code ends
end start