主题:这个错在哪里?
把15和48相加,然后以10进制的方式显示出来
data segment
list1 db 15
db 48
db ?
list2 db 20,53,?
data ends
stack1 segment stack
dw 64 dup(?)
stack1 ends
code segment
main proc far
assume cs:code ,ds:data,ss:stack1,es:nothing
mov ax,data
mov ds,ax
xor ax,ax
lea si,list1
mov al, list1
add al,[si+1]
mov [si+2],al
lea si,list2
mov al,list2
add al,[si+1]
mov [si+2],al
mov bl,list1+2
mov bh,0
mov dl,bl
mov ah,2
int 21h
mov dl,'='
mov ah,2
int 21h
call tern
mov ax,4c00h ;返回dos
int 21h ;
main endp
tern proc
mov cl,10
call dec_div
mov cl,1
call dec_div
ret
tern endp
dec_div proc
mov al,bl
mov ah,bh
div cl
mov dl,ah
add dl,30h
mov ah,2
int 21h
ret
dec_div endp
code ends
end main
data segment
list1 db 15
db 48
db ?
list2 db 20,53,?
data ends
stack1 segment stack
dw 64 dup(?)
stack1 ends
code segment
main proc far
assume cs:code ,ds:data,ss:stack1,es:nothing
mov ax,data
mov ds,ax
xor ax,ax
lea si,list1
mov al, list1
add al,[si+1]
mov [si+2],al
lea si,list2
mov al,list2
add al,[si+1]
mov [si+2],al
mov bl,list1+2
mov bh,0
mov dl,bl
mov ah,2
int 21h
mov dl,'='
mov ah,2
int 21h
call tern
mov ax,4c00h ;返回dos
int 21h ;
main endp
tern proc
mov cl,10
call dec_div
mov cl,1
call dec_div
ret
tern endp
dec_div proc
mov al,bl
mov ah,bh
div cl
mov dl,ah
add dl,30h
mov ah,2
int 21h
ret
dec_div endp
code ends
end main