汇编作业

本文提供了三个汇编语言程序实例,分别涉及比较有符号数、查找数组中的最大值以及处理字符串。程序A实现了比较两个字节变量X和Y并把较大者存入Z;程序B在BUF数组中找出最大无符号数并存储到MAX单元;程序C展示了一个将字符串中的小写字母转换为大写的程序,同时在CRT上显示。这些程序展示了汇编语言在基本操作和字符串处理上的应用。
摘要由CSDN通过智能技术生成

编程题A-3:设有三个字节变量Ⅹ、Y、Z,试找出X、Y有符号数中较大者送入Z中,编写程序。

DATA SEGMENT
    X DB 080H   ;NEG 
    Y DB 7FH        ;POS 
    Z DB 0
DATA ENDS
CODE SEGMENT
    ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
        MOV DS,AX
        MOV AL,X
        CMP AL,Y  ;X COMPARE WITH Y    
        JGE NEXT  ;X>=Y,Y->Z
        MOV AL,Y
NEXT:MOV Z,AL
     MOV AH,4CH
     INT 21H       
CODE ENDS
END START

编程题B-3:在以BUF为首址的字节单元中存放了 CoUnT个无符号数,编写程序找出其中最大数送MAX单元。

DATA SEGMENT
BUF DB 21,35,45,65,98,13,34,10
COUNT EQU $-BUF
MAX DB 0
DATA ENDS
CODE SEGMENT
    ASSUME CS:CODE,DS:DATA
    START:MOV AX,DATA
    MOV DS,AX
    MOV CX,COUNT
    MOV AL,0       ;AL--MAX NUM,INIT 0
ALOOP:MOV SI,CX
      DEC SI    
      CMP AL,BUF[SI];COMPARE WITH AL FROM LAST TO HEAD
      JAE GOON
      MOV AL,BUF[SI]
GOON:LOOP ALOOP
MOV MAX,AL
MOV AH,4CH    ;code end function number
INT 21H
CODE ENDS 
END START  

编程题C-1:已知在以BUF为首地址的字节存储区中,存放着一个以$作结束标志的字符串,试编写程序,在CRT上显示该字符串,并要求将小写字母以大写字母形式显示出来

DATA SEGMENT
    BUF DB 'acEARN$'   
DATA ENDS
CODE SEGMENT
    ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
    MOV DS,AX
    MOV SI,0         ;BUF POINT ADRESS
ALOOP: MOV DL,BUF[SI] ;BUF'S DATA->DL
        CMP DL,'$';DL='$',EXIT
        JE STOP
        CMP DL,5AH ;Z
        JBE UPPER ;PRINT UPPER WORD,SI++
        SUB DL,20H ;PRINT LOWER WORD AFTER DL - 20H,SI++
UPPER: MOV AH,02H
       INT 21H
       INC SI
       JMP ALOOP
STOP: MOV AH,4CH
      INT 21H
CODE ENDS
END START
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值