汇编复习Test6

来源:互联网 发布:python做有趣的事 编辑:程序博客网 时间:2024/06/17 12:33
1.编一个程序,从键盘输入一个不长于120个字符的串(回车键结束),然后将其中的字母字符显示输出(在显示输出前,补充输出回车换行)。DATAS SEGMENT    string db 120,?,121 dup('$')DATAS ENDSSTACKS SEGMENT    ;此处输入堆栈段代码STACKS ENDSCODES SEGMENT    ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:    MOV AX,DATAS    MOV DS,AX    MOV AH,0AH    lea dx,string    INT 21H    MOV AH,02H    MOV DL,0DH    INT 21H    MOV AH,02H    MOV DL,0AH    INT 21H    lea SI,string    MOV CH,0    MOV CL,[SI+1]    ADD SI,2ag:    MOV DL,[SI]    cmp dl,41H    JB exit    cmp dl,5AH    jbe output    cmp dl,61H    JB exit    cmp dl,7AH    ja exitoutput:    mov ah,02h    INT 21Hexit:    inc SIloop ag        MOV AH,4CH    INT 21HCODES ENDS    END START2. 编一个程序完成从键盘上输入一个4位的16进制数,并以八进制形式显示出来。3. 在首地址为DATA的字数组中,存放了100H个16位补码数,编一个子程序,找出其中的最小数,并存入AX寄存器中。4.已知数据块BUF中存放3个字数据,是编写一个程序判断这3个数的关系:如果3个数相等,则显示“All  equal.”;如果有任意两个数相等,则显示“Only two equal.”;如果三个数各不相同,则显示“All three different from each other.”。DATAS SEGMENT    BUF DW 5h,5h,5h    STRING1 db 'All  equal.',0dh,0ah,24h    STRING2 db 'Only two equal.',0dh,0ah,24h    STRING3 db 'All three different from each other.',0dh,0ah,24hDATAS ENDSCODES SEGMENT    ASSUME CS:CODES,DS:DATASSTART:    MOV AX,DATAS    MOV DS,AX    LEA SI,BUF    MOV AX,[SI]     MOV BX,[SI+2]     MOV DX,[SI+4]    CMP AX,BX    JE cmp1    CMP AX,DX    JE cmp11    CMP BX,DX    MOV AH,09H    LEA DX,STRING3    INT 21h    jmp exitcmp11:    MOV AH,09H    LEA DX,STRING2    INT 21hexit2:    jmp exitcmp1:    CMP AX,DX    JZ cmp21    MOV AH,09H    LEA DX,STRING2    INT 21h    jmp exitcmp21:    MOV AH,09H    LEA DX,STRING1    INT 21hexit:    MOV AH,4CH    INT 21HCODES ENDS    END START5.Link指向一个字线性表,其中的首单元保存线性表的长度,编一个程序,将该线性表中的奇数项删除。DATAS SEGMENT    LINK DW 10,1h,2h,3h,4h,5h,6h,7h,8h,9h,10h  DATAS ENDSSTACKS SEGMENT    ;此处输入堆栈段代码STACKS ENDSCODES SEGMENT    ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:    MOV AX,DATAS    MOV DS,AX    LEA DI,LINK    MOV CX,[DI]    ADD DX,2ag:    push cx    dec cx    mov si,dxyidong:    mov AX,[si+2]    mov [si],AX    add si,2loop yidong     add dx,2    pop cx    inc cxloop ag    MOV AH,4CH    INT 21HCODES ENDS    END START
原创粉丝点击