zoukankan      html  css  js  c++  java
  • 汇编第五章作业

    5.1小写变大写

    DATA SEGMENT
    MEG  DB 'Please enter a lowercase letter:$'
    DATA ENDS
    CODE SEGMENT
    ASSUME CS:CODE,DS:DATA
    START:
    MOV AX,DATA
    MOV DS,AX
    MOV AH,9
    MOV DX,OFFSET MEG
    INT 21H
    XOR AH,AH
    MOV AH,1;输出放al
    INT 21H
    SUB AL,20H
    MOV DL,AL
    MOV AH,2
    INT 21H
    MOV AH,4CH
    INT 21H
    CODE ENDS
    END START

     5.2:编写程序,从键盘接收一个小写字母,然后找出它的前导字符和后续字符

    DATA SEGMENT
    MES DB 'Please enter a lowercase letter:$'
    DATA ENDS
    CODE SEGMENT
    ASSUME DS:DATA,CS:CODE
    START:
    MOV AX,DATA
    MOV DS,AX

    MOV DX,OFFSET MES
    MOV AH,9
    INT 21H

    MOV AH,1
    INT 21H

    MOV BL,AL
    SUB BL,1

    MOV DL,BL
    MOV AH,2
    INT 21H

    ADD AL,1
    MOV DL,AL
    MOV AH,2
    INT 21H

    XOR BL,BL
    MOV BL,AL
    ADD BL,1

    MOV DL,BL
    MOV AH,2
    INT 21H

    MOV AH,4CH
    INT 21H
    CODE ENDS
    END START

     5.3将AX寄存器中的16位数据分成4组(从高到低),每组4位,然后把这4组数作为数当中的低4位分别放在AL,BL,CL,DL中。

    DATA SEGMENT

    DATA ENDS
    CODE SEGMENGT
    ASSUME CS:CODE,DS:DATA
    START:
    MOV AX,DATA
    MOV DS,AX
    MOV BX,AX
    MOV DX,AX

    MOV CL,4
    SHR AH,CL;SHR AL,4不能这么写1以上要用CL
    MOV AL,AH

    AND BH,15;让BH和00001111相与
    MOV BL,BH

    MOV CL,4
    MOV DH,DL;不改变DL的值
    SHR DH,CL;SHR AL,4不能这么写1以上要用CL
    MOV CL,DH

    AND DL,15;让DL和00001111相与


    MOV AH,4CH
    INT 21H
    CODE ENDS
    EDN START

    5.4:输入两个字符串,其中两个字符串的字符数相等。然后比较两个字符串所包含的字符,如果完全相等,则输出‘Match’,否则,输出‘No match’。

    DATA SEGMENT
    MES1 DB 'STRING1:',0AH,0DH,'$'
    MES2 DB 'STRING2:',0AH,0DH,'$'
    STRING1 DB 512 dup('$')
    LEN  EQU $-STRING1
    STRING2 DB 512 dup('$')
    MES3 DB 'MATCH$'
    MES4 DB 'NO MATCH$'
    DATA ENDS
    CODE SEGMENT
    ASSUME CS:CODE,DS:DATA
    START:
    MOV AX,DATA
    MOV DS,AX
    MOV ES,AX
    MOV CX,LEN
    MOV DX,OFFSET MES1
    MOV AH,9
    INT 21H

    MOV DX,OFFSET STRING1
    MOV AH,10
    INT 21H
    mov ah,02h            ;回车换行
            mov dl,0dh
            int 21h
            mov dl,0ah
            int 21h

    MOV DX,OFFSET MES2
    MOV AH,9
    INT 21H

    MOV DX,OFFSET STRING2
    MOV AH,10
    INT 21H
    mov ah,02h            ;回车换行
            mov dl,0dh
            int 21h
            mov dl,0ah
            int 21h
    mov di,offset STRING1
    mov si,offset STRING2
    repz cmpsb    
    JZ A2
    JNZ A3
    A3:
    MOV DX,OFFSET MES4
    MOV AH,9
    INT 21H
    JMP A4
    A2:
    MOV DX,OFFSET MES3
    MOV AH,9
    INT 21H
    A4:
    MOV AH,4CH
    INT 21H
    CODE ENDS
    END START

     5.9:试编写一段程序,从键盘接收一个四位的十六进制数,并在终端上显示与它等值的二 进制数。

    DATA SEGMENT
    MES DB 'Please enter a four-digit hexadecimal number:',0AH,0DH,'$'
    DATA ENDS
    CODE SEGMENT
    ASSUME CS:CODE,DS:DATA
    START:
    MOV AX,DATA
    MOV DS,AX
    MOV DX,OFFSET MES
    MOV AH,9
    INT 21H
    MOV CX,4;循环四次,进行输入
    A1:
    MOV AH,01
    INT 21H
    CMP AL,39H
    JBE A2
    SUB AL,7H
    A2:
    SUB AL,30H
    PUSH CX;压栈保存CX
    MOV CL,4
    SHL BX,CL
    ADD BL,AL
    POP CX
    LOOP A1

    MOV CX,16
    A3:
    SHL BX,1
    JC A4;CF==1
    JNC A5
    A4:
    MOV DL,31H
    MOV AH,02
    INT 21H
    LOOP A3
    A5:
    MOV DL,30H
    MOV AH,02
    INT 21H
    LOOP A3

    MOV AH,4CH
    INT 21H
    CODE ENDS
    END START

  • 相关阅读:
    数据库(2019年10月30日)
    (面试题)反射(2019年10月28日)
    反射(2019年10月28日)
    常微分复习重点
    重要定理及其证明
    实变函数复习重点
    泛函分析重点定理
    自旋玻璃简介
    Fnight博文发布规范
    [分析力学]解题思路
  • 原文地址:https://www.cnblogs.com/kubopiy/p/14251427.html
Copyright © 2011-2022 走看看