汇编程序 给定三个无符号数,求出最大值,并将最大值存入max单元,并在屏幕显示

本文介绍了一个使用汇编语言编写的简单程序,该程序用于比较三个十六进制数的大小,并将最大的数值输出到屏幕上。由于汇编语言直接操作硬件,故输出数字需转换为ASCII码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值