请帮忙写一汇编程序

来源:百度知道 编辑:UC知道 时间:2024/05/12 06:18:05
(1)从键盘上输入3个1位十进制数,选出其中最小的显现出来
(2)已知DATA单元开始存放三个带符号的数,判断其是否同号,同号位正显示“+”,异号为复,显示“-”则显示“”

;(1)从键盘上输入3个1位十进制数,选出其中最小的显现出来
code segment
assume cs:code
org 100h
start:
push cs
pop ds
call @IN
mov dl,al
call @IN
mov dh,al
call @IN
cmp dl,dh
jbe @1
xchg dl,dh
@1:cmp dl,al
jbe @2
mov dl,al
@2:
mov ax,0e0dh
int 10h
mov al,0ah
int 10h
mov al,dl
int 10h
mov ah,0
int 16h
mov ah,4ch
int 21h

@IN:
mov ah,0
int 16h
cmp al,'0'
jb @IN ;这里原来写错了
cmp al,'9'
ja @IN
mov ah,0eh
int 10h
ret

code ends
end start
;(2)已知DATA单元开始存放三个带符号的数,判断其是否同号,
;同号位正显示“+”,异号为复,显示“-”则显示“”
;
dat1 segment
data db 78,-5,10
n1 db 0 ;正数计数
n2 db 0 ;负数计数
dat1 ends

code segment
assume cs:code,ds:dat1
start:
mov ax,dat1
mov ds,ax
cld
lea si,data
mov cx,3