汇编程序 给定三个无符号数,求出最大值,并将最大值存入max单元,并在屏幕显示
data segment
max dw ?
num dw 35h,34h,33h
ends
code segment
start:
mov ax, data
mov ds, ax
mov es, ax
mov si,0
mov ax,num[si]
mov bx,num[si+2h]
cmp bx,ax
jnl p1 ;第二个数字比第一个大
mov bx,num[si+4h]
cmp bx,ax
jnl print ;第三个数字最大
xchg bx,ax
jmp print ;第一个数字最大
p1:;第二个数字比第一个大的情况
mov ax,num[si+4h]
cmp bx,ax
jnl print ;第二个数字最大
xchg bx,ax
jmp print ;第三个数字最大
print: ;在屏幕显示
mov max,bx
mov dx,max
mov ah,02h
int 21h
mov ax, 4c00h
int 21h
ends
end start
输出结果为
因为汇编在屏幕不能直接输出数字,只能转换成ascii字符。
输出方式大概有以下几种
字符或者ascii码:
mov dl,‘A’
mov ah,02h
int 21h
mov dl,31h
mov ah,02h
int 21h
如果是字符串:
mov dx,…(字符串首地址)
mov ah,09h
int 21h